Dhcp'deki Static IP'lerin Loglanması (Çözüldü)
-
umarım deneme şansınız olur
ve arkadaşlarda dener olumlu olumsuz dönüş yaparlarsa çok daha iyi yerlere gidecek bence
usb içinde gerekli ayarlamaları ve testleri yaptım mis gibi çalışmakta :)
isteyenlere o kodlarıda yollarım
-
umarım deneme şansınız olur
ve arkadaşlarda dener olumlu olumsuz dönüş yaparlarsa çok daha iyi yerlere gidecek bence
usb içinde gerekli ayarlamaları ve testleri yaptım mis gibi çalışmakta :)
isteyenlere o kodlarıda yollarım
Emegine ve paylaşımın için teşekkürler.
Loglanan dosyanın içerigini ekran görüntüsü ekleyebilirmisiniz ? -
Gayet güzel çalışıyor ellerine sağlık
Usbden log tutan arkadaşlarda aşağıdaki kodu
/sbin dhcplistcronusb.sh nin en alt satırına yazabilirlertarih=
date "+%Y%m%d-%H%M%S"
disks="da0s1"mkdir /var/mountusb
mkdir /var/tiblogfor db in $disks
do
if mount -t msdosfs /dev/$db /var/mountusb; then
logger "/dev/$db USB aygit baglama BASARILIDIR."awk -f /sbin/statikip.sh < /var/dhcpd/etc/dhcpd.conf > /var/tiblog/statiklog-$tarih.txt
mv /var/tiblog/* /var/mountusb
umount /var/mountusb
logger "Kopyalama gerceklestirildi."
else
logger "/dev/$db USB aygit baglanamadi."
fi
donermdir /var/mountusb
rmdir /var/tiblogÖzgür Kalkavan'a yardımlarından dolayı ayrıca teşekkürler.
-
başlangıç bitiş saatleri yok zaten olmasıda mantıksızstatik iplerde böyle bişeye ihtiyaç yok dimi :D
-
güncelleme,
bildiğiniz üzere dhcp loglarının nereye kaç saatte bir kayıt edilecek gibi ayarlarını pfsense arayüzünden yapıyoruz
yukarıdaki işlemleri yaptığınızda static ip leri loglayacaksınız ancak diyelim ki
ayarlarınız değişti. daha sık log almanız lazım ya da tam tersi daha uzun aralıklarla log almanız lazımbu ayarlarla değişiklik yaptığınızda maalesef ki manuel olarak yaptığımız değişiklikler kayboluyor.
bunlarında otomatiğe alınması için
winscp ile bağlanıp
/usr/local/www klasöründen diag_log_setting.php içinde değişiklik yapmamız gerekiyor
bu dosyayı açıp find komutuyla #!/bin/sh satırını bulalım
#!/bin/sh tarih=`date "+%Y%m%d-%H%M%S"` mkdir /var/mountsamba cd /var/mountsamba awk -f /sbin/dhcptibduzenle.sh < /var/dhcpd/var/db/dhcpd.leases > ./dhcplog-\$tarih.txt /usr/local/bin/smbclient \\\\\\\\{$_POST['smbtibyedekip']}\\\\{$_POST['smbtibyedekpaylas']} -U {$_POST['smbtibyedekkullanici']}%"{$_POST['smbtibyedeksifre']}" -W {$_POST['smbtibyedekdomain']} -N -c "prompt; put dhcplog-\$tarih.txt" logger "Windows paylasımına dosya kopyalandı." cd .. rm -rf /var/mountsamba
bu kodun devamına boşluk vererek aşağıdaki kodu yapıştırıyoruz
#!/bin/sh tarih=`date "+%Y%m%d-%H%M%S"` mkdir /var/mountsamba cd /var/mountsamba awk -f /sbin/statikip.sh < /var/dhcpd/etc/dhcpd.conf > ./statiklog-\$tarih.txt /usr/local/bin/smbclient \\\\\\\\{$_POST['smbtibyedekip']}\\\\{$_POST['smbtibyedekpaylas']} -U {$_POST['smbtibyedekkullanici']}%"{$_POST['smbtibyedeksifre']}" -W {$_POST['smbtibyedekdomain']} -N -c "prompt; put statiklog-\$tarih.txt" logger "Windows paylasımına dosya kopyalandı." cd .. rm -rf /var/mountsamba
artık yapacağımız her değişiklikten statiklog ayarlarımız dosya içine otomatik kaydolacaktır :D
herkese iyi çalışmalar -
**Kardeş ellerine sağlık. müsait olduğum en kısa sürede uygulama yapacağım.
Emeği geçen arkadaşlara teşekkürler…**
-
Merhaba,
Birkaç deneme yaptım ve sonuçlarını paylaşmak, katkıda bulunmak istedim.
DHCP ip dağıtımı aktif iken statik olarak tanımlı (mac/ip eşleşme kayıtlı) ise conf dosyasından gerekli değerleri başarılı bir şekilde alıyor. Fakat bazı durumlar var ki bunları göz ardı etmemek lazım diye düşünüyorum (en azından DHCP kullanımı için önemli). Eğer DHCP durdurup daha sonra da MAC/IP eşleşmesinde herhangi bir yeni kayıt ekleme/silme/düzenleme yapılırsa bu dhcpd.conf'a yansımadığı için loglara da düşmemiş oluyor. Bu durumu kullanıcıların dikkate alması lazım çünkü sistemin çalışma mantığı bu. Tekrar DHCP aktif ettiğiniz de son kayıt ekleme/silme/düzemleme işlemlerini dhcpd.conf'a yazıldığı için de aktif oluyor.
Yazarken aklıma gelen bir durumu oluşturabiliriz o da şudur, eğer çalışan process'ler içerisinde dhcpd var ise logların alınmasının sağlanması yukarıdaki durumun karışıklığını önleyebilir. Şunu kullanabiliriz (denendi):
#!/bin/sh SERVIS='sbin/dhcpd' TARIH=`date "+%Y%m%d-%H%M%S"` if ps ax | grep -v grep | grep $SERVIS > /dev/null then echo "$SERVIS calisiyor, loglama yapalim!" awk -f /sbin/statikip.sh < /var/dhcpd/etc/dhcpd.conf > ./staticlog-$TARIH.txt else echo "$SERVIS calismiyor, loglamaya gerek yok!" fi
bunu dhcplistcronsmb.sh içerisine eklerseniz DHCP aktif ise loglama yapar, değilse yapmaz..
-
Ayrıca ikinci bir dhcp log dosyası oluşmasını istemiyorsanız mevcut dhcplistcronsmb.sh dosyanızın içerisin de
awk -f /sbin/dhcptibduzenle.sh < /var/dhcpd/var/db/dhcpd.leases > ./dhcplog-$tarih.txt ile başlayan satırın hemen altına aşağıdaki kodu eklemeniz yeterli:awk -f /sbin/statikip.sh < /var/dhcpd/etc/dhcpd.conf >> ./dhcplog-$tarih.txt
Bu sayede tek log dosyası içerisinde iki farklı ip kaydını da tutabilirsiniz.
NOT: dhcplistcronsmb.sh dosyası diag_log_setting.php tarafından oluşturulmaktadır, ayarlarda değişiklik yapıldığında dosya yeniden oluşturulur. Dolayısı ile diag_log_setting.php'de dhcplistcronsmb.sh'nin oluşturulduğu satırları bularak orada ilgili satıra (yukarıda açıklandığı satıra) eklemeniz daha sağlıklı olacaktır.
Saygılarımla.
-
@AydinY:
DHCP ip dağıtımı aktif iken statik olarak tanımlı (mac/ip eşleşme kayıtlı) ise conf dosyasından gerekli değerleri başarılı bir şekilde alıyor. Fakat bazı durumlar var ki bunları göz ardı etmemek lazım diye düşünüyorum (en azından DHCP kullanımı için önemli). Eğer DHCP durdurup daha sonra da MAC/IP eşleşmesinde herhangi bir yeni kayıt ekleme/silme/düzenleme yapılırsa bu dhcpd.conf'a yansımadığı için loglara da düşmemiş oluyor. Bu durumu kullanıcıların dikkate alması lazım çünkü sistemin çalışma mantığı bu. Tekrar DHCP aktif ettiğiniz de son kayıt ekleme/silme/düzemleme işlemlerini dhcpd.conf'a yazıldığı için de aktif oluyor.
Katkıların için çok teşekkürler bence üzerinde durulması gereken konu ama pek deneyen olmamış sanırım…
forumlarda inceleme yaptığımda herkesin yazdığı şuydu keşke pfsense statik ip'leride tutabilseydi :)alıntı yaptığın kısımda ne demek istediğini tam anlayamadım.
dhcp kapalıykende conf dosyasından verileri almaya devam ediyor gibisinden bişi demek istedin sanırım.. biraz daha açıklarsan sevinirim..
statik ve dinamik loggların hepsini tek dosyaya almışsın gayet başarılı çalışma ama iç yapıya göre değişkenlik gösterebilir..
statik ip log dosyasını ben kendi çalışanlarımızın ip lerini mac bind tanımladığım için ayrı tuttum
dhcp listteki de misafir kullanıcıların dhcp logglarıdır..
ihtiyaca göre ayarlanabilir tabi ki katkıların için çok teşekkürler
-
bunun ftp kuralınıda sizden rica etsem :) mantığı kavradığım ama ne yazarsam yazayım hata dönüyor
-
özelden yazarsan yardımcı olurum
sh ve php dosyaları konamıyor maalesef