Linux Quick Fix Notebook学习摘录(二)
时间:2005-12-20 来源:showrun
linux quick fix notebook学习摘要二。
前一段时间太忙,一直到现在才继续写。
简单网络排错
1. 网络变慢的原因
l 网卡的双工模式或者速度不匹配
l 网络阻塞(congestion)
l 配置糟糕的路由
l 网线问题
l 电子干扰
l 远端服务器过载
l 配置错误的DNS
2. 连接不通的原因
所有造成网络变慢的原因都可以造成网络不通。除此之外的原因还有:
l 掉电
l 远端服务器或者上边的应用关闭
3. 做基础的网线测试
判断你的服务器与交换机或者路由器是否连接正常的一个重要特征就是网卡上的灯是否亮起,这是一个重要的前提。(但是这不是惟一的标准,我也碰到过网线坏的,但是网卡灯正常,同样不能通讯)
在一些情况下,造成无法连接的原因是使用了错的网线类型。目前有两种网线类型:交叉(crossover)和直通(straight-through).在排错前,先确保您使用的是正确的网线类型。
在这种情况下,导致网络连接失败的原因有:
l 网线是坏的
l 服务器网卡连接的交换机或者路由器关机
l 网线没有正确的插上
如果您有一个负责的网络,那么仅仅去买一台网线测试器是往往不够的。目前市面上有更有效的设备,具有告诉您网线不通的原因是因为有的断点还是网线超出了距离。
4. 测试你的网卡
显示所有被激活的网卡
这个命令在不带参数的情况下,只显示处于激活状态的网卡
[root@bigboy tmp]# ifconfig
显示所有的网卡
使用ifconfig –a命令可以提供所有的网卡信息,无论他们是否正常使用。网卡被管理员关闭或者没有工作的话,那么在命令输出的第二行将不会看到ip地址和“up”。例子如下:
未连接网线的端口
wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:D7
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:2924 errors:0 dropped:0 overruns:0 frame:0
TX packets:2287 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:180948 (176.7 Kb) TX bytes:166377 (162.4 Kb)
Interrupt:10 Memory:c88b5000-c88b6000
激活状态的网卡
wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:D7
inet addr:216.10.119.243 Bcast:216.10.119.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2924 errors:0 dropped:0 overruns:0 frame:0
TX packets:2295 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:180948 (176.7 Kb) TX bytes:166521 (162.6 Kb)
Interrupt:10 Memory:c88b5000-c88b6000
能够测试链接状态的命令
mii-tool和ethtool可以提供连接和双工工作状态等信息。例子如下:
mii-tool的输出
[root@bigboy tmp]# mii-tool -v
eth0: 100 Mbit, full duplex, link ok
product info: Intel 82555 rev 4
basic mode: 100 Mbit, full duplex
basic status: 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
[root@bigboy tmp]#
Ethtool的输出
[root@bigboy tmp]# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
[root@bigboy tmp]#
导致以太网错误的原因
Collisions:网卡发现他与另外一台网络上的服务器同时请求网络传输。Collisions可以看成以太网的正常现象并且一般情况下应该小于0.1%。造成高错误率的原因往往是无效的网卡或者不好的网线。
Single collisions:在发送一次碰撞后以太网祯发出
Multiple collisions:在成功发送出以太网祯前的尝试了多次
Crc errors:数据祯在传输时被损坏。造成这种现象的原因往往为电子噪声。保证使用正确的网线类型,网线没有被损坏,连接器没有接紧。
Frame errors:错误的crc和错误的字节数都会造成。一般情况下是由于坏的网络设备和collisions造成。
Fifo and overrun errors:网卡因为硬件的速度限制而拒绝从网络向内存传输的次数,一般情况下这是网络拥塞的标志。
Length errors:收到的数据祯比标准的数据祯小或者大。造成这种情况的原因,双工模式不匹配。
Carrier errors:这种错误是由于失去到hub或者交换机的连接造成。检查网线、网卡和网络设备的端口。
怎样看到Mac地址
Ifconfig –a命令可以看到本机的mac地址对应的ip地址
[root@bigboy tmp]# ifconfig -a
wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:B5
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47379 errors:0 dropped:0 overruns:0 frame:0
TX packets:107900 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4676853 (4.4 Mb) TX bytes:43209032 (41.2 Mb)
Interrupt:11 Memory:c887a000-c887b000
wlan0:0 Link encap:Ethernet HWaddr 00:06:25:09:6A:B5
inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11 Memory:c887a000-c887b000
[root@bigboy tmp]#
Arp –a 命令可以显示服务器上的arp 表的内容。下例中显示了这台服务器直连的路由器的mac地址,对应的ip地址为192.168.1.1:
[root@bigboy tmp]# arp -a
bigboypix (192.168.1.1) at 00:09:E8:9C:FD:AB [ether] on wlan0
? (192.168.1.101) at 00:06:25:09:6A:D7 [ether] on wlan0
[root@bigboy tmp]#
使用ping去测试网络的连通性
[root@smallfry tmp]# ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101) from 192.168.1.100 : 56(84) bytes
of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=128 time=3.95 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=128 time=7.07 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=128 time=4.46 ms
64 bytes from 192.168.1.101: icmp_seq=4 ttl=128 time=4.31 ms
--- 192.168.1.101 ping statistics ---
4 packets transmitted, 4 received, 0% loss, time 3026ms
rtt min/avg/max/mdev = 3.950/4.948/7.072/1.242 ms
[root@smallfry tmp]#
使用telnet去测试网络的连通性
telnet默认是去连接23端口,但是你可以使用这条命令去测试目标服务器的其他tcp端口的连接性。例如,下边这条指令就测试了192.168.1.102的22端口的
[root@bigboy tmp]# telnet 192.168.1.102 22
Trying 192.168.1.102...
Connected to 192.168.1.102.
Escape character is '^]'.
SSH-1.99-OpenSSH_3.4p1
^]
telnet> quit
Connection closed.
[root@ bigboy tmp]#