Linux sistem yönetiminde ağ arayüzlerinin durumunu görüntülemek, IP adreslerini yapılandırmak ve yönlendirme (routing) tablolarını yönetmek en temel sorumluluklardan biridir. Uzun yıllar kullanılan net-tools paketindeki ifconfig ve route komutlarının yerini, günümüzde çok daha yetenekli ve tutarlı olan ip komutu ile ağ yönetimi almıştır.
Bu rehberde; ifconfig ile ip arasındaki farkları, ağ arayüzü kontrolünü (ip link), IP adresi işlemlerini (ip addr) ve varsayılan ağ geçidi (gateway) ile rota tanımlama (ip route) adımlarını derinlemesine inceleyeceğiz.
ifconfig vs ip Komutu: Neden Geçiş Yapmalısınız?
Eski ifconfig komutu 2000’li yılların başından bu yana geliştirilmeyi bırakmış olup modern Linux çekirdeğinin birçok ağ yeteneğini (birden fazla IP adresi atama, karmaşık policy routing, VLAN’lar ve bridge arayüzleri) tam olarak desteklemez.
iproute2 paketinin amiral gemisi olan ip komutu ise doğrudan çekirdek Netlink API’si ile çalışır ve nesne tabanlı bir komut yapısına sahiptir:
| Eski Komut (net-tools) | Modern Karşılığı (iproute2) | Görevi |
|---|---|---|
ifconfig | ip addr (veya ip a) | IP adreslerini ve arayüz durumunu listeleme |
ifconfig eth0 up/down | ip link set eth0 up/down | Ağ arayüzünü açma / kapatma |
route -n | ip route (veya ip r) | Yönlendirme (routing) tablosunu görme |
route add default gw ... | ip route add default via ... | Varsayılan ağ geçidi (gateway) ekleme |
arp -n | ip neigh | ARP ve komşuluk tablosunu listeleme |
1. Ağ Arayüzlerini Yönetmek (ip link)
ip link alt komutu fiziksel veya sanal ağ arayüzlerinin katman-2 (veri bağlantı katmanı / MAC) durumlarını kontrol eder:
# Tüm ağ arayüzlerini ve durumlarını listele
ip link show
# Belirli bir arayüzü (örn: eth0) devre dışı bırak
sudo ip link set eth0 down
# Arayüzü yeniden aktifleştir
sudo ip link set eth0 up
# Arayüzün MTU (Maximum Transmission Unit) değerini değiştir
sudo ip link set eth0 mtu 1400
# MAC adresini değiştir (Arayüz kapalıyken yapılmalıdır)
sudo ip link set eth0 address 00:11:22:33:44:55
2. IP Adresi Yönetimi (ip addr)
ip addr veya kısa kullanımıyla ip a, arayüzlerin katman-3 (IPv4 ve IPv6) adreslerini yapılandırır.
IP Adreslerini Listelemek
# Tüm arayüzlerin IP adreslerini renkli ve okunabilir listele
ip -c addr show
# Sadece belirli bir arayüzün (örn: eth0) IPv4 adresini gör
ip -4 addr show eth0
Geçici Statik IP Eklemek ve Silmek
# eth0 arayüzüne 192.168.1.100/24 IP'si ekle
sudo ip addr add 192.168.1.100/24 dev eth0
# Aynı arayüze ikinci (ikincil / secondary) bir IP ata
sudo ip addr add 10.0.0.50/24 dev eth0
# Atanan IP adresini kaldır
sudo ip addr del 192.168.1.100/24 dev eth0
# Bir arayüzdeki tüm IP adreslerini tek seferde temizle (flush)
sudo ip addr flush dev eth0
Not:
ip addr addkomutuyla eklenen adresler işletim sistemi yeniden başladığında kaybolur. Kalıcı kılmak için Ubuntu’da Netplan (/etc/netplan/*.yaml), RHEL tabanlı sistemlerde ise NetworkManager (nmcli/nmtui) kullanılmalıdır.
3. Rota ve Ağ Geçidi Yönetimi (ip route)
Sunucunuzun internete veya farklı alt ağlara ulaşabilmesi için doğru routing tablosuna sahip olması gerekir.
# Mevcut yönlendirme tablosunu listele
ip route show
Örnek çıktı:
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.100 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
Rota Ekleme ve Değiştirme
# Varsayılan Ağ Geçidi (Default Gateway) ekle
sudo ip route add default via 192.168.1.1 dev eth0
# Belirli bir uzak ağa özel rota (Static Route) tanımla
sudo ip route add 10.200.0.0/16 via 192.168.1.254 dev eth0
# Bir rotayı sil
sudo ip route del 10.200.0.0/16
# Belirli bir hedefe trafiğin hangi arayüzden ve IP'den çıkacağını test et (Çok Faydalı!)
ip route get 8.8.8.8
ip route get 8.8.8.8 komutu, sistemin 8.8.8.8’e giderken hangi yerel IP’yi (src) ve hangi ağ geçidini kullanacağını anında simüle ederek ağ sorunlarını çözmenizi sağlar.
4. ARP Tablosunu İnceleme (ip neigh)
Aynı yerel ağdaki IP adreslerinin hangi MAC adresleriyle eşleştiğini görmek için:
# ARP önbelleğini listele
ip neigh show
# Önbellekteki geçersiz/eski kayıtları temizle
sudo ip neigh flush dev eth0
Özet
Modern Linux sistemlerde ağ yapılandırması ve hata ayıklamada ip komutu standarttır. ip link ile donanım durumunu, ip addr ile IP tahsislerini ve ip route ile trafik yönlendirmelerini komut satırından yüksek hassasiyetle kontrol edebilirsiniz.