Ubuntu’da Cloud-Init ve Netplan Sorununun Kalıcı Çözümü
📌 Sorunun Özeti
Ubuntu sunucunda ağ yapılandırmasını elle yaptıktan sonra sistemi yeniden başlattığında tüm ayarların (IP adresi, gateway, DNS vb.) kaybolmasının nedeni, ‘cloud-init’ aracının etkin olmasıdır.
Bu araç, her yeniden başlatmada ağ yapılandırmasını varsayılana çevirir ve senin yaptığın değişiklikleri siler.
✅ Kalıcı Çözüm 1: cloud-init’in Ağ Yapılandırmasını Devre Dışı Bırakmak
1. Aşağıdaki komut ile cloud-init’in ağ yapılandırma özelliğini devre dışı bırak:
sudo touch /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
echo “network: {config: disabled}” | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
2. (İsteğe Bağlı) Cloud-init geçmişini temizle:
sudo cloud-init clean
3. Sistemi yeniden başlat:
sudo reboot
4. Daha sonra yeni bir netplan yapılandırma dosyası oluştur:
sudo nano /etc/netplan/01-netcfg.yaml
5. Dosya içeriğini şu şekilde düzenle (örnek IP adreslerinle):
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses:
– 192.168.153.128/24
routes:
– to: default
via: 192.168.153.1
nameservers:
addresses:
– 8.8.8.8
– 8.8.4.4
6. Netplan yapılandırmasını uygula:
sudo netplan apply
✅ Alternatif Çözüm 2: cloud-init’i Tamamen Devre Dışı Bırakmak
Bu yöntem, tüm cloud-init işlevlerini kapatır (sadece ağ değil):
sudo systemctl stop cloud-init
sudo systemctl disable cloud-init
sudo systemctl mask cloud-init
Ancak tavsiye edilen yöntem, sadece ağ yapılandırmasını devre dışı bırakmaktır. Cloud-init başka faydalı görevler de yapabileceği için tamamen kapatılması önerilmez.

