Skip to content

05 网络侦错

1. 无法联机原因分析

1.1 硬件问题:网络线材、网络设备、网络布线等

1.1.1 网络线材的问题

要注意网线分成并行线与跳线 (RJ-45 接头),并不是所有的设备都支持自动分辨跳线与并行线的功能的。

  • 网线被截断;
  • 网线过度扭曲变形造成讯号不良;
  • 自制网络接头 (如 RJ-45 跳线头) 品质不良;
  • 网络接头与设备 (如 Hub) 接触不良;

1.1.2 网卡、Hub 及 Router 等网络设备的问题

  • 网络卡不稳定、质量不佳,或者与整体系统的兼容度不佳 (网络卡也是会坏的);
  • 各网络设备的接头不佳,接触不良,造成讯号衰减 (经常的拔插就有可能发生);
  • 于网络设备所在环境恶劣 (例如过热) 导致的宕机问题;
  • 各网络设备使用方法不良,造成设备功能衰减 (switch 常常插电/断电容易坏喔);

1.1.3 设备配置的规则

  • 使用错误的网线,最常发生在并行线与跳线的分别 (现在比较少见这个问题了)!
  • 架设的网线过长,导致讯号衰减太严重。例如以太网络 CAT5e 的线理论限制长度大概是在 90 公尺左右 (虽然 10BASE5 可达 500m),若两个设备 (Hub/主机之间) 长度大于 90 公尺时,自然就容易出现讯号发生问题了!
  • 其他噪声的干扰,最常发生在网线或者网络设备旁边有太强的磁波;
  • 局域网络上面,节点或者其他的设备太多,过去我们常以所谓的 543原则来说明:
    • 5 个网段 (segment)。所谓 segment 就在物理连接上最接近的一组计算机,在一个 BNC 网段里面最多只能接 30 台计算机,且网线总长不能超过 185m。
    • 4 个增益器 (repeater)。也就是将信号放大的装置。
    • 3 个计算机群体 (population)。这个不好理解,也就是说前面所说的 5 个 segment 之中, 只能有 3 个可以装计算机,其它两个不行。
  • 硬件本身的问题与网络布线情况。

1.2 软件问题:IP 参数设定、路由设定、服务与防火墙设定等

  • 网卡的 IP/netmask 设定错误
  • 路由的问题 (route table)。最常见的就是默认路由 (default gateway) 设定错误。
  • 通讯协议不相符
  • 网络负荷的问题 (loading)
  • 其他问题。防火墙;程序bug;系统兼容性等

1.3 问题的处理

  • 先由自身的环境侦测起,可以由自身 PC 上的网络卡查起,到网络线、到 Hub 再到调制解调器等等的硬件先检查完。
  • 确定硬件没问题了,再考虑软件的设定问题
  • 了解问题:这个问题是刚刚发生?还是因为之前我做了什么动作而导致无法联机?
  • 确认 IP:先看看自己的网卡有无驱动?能否取得正确的 IP 相关参数来联机?
  • 确认局域网联机:利用 ping 来沟通两部主机 (路由器或 IP 分享器),确定网络线与中继的 hub/switch 工作正常;
  • 确认对外联机:看主机或 IP 分享器能否依据顺利取得 IP 参数,并以 ping 的方法确定对外联机是可以成功的
  • 确认 DNS 查询:利用 nslookup 或 host 或 dig 检查
  • 确认 Internet 节点:可以利用 traceroute 检查各节点是否没问题?
  • 确认对方服务器正常服务:是否对方服务器繁忙?或他的机器挂了?
  • 确认我方服务器:如果是别人连不上我这部主机,那检查主机某些服务正确启动否?可利用 netstat 检查。或是否某些安全机制的软件没有设定好,例如SELinux 。
  • 防火墙或权限的问题:是否由于权限设定错误所致? 是否由于你的机器有防火墙忘记启用可联机的端口所致?这个可以通过 tcpdump 来处理

2. 处理流程

2.1 步骤一:网卡工作确认

  1. 确定网卡已经成功驱动
  2. 确定可以手动直接设置 IP 参数。设置了ip之后,ping 一下该ip,若成功则说明网卡没问题

2.2 步骤二:局域网络内各项连接设备检测

  • 关于 Windows 端的工作组与计算机名称。建议所有的计算机将工作组设定相同,但计算机名称则不能相同!不过,这个只与网络邻居及 SAMBA 服务器有关。

  • IP 参数是否设定正确

  • 联机的线材问题。除了前文提到的情况之外,由于有时候网线本身讯号不良,虽然灯还是会亮,不过就是无法连接到 Switch 的情况。
  • 网卡或 Hub/Switch 本身出问题

2.3 步骤三:取得正确的 IP 参数

指的是与 public IP 取得沟通的正确设置。

如果你是使用 ADSL 拨接的:

  • 将 ADSL 的调制解调器整个关机,将 Switch/Hub 也关掉电源;
  • 静待十分钟,等这些设备比较“凉快”一点后,再重新插上电源;
  • 将 Linux 连接到 ADSL 的那块网卡 (假设为 eth0) 在 ifcfg-eth0 内,『ONBOOT』设定为 no, 重新启动网络 (/etc/init.d/network restart),然后再执行 adsl-start
  • 如果还是无法拨接成功,并且你已经确认内部网域没有问题,那请电信的工作人员来帮忙你处理吧!

2.4 步骤四:确认路由表的规则

2.5 步骤五:主机名与 IP 查询的 DNS 错误

/etc/resolv.conf

2.6 步骤六:Linux 的 NAT 服务器或 IP 分享器出问题

NAT 服务器最简单的功能就是 IP 分享器啦!NAT 主机一定是部路由器,所以你必须要在 Linux 上面设置好正确的路由信息。另外, NAT 主机上面的防火墙设定是否合理? IP 分享器上面是否有设定抵挡的机制等等,都会影响到对外联 机是否能够成功的问题点。

2.7 步骤七:Internet 的问题

traceroute

2.8 步骤八:服务器的问题

  • 服务器并没有开放该项服务
  • 主机的权限设定错误
  • 安全机制设定错误
  • 防火墙问题