Sistem ve network mühendisi olarak çalışanlar muhakkak bir gün kendileri uzak sunucunun geç cevap vermesi yada kopmuş bağlantı sorunları gidermek ortamında bulurlar. Bu sorunların basit olarak nelerden kaynaklandığı basitce aşağıda açıklamaya çalışacağım.
Genelde ağ yavaşlığı, ağ kartlarının duplex ve hız uyumsuzluluğu, ağ congestion, kötü yapılmış yönlendirme, kötü kablolama, elektriksel etkilenme, bağlantı ucunda olan sunucunu üzerinde fazla yüklenme ve yanlış DNS konfigürasyonu gibi temel yanlış yapılandırmalardan meydana gelir.
Yukarıda saydığımız tüm sorunlar bağlantı kopmasına sebebiyet verir. Bunun yanında elektrik kesilmesi, güç kaynaklarında meydana gelen arızlar yada uzak sunucuların kapalı olması bağlantı sorunlarına sebebiyet verir.
Linux üzerinde bu sorunlar ile baş edebileceğiniz bir çok araö bulunmaktadır. Ağınızda yukarıda saydığım problemler ile uğraşıyorsanız, birazdan açıklayacağım araçları kullanmadan önce, ağ kablolamanızın doğru yapıldığından ve router ve switchlerinize bağlı sunucularınızı açık olduğundan ve düzgün çalıştığından emin olunuz.
Aktif network kartlarımızı görüntülemek ifconfig komutunu kullanıyoruz. İfconfig komutu ile aktif ve devre dışı olan kartlarımızı kolayca görüntüleyebilir.
#Devre dışı ağ kartı
[root@erdal-lptp-lynx ~]# ifconfig –a
eth0 Link encap:Ethernet HWaddr 00:1C:23:9C:1E:3E
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:17
#Aktif ağ kartı
[root@erd-ltp-lynx-01 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:1D:09:B9:5D:08
inet addr:192.168.2.20 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::21d:9ff:feb9:5d08/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1679 errors:0 dropped:0 overruns:0 frame:0
TX packets:1225 errors:0 dropped:0 overruns:0 carrier:0
collisions:30 txqueuelen:1000
RX bytes:1359843 (1.2 MiB) TX bytes:128462 (125.4 KiB)
Interrupt:20
Ağ kartlarımızın link durumunu Linux üzerinde ölçebileceğimiz iki harika araç vardır. Bunlar mii-tool ve ethtool araçlarıdır. Bu komutar desteklenen ağ kartları ile ilgili link durumlarını ve duplex ayarları ile ilgili bilgiler verir.
Mii-tool aracını herhangi bir anahtar kullanmadan çalıştırdığınızda çok kısa bir rapor verir.
[root@erd-ltp-lynx-01 ~]# mii-tool
eth0: negotiated 100baseTx-HD, link ok
Bu nedenle mii-tool aracı -v aracı ile kullanmanızı öneririm. Sebebi –v anahtarı daha fazla bilgi ile birlikte kartların autonegotiation hızları ile ilgi detayları bilgi verip, hız ve duplez ayarları ile ilgili sorunların çözülmesinde yardımcı olmasıdır.
[root@erd-ltp-lynx-01 ~]# mii-tool -v eth0
eth0: negotiated 100baseTx-HD, link ok
product info: vendor 00:50:ef, model 12 rev 0
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 100baseTx-HD 10baseT-HD
ethtool aracı, mii-tool aracına göre daha fazla bilgi ekrana döker.
[root@erd-ltp-lynx-01 ~]# ethtool eth0
Settings for eth0:
Supported ports: [ MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0×000000ff (255)
Link detected: yes
Hataların görüntülenmesinde ethtool kullanılabileceği gibi ifconfig komutu da bize ağ kartımız üzerindeki hatalar ile ilgili bilgileri gösterir.
#ifconfig ile hata görüntüleme
[root@erd-ltp-lynx-01 ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1D:09:B9:5D:08
inet addr:192.168.2.20 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::21d:9ff:feb9:5d08/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2057 errors:0 dropped:0 overruns:0 frame:0
TX packets:1366 errors:0 dropped:0 overruns:0 carrier:0
collisions:30 txqueuelen:1000
RX bytes:1405308 (1.3 MiB) TX bytes:147516 (144.0 KiB)
Interrupt:20
#ethtool ile hata görüntüleme. -S paratmesi kullanıyoruz.
[root@erd-ltp-lynx-01 ~]# ethtool -S eth0
NIC statistics:
rx_octets: 1408878
rx_fragments: 97
rx_ucast_packets: 1509
rx_mcast_packets: 14
rx_bcast_packets: 556
rx_fcs_errors: 0
rx_align_errors: 0
rx_xon_pause_rcvd: 0
rx_xoff_pause_rcvd: 0
rx_mac_ctrl_rcvd: 0
rx_xoff_entered: 0
rx_frame_too_long_errors: 0
rx_jabbers: 0
rx_undersize_packets: 0
rx_in_length_errors: 0
rx_out_length_errors: 0
rx_64_or_less_octet_packets: 0
rx_65_to_127_octet_packets: 0
rx_128_to_255_octet_packets: 0
rx_256_to_511_octet_packets: 0
rx_512_to_1023_octet_packets: 0
rx_1024_to_1522_octet_packets: 0
rx_1523_to_2047_octet_packets: 0
rx_2048_to_4095_octet_packets: 0
rx_4096_to_8191_octet_packets: 0
rx_8192_to_9022_octet_packets: 0
tx_octets: 147796
tx_collisions: 30
tx_xon_sent: 0
tx_xoff_sent: 0
tx_flow_control: 0
tx_mac_errors: 0
tx_single_collisions: 9
tx_mult_collisions: 8
tx_deferred: 36
tx_excessive_collisions: 0
tx_late_collisions: 0
tx_collide_2times: 0
tx_collide_3times: 0
tx_collide_4times: 0
tx_collide_5times: 0
tx_collide_6times: 0
tx_collide_7times: 0
tx_collide_8times: 0
tx_collide_9times: 0
tx_collide_10times: 0
tx_collide_11times: 0
tx_collide_12times: 0
tx_collide_13times: 0
tx_collide_14times: 0
tx_collide_15times: 0
tx_ucast_packets: 1323
tx_mcast_packets: 43
tx_bcast_packets: 4
tx_carrier_sense_errors: 0
tx_discards: 0
tx_errors: 0
dma_writeq_full: 0
dma_write_prioq_full: 0
rxbds_empty: 0
rx_discards: 0
rx_errors: 0
rx_threshold_hit: 0
dma_readq_full: 0
dma_read_prioq_full: 0
tx_comp_queue_full: 0
ring_set_send_prod_index: 0
ring_status_update: 0
nic_irqs: 0
nic_avoided_irqs: 0
nic_tx_threshold_hit: 0
netstat
netstat ağ araçları içerisinde en versatile olanıdır ve -i parametresi ile kısıtlı rapor sunar. Netstat mii-tool ve eth-tool araçlarının olmadığı sistemlerde tercih edilir.
[root@erd-ltp-lynx-01 ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 2124 0 0 0 1376 0 0 0 BMRU
lo 16436 0 3140 0 0 0 3140 0 0 0 LRU
virbr0 1500 0 0 0 0 0 45 0 0 0 BMRU
wlan0 1500 0 0 0 0 0 0 0 0 0 BMU
Ethernet üzerinde meydana gelecebilecek hataların nelerden kaynaklanabileceğini burada tartışmayacağız. O genelde bu tür hatalar yanlış kablolama, hatalı ağ kartı, vb. Sourunlardan meydana gelirler.
Umarım yukarıda tartıştığımız konular günlük hayatınızda işiniz yarar. Bir dahaki Linux makalesinde görüşmek üzere….



