Ubuntu server da uğraşmadan static ip ye çevirme yada DHCP ye geri dönderme toplu menülü komut dosyası.
İçeriği aşağıdaki gibidir.
Ubuntu Static IP Manager
Amaç: Ubuntu Server üzerinde ağ kartını etkileşimli menü ile yönetmek; statik IP vermek, DHCP’ye geri döndürmek, yedek almak, rollback yapmak, log tutmak ve bunu tek dosyalık güvenli bir yönetim aracı haline getirmek.
1) Betiğin genel yaptığı iş
Bu betik Ubuntu Server’da ağ ayarlarını Netplan üzerinden yönetir.
Şunları yapabilir:
2) Menüde neler var
Betiği çalıştırınca şu menü gelir:
3) Statik IP yapılandırırken ne yapıyor
“Statik IP yapılandır” seçildiğinde betik şu akışı izler: a) Interface seçer
Seçilen interface için otomatik olarak okumaya çalışır:
Bunları ekrana gösterir ve giriş alanlarında varsayılan değer olarak sunar.
Yani her şeyi sıfırdan yazmak gerekmez. c) Kullanıcıdan şunları ister
Girilmiş IP için:
Amaç:
Bir cevap alırsa kullanıcıyı uyarır ve işlem iptal ettirilebilir. f) Yedek alır
Yeni ayarı yazmadan önce mevcut netplan dosyalarını yedekler. g) Gerekirse cloud-init’i devre dışı bırakır
Bazı Ubuntu kurulumlarında cloud-init ağ ayarlarını tekrar yazabildiği için,
isterse şu dosyayı oluşturur:
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
İçeriği ağ yönetimini cloud-init’ten çıkarır. h) Yeni netplan dosyasını yazar
Şu dosyayı oluşturur/yönetir:
/etc/netplan/99-static-ip-manager.yaml
Bu dosyada:
Son aşamada kullanıcıya 3 seçenek verir:
4) DHCP’ye geri dön seçeneği ne yapıyor
Bu bölüm seçilen interface’i yeniden DHCP’ye geçirir.
Yaptıkları:
Oluşan netplan mantığı şu olur:
Sonra yine:
seçeneklerinden biri uygulanır.
5) Yedekleme sistemi nasıl çalışıyor
Betik mevcut netplan dosyalarını silmeden önce otomatik yedek alır. Yedek yeri:
/var/backups/static-ip-manager/backups
Her işlemde tarih-saat bazlı klasör açar.
İçine şunları koyar:
Bu sayede eski hale dönmek mümkün olur.
6) Rollback ne yapıyor
“Rollback / eski ayara dön” seçeneği:
Yani hatalı IP girişi veya ağ bozulması durumunda önceki çalışan yapı kolayca geri getirilebilir.
7) Mevcut ağ durumunu göster menüsü ne gösteriyor
Bu ekranda betik şunları gösterir:
Bu bölüm tamamen kontrol/teşhis amaçlıdır.
8) Log sistemi ne yapıyor
Betiğin önemli özelliklerinden biri tüm işlemleri log dosyasına yazmasıdır. Log dosyası:
/var/log/ubuntu_static_ip_manager.log
Buraya şu tür kayıtlar düşer:
Bu sayede neyin ne zaman yapıldığı izlenebilir.
9) Dil desteği
Betik iki dillidir:
Dil seçimi iki şekilde olur: a) Açılışta menüden
Kullanıcı dili seçebilir. b) Komut satırından
Örnek:
veya
10) Otomatik interface seçimi
Betik varsayılan gateway’in bağlı olduğu interface’i otomatik algılar:
örnek:
İsterse kullanıcı hiç seçim yapmadan bunu kullanabilir.
Komut satırından da zorlanabilir:
Bu, özellikle tek NIC’li sunucularda çok kullanışlıdır.
11) Self-install ne yapıyor
Betik kendisini sisteme kurabilir.
Kurulumla:
Yani daha sonra betik bulunduğu klasörden bağımsız çalıştırılabilir.
Kurulum komutu:
sonra çalıştırma
12) Betiğin dokunduğu dosya ve klasörler
Okuduğu yerler
13) Güvenlik ve sağlamlık tarafı
Betikte şu güvenlik mantıkları var:
14) En uygun kullanım senaryosu
Bu betik özellikle şu durumlar için uygundur:
15) Kısa kullanım özeti
Çalıştır:
chmod +x ubuntu_static_ip_manager_v1.2.1.sh
sudo ./ubuntu_static_ip_manager.sh
İçeriği aşağıdaki gibidir.
Ubuntu Static IP Manager
Amaç: Ubuntu Server üzerinde ağ kartını etkileşimli menü ile yönetmek; statik IP vermek, DHCP’ye geri döndürmek, yedek almak, rollback yapmak, log tutmak ve bunu tek dosyalık güvenli bir yönetim aracı haline getirmek.
1) Betiğin genel yaptığı iş
Bu betik Ubuntu Server’da ağ ayarlarını Netplan üzerinden yönetir.
Şunları yapabilir:
- mevcut ağ durumunu gösterir
- statik IP tanımlar
- DHCP’ye geri döndürür
- aktif ayarları otomatik okuyup formu önceden doldurur
- varsayılan route’taki interface’i otomatik seçebilir
- IP çakışma testi yapar
- mevcut netplan yapılandırmasını yedekler
- istenirse eski yedeğe rollback yapar
- istenirse cloud-init ağ yönetimini devre dışı bırakır
- yapılan işlemleri log dosyasına yazar
- kendisini sisteme kurup komut haline gelebilir
2) Menüde neler var
Betiği çalıştırınca şu menü gelir:
- Mevcut ağ durumunu göster
- Statik IP yapılandır
- DHCP’ye geri dön
- Şimdi yedek al
- Yedekleri listele
- Rollback / eski ayara dön
- Yönetilen netplan dosyasını göster
- Log dosyasını göster
- Self-install yap
- Dili değiştir
- Çıkış
3) Statik IP yapılandırırken ne yapıyor
“Statik IP yapılandır” seçildiğinde betik şu akışı izler: a) Interface seçer
- önce isterse varsayılan route interface’i otomatik kullanır
- kullanıcı istemezse listeden interface seçtirir
- örnek: ens34
Seçilen interface için otomatik olarak okumaya çalışır:
- mevcut IP
- prefix/CIDR
- mevcut gateway
- mevcut DNS
- mevcut search domain
Bunları ekrana gösterir ve giriş alanlarında varsayılan değer olarak sunar.
Yani her şeyi sıfırdan yazmak gerekmez. c) Kullanıcıdan şunları ister
- statik IP adresi
- prefix (ör. 24)
- gateway
- DNS listesi
- search domain (opsiyonel)
- IPv4 formatını kontrol eder
- prefix’in 1–32 arasında olup olmadığını kontrol eder
- DNS girişlerini doğrular
Girilmiş IP için:
- önce ping testi yapar
- sistemde varsa ayrıca arping testi yapar
Amaç:
- seçilen IP zaten ağda kullanılıyor olabilir mi, onu anlamak
Bir cevap alırsa kullanıcıyı uyarır ve işlem iptal ettirilebilir. f) Yedek alır
Yeni ayarı yazmadan önce mevcut netplan dosyalarını yedekler. g) Gerekirse cloud-init’i devre dışı bırakır
Bazı Ubuntu kurulumlarında cloud-init ağ ayarlarını tekrar yazabildiği için,
isterse şu dosyayı oluşturur:
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
İçeriği ağ yönetimini cloud-init’ten çıkarır. h) Yeni netplan dosyasını yazar
Şu dosyayı oluşturur/yönetir:
/etc/netplan/99-static-ip-manager.yaml
Bu dosyada:
- dhcp4: false
- dhcp6: false
- addresses
- routes
- nameservers
alanları tanımlanır.
Son aşamada kullanıcıya 3 seçenek verir:
- netplan try
Güvenli yöntemdir. Özellikle uzak bağlantıda daha iyidir. - netplan apply
Ayarı doğrudan uygular. - Sadece yaz ve doğrula
Dosyayı yazar, netplan generate ile kontrol eder ama hemen uygulamaz.
4) DHCP’ye geri dön seçeneği ne yapıyor
Bu bölüm seçilen interface’i yeniden DHCP’ye geçirir.
Yaptıkları:
- interface seçer
- mevcut ayarı gösterir
- mevcut netplan yapılandırmasını yedekler
- gerekirse cloud-init müdahalesini kapatır
- aynı yönetilen dosyayı DHCP modunda yazar
Oluşan netplan mantığı şu olur:
- dhcp4: true
- dhcp6: false
Sonra yine:
- netplan try
- netplan apply
- sadece yaz/doğrula
seçeneklerinden biri uygulanır.
5) Yedekleme sistemi nasıl çalışıyor
Betik mevcut netplan dosyalarını silmeden önce otomatik yedek alır. Yedek yeri:
/var/backups/static-ip-manager/backups
Her işlemde tarih-saat bazlı klasör açar.
İçine şunları koyar:
- /etc/netplan/*.yaml dosyalarının kopyası
- varsa cloud-init disable dosyasının kopyası
Bu sayede eski hale dönmek mümkün olur.
6) Rollback ne yapıyor
“Rollback / eski ayara dön” seçeneği:
- mevcut yedekleri listeler
- kullanıcı bir yedek seçer
- seçilen yedekteki netplan dosyalarını tekrar /etc/netplan/ altına kopyalar
- cloud-init disable dosyası o yedekte varsa geri yükler
- netplan generate ile doğrular
- isterse netplan apply ile uygular
Yani hatalı IP girişi veya ağ bozulması durumunda önceki çalışan yapı kolayca geri getirilebilir.
7) Mevcut ağ durumunu göster menüsü ne gösteriyor
Bu ekranda betik şunları gösterir:
- hostname
- varsayılan interface
- log dosyası yolu
- IPv4 adresleri
- routing tablosu
- mümkünse DNS/resolver bilgileri
Bu bölüm tamamen kontrol/teşhis amaçlıdır.
8) Log sistemi ne yapıyor
Betiğin önemli özelliklerinden biri tüm işlemleri log dosyasına yazmasıdır. Log dosyası:
/var/log/ubuntu_static_ip_manager.log
Buraya şu tür kayıtlar düşer:
- betik başlatıldı
- hangi interface seçildi
- hangi IP hazırlanıyor
- backup alındı
- netplan apply başladı/bitti
- rollback yapıldı
- kullanıcı iptal etti
- beklenmeyen hata oluştu
Bu sayede neyin ne zaman yapıldığı izlenebilir.
9) Dil desteği
Betik iki dillidir:
- Türkçe
- English
Dil seçimi iki şekilde olur: a) Açılışta menüden
Kullanıcı dili seçebilir. b) Komut satırından
Örnek:
sudo bash ubuntu_static_ip_manager_v1.2.1.sh --lang en
sudo bash ubuntu_static_ip_manager_v1.2.1.sh --lang tr
Betik varsayılan gateway’in bağlı olduğu interface’i otomatik algılar:
örnek:
- ens34
İsterse kullanıcı hiç seçim yapmadan bunu kullanabilir.
Komut satırından da zorlanabilir:
sudo bash ubuntu_static_ip_manager_v1.2.1.sh --auto-iface
11) Self-install ne yapıyor
Betik kendisini sisteme kurabilir.
Kurulumla:
- script şu yola kopyalanır:
/usr/local/sbin/ubuntu_static_ip_manager - kısa komut linki oluşturulur:
/usr/local/bin/ubuntu-static-ip-manager
Yani daha sonra betik bulunduğu klasörden bağımsız çalıştırılabilir.
Kurulum komutu:
sudo bash ubuntu_static_ip_manager_v1.2.1.sh --install
sudo ubuntu-static-ip-manager
Okuduğu yerler
- /etc/netplan/
- /etc/resolv.conf
- /etc/cloud/cloud.cfg.d/
- sistem route ve IP bilgileri (ip, resolvectl vb.)
- /etc/netplan/99-static-ip-manager.yaml
- /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg (isteğe bağlı)
- /var/backups/static-ip-manager/backups/...
- /var/log/ubuntu_static_ip_manager.log
- /usr/local/sbin/ubuntu_static_ip_manager (self-install ile)
- /usr/local/bin/ubuntu-static-ip-manager (self-install ile)
13) Güvenlik ve sağlamlık tarafı
Betikte şu güvenlik mantıkları var:
- root değilse çalışmaz
- gerekli komutları kontrol eder
- işlem öncesi yedek alır
- IP formatlarını doğrular
- olası IP çakışmasını test eder
- rollback yapabilir
- netplan try seçeneği ile güvenli uygulama sunar
- beklenmeyen hatalarda satır numarası ile log bırakır
14) En uygun kullanım senaryosu
Bu betik özellikle şu durumlar için uygundur:
- yeni kurulan Ubuntu Server’a statik IP vermek
- DHCP’den statiğe geçmek
- statikten DHCP’ye dönmek
- VMware / Proxmox / Hyper-V / bare metal Ubuntu Server kurulumları
- uzaktan yönetilen küçük/orta ölçekli sunucular
- elle YAML yazmadan menü ile netplan yönetmek
15) Kısa kullanım özeti
Çalıştır:
chmod +x ubuntu_static_ip_manager_v1.2.1.sh
sudo ./ubuntu_static_ip_manager.sh
