ip
ip komutu, modern Linux sistemlerinde ağ yapılandırmasını yönetmek için kullanılan temel araçtır. iproute2 paketinin bir parçasıdır ve ifconfig, route, arp, netstat -r gibi eski net-tools paketindeki komutların yerini almıştır. ip komutu daha tutarlı bir sözdizimine sahiptir ve IPv6, policy routing, network namespaces gibi modern ağ özelliklerini daha iyi destekler.
ip komutu, yönetilecek nesneye (object) göre alt komutlar alır. En sık kullanılan nesneler şunlardır:
link: Ağ arayüzlerini (fiziksel veya sanal) yönetir.address(veyaaddr): Arayüzlere atanan IP adreslerini (IPv4/IPv6) yönetir.route: Yönlendirme tablosunu yönetir.neighbour(veyaneigh): ARP (IPv4) ve NDP (IPv6) komşu tablolarını yönetir.rule: Policy routing kurallarını yönetir.tunnel: IP tünellerini yönetir.tuntap: TUN/TAP sanal arayüzlerini yönetir.netns: Ağ isim alanlarını (network namespaces) yönetir.
Temel Kullanım Örnekleri
Arayüzleri Listeleme (ip link)
Sistemdeki tüm ağ arayüzlerini ve durumlarını listeler:
ip link show
# veya kısaca:
ip linkRenkli çıktı için -c seçeneği eklenebilir: ip -c link show.
IP Adreslerini Gösterme (ip addr)
Tüm arayüzlere atanmış IP adreslerini (IPv4 ve IPv6) gösterir:
ip addr show
# veya kısaca:
ip addr
# veya sadece belirli bir arayüz için:
ip addr show eth0 Sistem üzerindeki NIC cihazlarının IP adreslerini öğrenmek için:
ip addr showÖrnek Çıktı:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:12:34:56 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic enp0s3
valid_lft 86300sec preferred_lft 86300sec
inet6 fe80::a00:27ff:fe12:3456/64 scope link
valid_lft forever preferred_lft foreverIP Adresi Ekleme/Silme (ip addr add/del)
Bir arayüze geçici olarak IP adresi eklemek veya silmek için kullanılır (kalıcı ayarlar için NetworkManager, systemd-networkd veya /etc/network/interfaces gibi araçlar kullanılmalıdır). IP adresi CIDR notasyonu ile (örn. /24) belirtilmelidir.
# enp0s3 cihazına 192.168.1.150/24 IP'sini ekle
sudo ip addr add 192.168.1.150/24 dev enp0s3
# Aynı IP'yi sil
sudo ip addr del 192.168.1.150/24 dev enp0s3Bir arayüzdeki tüm IP adreslerini temizlemek için flush kullanılabilir: sudo ip addr flush dev enp0s3.
Arayüzü Açma/Kapatma (ip link set up/down)
Bir ağ arayüzünü etkinleştirmek veya devre dışı bırakmak için:
sudo ip link set enp0s3 upsudo ip link set enp0s3 downYönlendirme Tablosunu Gösterme/Yönetme (ip route)
Çekirdeğin IP yönlendirme tablosunu göstermek için:
ip route show
# veya kısaca:
ip routeÖrnek Çıktı:
default via 192.168.1.1 dev enp0s3 proto dhcp metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.100 metric 100 Geçici olarak yönlendirme kuralı eklemek veya silmek için (kalıcı ayarlar için ağ yönetim aracı kullanılmalıdır):
# 10.0.0.0/8 ağına 192.168.1.254 ağ geçidi üzerinden git
sudo ip route add 10.0.0.0/8 via 192.168.1.254
# Belirli bir route'u sil
sudo ip route del 10.0.0.0/8
# Varsayılan ağ geçidini (default route) ekle/değiştir
sudo ip route add default via 192.168.1.1 dev enp0s3
# veya (mevcutu değiştirmek için):
# sudo ip route replace default via 192.168.1.1 dev enp0s3Komşu Tablosunu Gösterme (ip neigh)
ARP (IPv4) veya NDP (IPv6) tablosunu (IP-MAC adresi eşleşmeleri) göstermek için:
ip neigh show
# veya kısaca:
ip neighip komutu, iproute2 paketinin sunduğu birçok alt komut ve seçenekle ağ yönetiminin hemen her yönünü kontrol etme imkanı sunar. Daha fazla bilgi için man ip veya ip <nesne> help (örn. ip route help) komutlarına bakılabilir.
Last updated