Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Dhcp'deki Static IP'lerin Loglanması (Çözüldü)

    Turkish
    7
    13
    12.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hoscakal
      last edited by

      Evet arkadaşlar yanlış okumadınız bu iş artık tamamdır…. az önce bir başlık açmıştım ama olayı tamamen değiştirmiş olup

      dhcp'nin dağıttığı ip'lerin logunu tutabilen arkadaşlar artık dhcp üzerinden statik atanmış ip'lerinde loglarını tutabilecektir

      aşağıdaki kodu notepad'a kopyalayıp farklı kaydet diyerek
      statikip.sh uzantılı olacak şekilde kayıt edelim

      # dhcp.awk
      # awk -f dhcp.awk  < /var/dhcpd/etc/dhcpd.conf
      
      /fixed-address\ / { 
      	sub(";", "", $2);
      	printf("%s\t\t", $2); 	
      }
      
      /hardware\ ethernet\ [^;]*;/ {
      	sub(";", "", $3);
      	printf("%s\t\t", $3);	
      }
      
      /option\ host-name\ / {
      	sub(";", "", $3);
      	printf("%s\r\n", $3);	
      }
      
      

      bu dosyayı winscp yardımıyla sbin klasörünün içine atın

      ve dhcp logunu tuttuğunuzu var sayarak

      sbin/ içinde dhcplistcronsmb.sh dosyasını açın ve

      ve aşağıdaki kodu yapıştırın tek yapmanız gereken koyu yerleri kendinize göre değiştirmeniz

      zaten koyu yerler açtığınız dosyanın içinde yazıyor

      tarih=date "+%Y%m%d-%H%M%S"
      mkdir /var/mountsamba
      cd /var/mountsamba
      awk -f /sbin/statikip.sh < /var/dhcpd/etc/dhcpd.conf > ./staticlog-$tarih.txt
      /usr/local/bin/smbclient \\192.168.1.10\DHCP_LOG -U administrator%"11111" -W  -N -c "prompt; put staticlog-$tarih.txt"
      logger "Windows paylasımına dosya kopyalandı."
      cd ..
      rm -rf /var/mountsamba

      artık dhcplogtarih.txt ve staticlogtarih.txt şeklinde iki yeni dosya oluşturacak her defasında

      staticlogtarih.txt dosyasının içeriği şu şekilde olacak

      mac adres ip adres hostname olarak gözükecektir

      bildiğiniz gibi dhcp ayarlarını
      http://pfsenseip/diag_logs_settings.php sayfasından hallediyorduk tek sıkıntı olabilir burdaki ayarları değiştirdiğinizde bu dosyanın içini kontrol etmek
      test etmedim ama bu sonradan eklediğimiz ayarları silebilir.

      takıldığınız yerlerde yardımcı olacağım inş deneyenler ve geri dönüş yapanlar olur herkese kolay gelsin

      1 Reply Last reply Reply Quote 0
      • T
        tcjackal
        last edited by

        merhaba,
        deneme fırsatım olmamakla birlikte, öncelikle emeğiniz ve paylaşımınız için çok teşekkürler.
        keyifli çalışmalar

        1 Reply Last reply Reply Quote 0
        • H
          hoscakal
          last edited by

          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

          1 Reply Last reply Reply Quote 0
          • S
            StrGt
            last edited by

            @hoscakal:

            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 ?

            1 Reply Last reply Reply Quote 0
            • S
              shroud
              last edited by

              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  yazabilirler

              tarih=date "+%Y%m%d-%H%M%S"
              disks="da0s1"

              mkdir /var/mountusb
              mkdir /var/tiblog

              for 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
              done

              rmdir /var/mountusb
              rmdir /var/tiblog

              Özgür Kalkavan'a yardımlarından dolayı ayrıca teşekkürler.

              1 Reply Last reply Reply Quote 0
              • H
                hoscakal
                last edited by


                başlangıç bitiş saatleri yok zaten olmasıda mantıksız

                statik iplerde böyle bişeye ihtiyaç yok dimi :D

                1 Reply Last reply Reply Quote 0
                • H
                  hoscakal
                  last edited by

                  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ım

                  bu 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

                  1 Reply Last reply Reply Quote 0
                  • N
                    nmnoztrk
                    last edited by

                    **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…**

                    PFsenseTR facebook sayfası https://www.facebook.com/PfsenseTr
                    PFsenseTR facebook Grubu. https://www.facebook.com/groups/357767757608050

                    1 Reply Last reply Reply Quote 0
                    • yakarY
                      yakar
                      last edited by

                      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..

                      Bilgi paylaştıkça artar!
                      5651 sayılı kanun (güncel)
                      pfSense alt yapısı üzerine kurulu iSafe ile işletmelere özel çözümler.

                      1 Reply Last reply Reply Quote 0
                      • yakarY
                        yakar
                        last edited by

                        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.

                        Bilgi paylaştıkça artar!
                        5651 sayılı kanun (güncel)
                        pfSense alt yapısı üzerine kurulu iSafe ile işletmelere özel çözümler.

                        1 Reply Last reply Reply Quote 0
                        • H
                          hoscakal
                          last edited by

                          @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

                          1 Reply Last reply Reply Quote 0
                          • L
                            lantis
                            last edited by

                            bunun ftp kuralınıda sizden rica etsem :) mantığı kavradığım ama ne yazarsam yazayım hata dönüyor

                            1 Reply Last reply Reply Quote 0
                            • H
                              hoscakal
                              last edited by

                              özelden yazarsan yardımcı olurum

                              sh ve php dosyaları konamıyor maalesef

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.