Ubuntu'da netplan ile IP adresi, DNS ve ağ ayarı değiştirme

Linux Sunucu (SSH) 56 görüntülenme Markdown

Ubuntu 18.04 ve sonrasında ağ ayarları netplan ile yapılır: /etc/netplan/ klasöründeki YAML dosyaları arayüzlerin IP, ağ geçidi ve DNS bilgilerini tanımlar. Ayarı yanlış yapmak sunucuya erişimi kesebileceği için işleme dikkatle ve doğru araçlarla yaklaşın. Aşağıdaki YAML örnekleri netplan generate ile gerçek bir sistemde doğrulanmıştır.

Önce durumu görün

ip -br a
ip route
ls /etc/netplan/
cat /etc/netplan/*.yaml

Arayüz adını (ens18, eth0, ens160 gibi) ve mevcut ayarı not edin. Panelde hizmetinize atanmış IP adresi, alt ağ maskesi ve ağ geçidi bilgisi hizmet sayfanızda ve Ağ Yapılandırması aracında görünür.

cloud-init dosyası tuzağı

Sunucularda genellikle /etc/netplan/50-cloud-init.yaml dosyası bulunur ve başında şu uyarı yazar: "Changes to it will not persist across an instance reboot." Yani bu dosyayı değiştirirseniz, sunucu yeniden başlayınca cloud-init dosyayı ilk haline getirebilir ve değişikliğiniz kaybolur. İki güvenli yol vardır:

  • Ayrı bir dosya açın: Eklemek istediğiniz ayarı /etc/netplan/60-ozel.yaml gibi kendi dosyanıza yazın. Dosyalar alfabetik sırayla okunur ve sonrakiler öncekini tamamlar/ezer; cloud-init yalnızca kendi dosyasını yeniler.
  • cloud-init ağ yapılandırmasını kapatın ve ana dosyayı kalıcı düzenleyin: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg dosyasına network: {config: disabled} yazın. Bunu yalnızca ağı tamamen elle yönetmek istiyorsanız yapın.

Örnek: statik IP, ek IP ve DNS

Dosya izinleri 600 olmalıdır (aksi halde netplan uyarı verir):

sudo nano /etc/netplan/60-ozel.yaml
sudo chmod 600 /etc/netplan/60-ozel.yaml
network:
  version: 2
  ethernets:
    ens18:
      addresses:
        - 203.0.113.10/24
        - 203.0.113.11/24
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [1.1.1.1, 9.9.9.9]

YAML'da girinti boşlukla yapılır (sekme kullanılmaz) ve her seviye aynı sayıda boşluk içerir; en sık hata budur. addresses listesine birden fazla IP yazarsanız arayüz hepsini alır. Yalnızca hizmetinize atanmış IP adreslerini ekleyin; başka adresleri kullanmak ağ sorunlarına yol açar. Eski sürümlerde ağ geçidi için gateway4: yazılırdı; yeni sürümlerde routes kullanılır.

Güvenli uygulama: netplan try

sudo netplan generate
sudo netplan try

generate yazım hatası olup olmadığını denetler. try ayarı geçici uygular ve 120 saniye içinde Enter ile onaylamazsanız otomatik geri alır. Ayar bağlantınızı kesse bile onaylayamayacağınız için sistem eski ayara döner ve siz kendinizi dışarıda bırakmamış olursunuz. Çalıştığından emin olunca Enter'a basın. Doğrudan uygulamak için sudo netplan apply kullanılır ama ilk denemede try tercih edin.

Bağlantıyı kopardıysanız

Panelden VNC Konsol ile girin, hatalı dosyayı düzeltin ya da silin (sudo rm /etc/netplan/60-ozel.yaml) ve sudo netplan apply çalıştırın: VNC Konsol.

Debian'da

Debian'da ağ yapılandırması netplan yerine başka bir araçla (örneğin /etc/network/interfaces ya da systemd-networkd) yönetilebilir. Sunucunuzda /etc/netplan klasörü yoksa bu yazıdaki YAML geçerli değildir; kendi sistemindeki ağ dosyalarına bakın. DNS sorunu için: name resolution hatası. IP adreslerinin yönetimi: ek IP ve IPv6.

Sık sorulanlar

YAML hatası mı yaptım nasıl anlarım?

netplan generate hatayı satır numarasıyla yazar. Girintiyi, iki noktaları ve tire işaretli liste elemanlarını kontrol edin.

DHCP'den statik IP'ye geçerken ne dikkat etmeliyim?

IP adresini, ağ geçidini ve DNS'i doğru bilmeniz gerekir. Panelden aldığınız değerleri kullanın; yanlış ağ geçidi bağlantıyı koparır. netplan try ile deneyin.

Değişiklik yeniden başlatınca kayboluyor.

Büyük olasılıkla cloud-init dosyasını düzenlediniz. Ayarı kendi dosyanıza taşıyın.

İlgili makaleler

Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.