Ubuntu 18.04 ve sonrası artık route tablosuna giriş eklemek için netplan kullanıyor.
Bir örnek üzerinden gidelim. Yerel ağımızdaki IP aralığı 192.168.1.0/24 olsun. Bir de uzak ofisimiz var, onun da IP aralığı 192.168.2.0/24. Uzak ofisteki kullanıcıların merkeze ulaşması için kurulan router'ın IP adresi de 192.168.2.101 olsun.
Bu durumda iletişimin sağlanabilmesi için, örneğin, uzak ofisteki bir ubuntu makinenin üzerinde
$ sudo ip route add 192.168.1.0/24 via 192.168.2.101 dev ens32
gibi bir yönlendirme girişi yapmak gerek. Ancak bu kalıcı olmayacak. Bir sonraki yeniden başlatmada da geçerli olmasını sağlayabilmek için /etc/netplan altındaki dosyayı düzenlememiz gerekecek. Bu klasörde ismi standart olmayan bir dosya vardır, kast edilen dosya bu. Elle IP adresi ataması yapılmış bir bilgisayar için bu dosyanın içeriği şu şekilde olabilir:
network:
ethernets:
ens32:
addresses:
- 192.168.2.7/24
dhcp4: false
gateway4: 192.168.2.1
nameservers:
addresses:
- 192.168.2.2
Buraya, gördüğüm kadarıyla gateway4'ün hemen altına, şu satırları girmek gerek:
- to: 192.168.1.0/24
via: 192.168.2.101
Yani tam içerik şöyle olacak:network:
ethernets:
ens32:
addresses:
- 192.168.2.7/24
dhcp4: false
gateway4: 192.168.2.1
- to: 192.168.1.0/24
via: 192.168.2.101
nameservers:
addresses:
- 192.168.2.2
Bu şekilde işlem tamam.
---
2020-12-28 ek: Netplan yaml dosyasındaki hatalardan dolayı yapılandırma uygulanmazsa bunun kaydını görmek için
$ journalctl -b -g netplan # NETPLAN (büyük harflerle) de olabilir
kullanılabilir. Ayrıca yaml dosyasındaki hataları görebilmek için netplan komutu ile birlikte aşağıdaki parametreler kullanılabilir:
# netplan try # yaml dosyasındaki ayarları uygula, hata varsa mevcut duruma geri dön
# netplan apply # yaml dosyasındaki ayarları uygula
# netplan ip leases ens33 # arayüz üzerindeki DHCP atamalarını görüntüle
Bunların haricinde üzerinde çalıştığımız sistem IP adresini bir DHCP sunucudan almışsa bu sunucuyu bulmak için
$ journalctl -b -g DHCP # anahtar kelime konusunda yaratıcı olmak gerekebilir
Veya çoğu dağıtğımda /var/lib/dhclient/dhclient.leases gibi bir dosyanın içeriğini inceleyebiliriz:
$ cat /var/lib/dhclient/dhclient.leases
Bunlar işimizi görmezse UDP 68 üzerinden gerçekleşen ağdaki DHCP trafiğine göz atmak istersek:
# tcpdump -i eth0 -nev udp port 68
ve hatta ağdaki DHCP sunucuyu bulabilmek için bir dhcp-discover paketi göndermek için
# nmap --script broadcast-dhcp-discover -e eth0
DHCP'nin mevcut atamasını serbest bırakıp yeniden istekte bulunmak için
# dhclient -r
Şu anda sistemin kullandığı DNS sunucuyu görmek için
# resolvectl dns
Gerekli durumda ağ hizmetlerini tekrar başlatmak için
$ sudo systemctl restart network-manager
---
https://netplan.io/examples/