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

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

Scheduled Pinned Locked Moved Turkish
13 Posts 7 Posters 12.2k Views
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 Sep 27, 2012, 1:17 PM Sep 27, 2012, 1:11 PM

    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 Sep 27, 2012, 1:39 PM

      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 Sep 27, 2012, 2:13 PM

        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 Sep 27, 2012, 3:04 PM

          @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 Sep 27, 2012, 3:19 PM

            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 Sep 27, 2012, 6:13 PM


              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 Sep 28, 2012, 8:50 AM Sep 28, 2012, 7:33 AM

                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 Sep 28, 2012, 6:14 PM

                  **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 Dec 29, 2012, 10:58 AM

                    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 Dec 29, 2012, 11:37 AM

                      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 Dec 29, 2012, 12:04 PM

                        @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 Feb 21, 2013, 12:05 PM

                          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 Feb 25, 2013, 7:44 AM

                            ö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.
                              This community forum collects and processes your personal information.
                              consent.not_received