16.01.2022

Çalışan linux sistemde DNS ve DHCP sunucuları bulmak

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: