Açık bir linux sistemimiz var. Geçerli DNS sunucuyu ve eğer IP ataması otomatik yapılmışsa bu atamayı yapan sunucuyu (DHCP) nasıl buluruz?
$ resolvectl dns
Global:
Link 3 (wlp4s0): 8.8.8.8 1.1.1.1
Bu komutla sistemimize ataması yapılmış olan 2 DNS sunucu gözüküyor. Ama bunlardan biri aktif. Diğeri yedek. Hangisi aktif, onu bulmak için de:
$ resolvectl status
Link 3 (wlp4s0)
...
Current DNS Server: 1.1.1.1
...
Şu an çalışan sunucu 1.1.1.1'miş.
Eğer network manager kullanıyorsak nmcli terminal komutundan faydalanabiliriz:
$ nmcli dev show eth0
$ nmcli connection show <wifi-adi>
Bu komutlar çok uzun çıktılar üretebilir. Bu çıktıları sadece DNS bölümü ile sınırlandırmak için
$ nmcli -f IP4.DNS dev show eth0
veya
$ nmcli -f IP4.DNS connection show <wifi-adi>
kullanabiliriz.
Peki DHCP sunucu? En basit yol, /etc/sysconfig/network-scripts/ altındaki ifcfg-ens160 gibi bir isme sahip (sondaki ens160 yerine "ip a" komutu ile görülebilecek ağ arayüzünün ismini koymak gerek) dosyanın içindeki BOOTPROTO satırındaki değere bakmak. Burada dhcp yazıyorsa ağ adresimiz bir DHCP sunucudan atanmıştır. static yazıyorsa elle verilmiştir. Bu dosyada DNS ile ilgili bilgi de var.
Çalışan sistem IP adresini bir DHCP sunucudan almışsa muhtemelen journalctl loglarına bir kayıt düşmüştür. Ama atamayı yapan sunucunun IP adresi geçmiyor olabilir. Fedora'da DHCPACK anahtar kelimesiyle yapılan aramada sonuca ulaştım.
$ journalctl -b -g DHCPACK
Jan 16 02:39:33 fedora dhclient[43751]: DHCPACK of 192.168.0.13 from 192.168.0.1 (xid=0x3ef11a2b)
DHCP bilgisine nmcli çıktılarından da ulaşabiliriz. DNS için yazdıklarıma benzer şekilde DHCP için
$ nmcli -f DHCP4.OPTION dev show eth0
veya
$ nmcli -f DHCP4.OPTION connection show <wifi-adi>
olabilir. Başka bir yol da nmtui (Fedora ve türevlerinde NetworkManager-tui paketi ile gelen) komutunu kullanarak mevcut ağ arayüzü yapılandırmasını da görebiliriz.
Bu bir sonuç vermezse dhcpcd paketi işimizi görebilir:
$ dhcpcd -T wlp4s0
...
wlp2s0: offered 192.168.0.13 from 192.168.0.1
...
Ağda gerçekleşen trafiği izlemek de bir seçenek olabilir:
$ sudo tcpdump -i wlp4s0 udp port 67 and port 68 -vvv
IP yenileme sürecini tetiklemek:
$ sudo dhclient -d -nw wlp4s0
Ya da dhclient.leases dosyasına bakmak (root ile)
# less /var/lib/dhcp/dhclient.leases
Bazı sistemlerde
# less /var/lib/NetworkManager/internal-d785775d-11eb-47a9-84bf-40f2cf9426bb-wlp4s0.lease
Belki de nmap ile bir DHCPDISCOVER broadcast'ı yapmak
$ sudo nmap --script broadcast-dhcp-discover -e eth0
Hiç yorum yok:
Yorum Gönder