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

https://kervanhosting.com/bilgi-bankasi/makale/netplan-ile-ip-adresi-dns-ve-ag-ayari-degistirme-ubuntu

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](https://kervanhosting.com/bilgi-bankasi/makale/konsol-vnc-nedir-baglanamadigimda-sunucuya-nasil-girerim).

## 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ı](https://kervanhosting.com/bilgi-bankasi/makale/linux-temporary-failure-in-name-resolution-dns-hatasi). IP adreslerinin yönetimi: [ek IP ve IPv6](https://kervanhosting.com/bilgi-bankasi/makale/ek-ip-adresi-ve-ipv6-nasil-kullanilir).

## 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**

- [Linux'ta "Temporary failure in name resolution" hatası](https://kervanhosting.com/bilgi-bankasi/makale/linux-temporary-failure-in-name-resolution-dns-hatasi)
- [Ek IP adresi ve IPv6 nasıl kullanılır?](https://kervanhosting.com/bilgi-bankasi/makale/ek-ip-adresi-ve-ipv6-nasil-kullanilir)
- [Konsol (VNC) nedir? Bağlanamadığımda sunucuya nasıl girerim?](https://kervanhosting.com/bilgi-bankasi/makale/konsol-vnc-nedir-baglanamadigimda-sunucuya-nasil-girerim)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
