13 Linux Ağ Yapılandırması ve Sorun Giderme Komutları


Bilgisayarlar birbirleriyle bilgi veya kaynak alışverişi yapmak için bir ağa bağlanır. İki veya daha fazla bilgisayar, bilgisayar ağı adı verilen ağ ortamı aracılığıyla bağlanır. Bir bilgisayar ağını oluşturmak için çok sayıda ağ aygıtı veya ortamı bulunur.

Linux İşletim Sistemi yüklü bilgisayar, çok görevli ve çok kullanıcılı yapısı nedeniyle ister küçük ister büyük bir ağ olsun, ağın bir parçası olabilir. Sistemin ve ağın çalışır durumda kalmasını sağlamak Sistem/Ağ Yöneticisinin işinin bir görevidir.

Bu yazımızda Linux'ta sık kullanılan ağ yapılandırmasını ve sorun giderme komutlarını inceleyeceğiz.

1. ifconfig Komutu

ifconfig (arayüz yapılandırıcı) komutu, bir arayüzü başlatmak, arayüze IP Adresi atamak ve etkinleştirmek veya etkinleştirmek için kullanılır. isteğe bağlı olarak arayüzü güçlü>devre dışı bırakın.

Bu komutla arayüze atanan IP Adresini ve Donanım/MAC adresini ve ayrıca MTU'yu (< Strong>Maksimum iletim birimi) boyutu.

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6125302 (5.8 MiB)  TX bytes:536966 (524.3 KiB)
          Interrupt:18 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

arayüz (eth0) komutuyla ifconfig yalnızca IP Adresi, MAC Adresi vb. gibi belirli arayüz ayrıntılarını gösterir. -a seçeneği, eğer devre dışı bırakılırsa, mevcut tüm arayüz ayrıntılarını gösterecektir.

ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6127464 (5.8 MiB)  TX bytes:539648 (527.0 KiB)
          Interrupt:18 Base address:0x2000

Linux'ta IP Adresini ve Ağ Geçidini Ayarlama

Anında arayüze bir IP Adresi ve Ağ Geçidi atama. Sistemin yeniden başlatılması durumunda ayar kaldırılacaktır.

ifconfig eth0 192.168.50.5 netmask 255.255.255.0

Belirli Arayüzü Etkinleştirme veya Devre Dışı Bırakma

Belirli bir Arayüzü etkinleştirmek veya devre dışı bırakmak için aşağıdaki örnek komutu kullanırız.

Eth0'ı etkinleştir
ifup eth0
Eth0'ı devre dışı bırak
ifdown eth0

MTU Boyutunun Ayarlanması

Varsayılan olarak MTU boyutu 1500'dür. Aşağıdaki komutla gerekli MTU boyutunu ayarlayabiliriz. XXXX'i boyutla değiştirin.

ifconfig eth0 mtu XXXX

Arayüzü Karışık Modda Ayarlayın

Ağ arayüzü yalnızca söz konusu NIC'e ait paketleri aldı. Arayüzü rasgele moduna geçirirseniz tüm paketleri alacaktır. Bu, paketleri yakalamak ve daha sonra analiz etmek için çok kullanışlıdır. Bunun için süper kullanıcı erişimine ihtiyacınız olabilir.

ifconfig eth0 - promisc

Güncelleme: Çoğu modern Linux dağıtımında ifconfig komutunun yerini IP komutu almıştır.

2. Ping Komutu

Ping (Packet INternet Groper) komutu, iki düğüm arasındaki bağlantıyı test etmenin en iyi yoludur. İster Yerel Alan Ağı (LAN) ister Geniş Alan Ağı (WAN) olsun.

Ping, diğer cihazlarla iletişim kurmak için ICMP'yi (İnternet Kontrol Mesajı Protokolü) kullanır. Aşağıdaki komutları kullanarak ana makine adına veya ip adresine ping atabilirsiniz.

ping 4.2.2.2

PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms
64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms
64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms

OR

# ping linux-console.net

PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms

Linux ping komutunu siz kesene kadar çalıştırmaya devam edin. N sayıda istekten sonra (başarılı veya hata yanıtı) -c seçeneğiyle ping yapın.

ping -c 5 linux-console.net

PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms

--- linux-console.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms

3. Traceroute Komutanlığı

traceroute, bir hedefe ulaşmak için atılan atlama sayısını gösteren ve aynı zamanda paketlerin seyahat yolunu belirleyen bir ağ sorun giderme yardımcı programıdır. Aşağıda global DNS sunucusu IP Adresine giden rotayı izliyoruz ve hedefe ulaşabiliyor olmamız aynı zamanda o paketin seyahat ettiği yolu da gösteriyor.

traceroute 4.2.2.2

traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets
 1  192.168.50.1 (192.168.50.1)  0.217 ms  0.624 ms  0.133 ms
 2  227.18.106.27.mysipl.com (27.106.18.227)  2.343 ms  1.910 ms  1.799 ms
 3  221-231-119-111.mysipl.com (111.119.231.221)  4.334 ms  4.001 ms  5.619 ms
 4  10.0.0.5 (10.0.0.5)  5.386 ms  6.490 ms  6.224 ms
 5  gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25)  7.798 ms  7.614 ms  7.378 ms
 6  115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49)  10.852 ms  5.389 ms  4.322 ms
 7  ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5)  5.836 ms  5.590 ms  5.503 ms
 8  if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17)  216.909 ms  198.864 ms  201.737 ms
 9  if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2)  203.305 ms  203.141 ms  202.888 ms
10  if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6)  200.552 ms  202.463 ms  202.222 ms
11  if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26)  205.446 ms  215.885 ms  202.867 ms
12  if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2)  202.675 ms  201.540 ms  203.972 ms
13  if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18)  203.732 ms  203.496 ms  202.951 ms
14  if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2)  203.858 ms  203.373 ms  203.208 ms
15  66.198.111.26 (66.198.111.26)  201.093 ms 63.243.128.25 (63.243.128.25)  206.597 ms 66.198.111.26 (66.198.111.26)  204.178 ms
16  ae9.edge1.NewYork.Level3.net (4.68.62.185)  205.960 ms  205.740 ms  205.487 ms
17  vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254)  202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  202.351 ms
18  ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21)  201.771 ms  201.185 ms  201.120 ms
19  ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74)  202.407 ms  201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46)  208.145 ms
20  ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80)  200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208)  200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16)  203.573 ms
21  b.resolvers.Level3.net (4.2.2.2)  199.725 ms  199.190 ms  202.488 ms

4. Netstat Komutanlığı

Netstat (Ağ İstatistikleri) komutu bağlantı bilgilerini, yönlendirme tablosu bilgilerini vb. görüntüler. Yönlendirme tablosu bilgilerini görüntülemek için seçeneği -r olarak kullanın.

netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.50.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.50.1    0.0.0.0         UG        0 0          0 eth0

Netstat Komutu ile ilgili daha fazla örnek için lütfen Linux'taki 20 Netstat Komut Örneği hakkındaki önceki makalemizi okuyun.

Güncelleme: Çoğu modern Linux dağıtımında netstat komutunun yerini ss (soket istatistikleri) komutu almıştır.

5. Kazma Komutu

A Kaydı, CNAME gibi DNS ile ilgili bilgileri kazın (alan bilgisi arama) sorgusu , MX Kaydı vb. Bu komut esas olarak DNS ile ilgili sorgularda sorun gidermek için kullanılır.

dig linux-console.net; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

Dig Komutu ile ilgili daha fazla örnek için lütfen DNS Sorgulamak için 10 Linux Kazma Komutu hakkındaki makaleyi okuyun.

6. Nslookup Komutu

nslookup komutu ayrıca DNS ile ilgili sorguları bulmak için de kullanılır. Aşağıdaki örneklerde linux-console.net'un A Kaydı (IP Adresi) gösterilmektedir.

nslookup linux-console.net
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
linux-console.net canonical name = linux-console.net.
Name:   linux-console.net
Address: 50.116.66.136

Daha fazla Nslookup Komutu için 8 Linux Nslookup Komut Örneği hakkındaki makaleyi okuyun.

7. Rota Komutanlığı

route komutu ayrıca ip yönlendirme tablosunu gösterir ve yönetir. Linux'ta varsayılan yönlendirme tablosunu görmek için aşağıdaki komutu yazın.

route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0

Aşağıdaki komutlarla rotaları ve varsayılan Ağ Geçidini ekleme, silme.

Linux'ta Rota Ekle
route add -net 10.10.10.0/24 gw 192.168.0.1
Linux'ta Rotayı Sil
route del -net 10.10.10.0/24 gw 192.168.0.1
Linux'ta Varsayılan Ağ Geçidi Ekleme
route add default gw 192.168.0.1

8. Ana Bilgisayar Komutu

IP veya IP'ye IPv4 veya IPv6'da ad vermek için bir ad bulmak için host komutu > ve ayrıca DNS kayıtlarını sorgulayın.

host www.google.com

www.google.com has address 173.194.38.180
www.google.com has address 173.194.38.176
www.google.com has address 173.194.38.177
www.google.com has address 173.194.38.178
www.google.com has address 173.194.38.179
www.google.com has IPv6 address 2404:6800:4003:802::1014

CNAME, NS, MX, SOA gibi DNS Kaynak Kayıtlarını bulmak için -t seçeneğini kullanmak , vb.

host -t CNAME www.redhat.com

www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9. Arp Komutanlığı

ARP (Adres Çözümleme Protokolü), çekirdeğin ARP tablolarının içeriğini görüntülemek/eklemek için kullanışlıdır. Varsayılan tabloyu görmek için as komutunu kullanın.

arp -e

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.50.1             ether   00:50:56:c0:00:08   C                     eth0

10. Ethtool Komutanlığı

ethtool, mii-tool'un yerini almıştır. Ağ Arayüz Kartınızın(NIC) görüntülenmesi, hızının ve çift yönlülüğünün ayarlanmasıdır. /etc/sysconfig/network-scripts/ifcfg-eth0 dosyasında ETHTOOL_OPTS değişkeni ile duplex'i kalıcı olarak ayarlayabilirsiniz.

ethtool eth0

Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes

11. Iwconfig Komutu

Linux'taki iwconfig komutu, bir kablosuz ağ arayüzünü yapılandırmak için kullanılır. SSID kanalı ve şifreleme gibi temel Kablosuz ayrıntılarını görebilir ve ayarlayabilirsiniz. Daha fazlasını öğrenmek için iwconfig'in man sayfasına bakabilirsiniz.

iwconfig [interface]

12. Ana Bilgisayar Adı Komutu

Ana makine adı bir ağda tanımlamak içindir. Kutunuzun ana bilgisayar adını görmek için ana bilgisayar adı komutunu çalıştırın. Ana makine adını /etc/sysconfig/network'de kalıcı olarak ayarlayabilirsiniz. Uygun bir ana bilgisayar adı ayarladıktan sonra kutuyu yeniden başlatmanız gerekir.

hostname 

linux-console.net

13. Nmcli ve Nmtui Araçları

Nmcli ve Nmtui araçları ağ ayarlarını yapılandırmak için kullanılır ve ayrıca Linux sistemlerinde ağ cihazlarını yönetmek, ağ bağlantılarını oluşturmak, değiştirmek, etkinleştirmek/devre dışı bırakmak ve silmek için kullanılır.

nmcli
nmtui

Bu makale, Linux/Unix benzeri işletim sistemlerinde Linux Ağ yöneticilerinin günlük kullanımı için yararlı olabilir. Eğer kaçırmışsak lütfen yorum kutumuz aracılığıyla paylaşın.