红联Linux门户
Linux帮助

Linux网络连接故障排除(上)

发布时间:2005-11-22 18:12:33来源:红联作者:root
一、Linux网络结构特点
由于Linux是在Internet上发展成熟的操作系统,因此,它具有与生俱来的网络功能,特别在Internet和Intranet的功能上有明显优势。但是由于Linu
x的桌面应用和Windows的差距,除了一些Linux专门实验室之外大多数企业应用Linux系统时:往往是Linux和Windows或Unix等操作系统共存形成异构网络。掌握Linux TCP/IP的网络模型(见图-1所示),掌握OSI网络模型、TCP/IP模型及相关服务对应的层次对于Linux网络故障分析与排除是非常重要的。据统计,Linux网络故障有35%在物理层、25%在数据链路层、10%在网络层、10%在传输层、10%在对话、7%在表示层、3%在应用层。由此可以看出,网络故障通常发生在网络七层模型的下三层,即物理层、链路层和网络层。对应于实际网络也就是使用的网络线缆、连接模块、网卡、交换机、路由器等设备故障。这些故障可能因为硬件的质量或性能、磨损老化、人为误操作、不正确的网络协议设置、管理问题、Linux软件的BUG、系统受到黑客攻击和Linux病毒等原因造成。OSI的层次结构为网管员分析和排查故障提供了非常好的组织方式。由于各层相对独立,按层排查能够有效地发现和隔离故障,因而一般使用逐层分析和排查的方法。

图-1 Linux TCP/IP四层模型和OSI七层模型对应
把OSI七层模型和Linux TCP/IP四层网络模型对应,然后将各种网络协议也规档,这样有利于网络故障的排除。TCP/IP模型各个层次的功能和协议见表-1。
文章评论

共有 6 条评论

  1. 小猫 于 2008-04-27 23:40:02发表:

    太好了,要认真学习,这个

  2. feidecheng 于 2008-04-27 16:01:38发表:

    :0w5ty(1 学习了

  3. szcaizai 于 2006-03-25 15:01:51发表:

    thanks

  4. redapp 于 2005-12-10 00:35:35发表:

    不错,不错

  5. root 于 2005-11-22 18:14:24发表:

    需要重点说明的是: TCP/IP与OSI最大的不同在于OSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。图2示出TCP/IP的主要协议分类情况。



    图3 Linux网络拓扑图
    丛图3中可以看出这是一个典型的中型Linux异构以太网络。包括各种服务器、防火墙。网络节点在300个左右,对于这个网络故障应当丛网络硬件传输问题开始,然后检查软件设定问题。
    1. 网络硬件传输问题
    网络硬件传输问题引起的故障主要指连通性故障。

    (1)网络线缆 
    在图-3中可以发现,网络接口设备中使用最多的是网络线缆 。由于网络线缆 经常接在墙角和门缝处,有可能被压坏。所以,需要注意网线是否因被截断、网线过度扭曲变形、自制网络接头(如RJ-45跳线头)品质不良造成讯号不良;网络接头与设备(如集线器、路由器、交换机)接触不良等。网络线缆的检测通常使用网络线缆测试仪。它主要用于测试目前大家常用的遮敝式双绞线、非遮敝式双绞线及同轴缆线等。一般来讲网络线缆测试仪都有侦测缆线错误状态功能,网线是否开路,是否短路以及相反、交叉、分离等即可就可辨别,同时在一定的范围内还可量测缆线的长度,更主要的是用它来核对双绞线末端到末端连接是否符合 EIA/TIA 568商业建筑电信布线标准。 

    (2)网卡、集线器、路由器、交换机、ADSL调制解调器等网络硬件设备

    1、网卡不稳定、品质不佳,或者与整体系统的兼容性不佳; 各网络设备的接触不良,造成讯号衰减; 网络设备使用方法不良,造成设备功能衰减等都会造成传输问题。网卡的检测可以通过网卡的Link灯代表网线的好坏或者与Hub的连接是否正确,网卡的100M灯代表是否是100M连接。
    2、高品质的路由器、交换机一般都有液晶显示菜单,实时显示运行状态,可以从中看出设备的故障情况。大部分网络设备的物理层的信息虽然标识一样,但在细节上很不相同,需要仔细研读产品说明书来了解。另外可以在交换机上观察各以太口上获得的MAC地址来判断故障。链路层的信息一般和物理层的信息交织在一起,除非出现误码率高和设备运行状态不稳定等,都不需要对链路层进行排障。
    3、ADSL调制解调器:
    POWER: 当ADSL路由器接上电源后,电源LED指示灯会亮起。如果LED指示灯熄灭的话,请检查您的电源接线是否正确。STATUS: 当ADSL Modem与局端设备握手时会闪烁,连线后会常亮。LINE 当广域网线路联通时,指示灯会亮起;在线路有数据传送时会闪烁。PC 局域网联机LED指示灯。当联机上以太网时,此灯会亮起;在未连接以太网时,此灯是熄灭的。以太网有数据传输时闪烁。
    TEST 测试用,常灭。
    (3) 网络设备配置的规则


    各个网络设备的配置都是有规则的。太长的网络线会造成讯号的衰减,导致网络联机的时间太长甚至无法联机。 例如100兆以太网要遵守5-4-3-2-1网络标准:5-最多有5个网段且干线总长最大为2469m。4-最多连4个中继器。 3-其中3个干线段上连工作站,一个干线最多100个工作站,中继器相当于一个工作站,干网的每一端均需50欧姆的端界器,其中一个必须接地。2-有两个网段只用来扩长而不连任何工作站,1-由此组成一个局域网,工作站到收发器最大距离50m,收发器最小间距2.5m。
    (4)UPS电源

    UPS电源是一个容易被忽视的环节。由于核心路由器、大型交换机、基带式“猫”等网络设备对电压和接地都非常敏感,因此,对于这些网络,应当使用性能优良的在线式UPS作为供电电源,对于服务器10个以上,节点在300个以上的中型网络最好使用10000W功率以上的,从而可以将所有的网络设备都连接在同一电源,避免不同设备间的电压差别。此外,机房和机柜要有非常好的接地措施,并为所有设备建立一条地线保证接地电压相同,确保网络设备正常进行。
    2.软件问题

    (1)网卡的IP地址设定错误
    网卡是Linux网络中的最常用设备,通常Linux服务器要安装两块以上网卡。网卡IP地址的设定不当是导致网络故障的最常见原因。例如,同一个IP在同一个网段中出现造成IP冲突、子屏蔽网络设定错误等。
    (2)路由问题(Router)
    这方面的问题出在网关的设定错误,或者是路由设定不正确,导致资料封包没有办法顺利地送出去。路由器是
    (3)网络负荷问题(Loading)
    当黑客对网络实施拒绝服务攻击时,同时有大量的信息包涌服务器或交换机和路由器,就有可能造成网络的停顿甚至挂起。许多Linux网络故障是由于Linux服务器遭到系统攻击引起的。

    (4)NAT问题
    NAT 无法正确的工作原因有很多,不过,如果您确定您的局域网络联机已经正常,而且主机可以正确的连上 Internet,另外,客户端的 DNS 设定也是正确的,那么可能发生的问题大概就是没有将转发功能打开,使用命令:
    #echo 1 > /proc/sys/net/ipv4/ip_forward
    如果使用采用iptables作为NAT服务器接入网络,还要通过NAT将内网IP转换为外网IP,隐藏内部网络
    iptables -t nat -A POSTROUTING -o eth0 -p tcp --dport 110 -j SNAT --to-source 202.112.133.119
    iptables -t nat -A POSTROUTING -o eth0 -p udp --dport 110 -j SNAT --to-source 202.112.133.119
    其中:该入服务器的eth0接口连外网,IP地址为202.112.133.119。eth1接口连局域网,IP地址为192.168.0.1;局域网内部有一台Web服务器,IP地址为192.168.0.100。


    (5)其它
    防火墙是Linux网络安全的关键部件,能够探测和阻挡的攻击。以Redhat Linux为例安装时已经内至三种不同级别(标准、高、无防火墙)的防火墙。有时候选择最高级别防火墙会让一些通信端口被防火墙挡住了,造成无法执行某些网络资源。如果没有指定具体情况,系统应用默认的防火墙级别即高级别防火墙,是指系统指允许DHCP网络链接、技术消息服务(IRC)和实时音频处理。中级别防火墙禁止运行远程会话、远程NFS 、FTP、SSH、HTTP、Telnet和端口好低于1023的如何连接。
    对于如何选择你自己的安全级别,要从您的工作需求决定。如果你目前只是学习Linux基础知识和编程,可以将级别降低一下,一旦你准备将企业应用或关键应用放到Linux平台上时,则应提高安全级别。另外在代理服务器(Squid)、文件服务器(Samba)等故障中也要考虑防火墙设定问题。

    另外Linux内核存在的漏洞问题;应用程序中BUG;以及不同的操作系统的兼容性问题;设备驱动的缺少也是发生Linux网络故障的原因。

  6. root 于 2005-11-22 18:12:59发表:

    表-1 TCP/IP模型各个层次的功能和协议

    层次名称 功能 协议
    接入网层
    (Host-to-Net Layer) 负责实际数据的传输,对应OSI参考模型的下两层 HDLC(高级链路控制协议)
    PPP(点对点协议)
    SLIP(串行线路接口协议)
    网际层
    (Inter-network Layer) 负责网络间的寻址
    和数据传输, 对应OSI参考模型的第三层 IP(网际协议)
    ICMP(网际控制报文协议)
    ARP(地址转换协议)
    RARP(反向地址转换协议)
    传输层
    (Transport Layer) 负责提供可靠的传输服务, 对应OSI参考模型的第四层 TCP(控制传输协议)
    UDP(用户数据协议)
    应用层
    (Application Layer) 负责实现一切
    于应用程序相关的功能, 对应OSI参考模型的上三层 FTP(文件传输协议)
    HTTP(超文本传输协议)
    DNS(域名服务协议)
    SMTP(简单邮件传输协议)
    NFS(网络文件系统协议)