⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0150detect_network.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 3 页
字号:
			<li>网路线过度扭曲变形造成讯号不良;
			<li>自制网路接头 ( 如RJ-45跳线头 ) 品质不良;
			<li>网路接头与设备 ( 如 Hub )接触不良;</span></ul><br /></li>

		<li><span class=text_import1>网路卡、Hub 及 Router 等网路设备的问题</span>∶<br /><br />
			另外,还有一些网路设备也会有问题,常见的问题如下∶<br /><br />
			<ul><span class=text_import2>
			<li>网路卡不稳定、品质不佳,或者与整体系统的相容度不佳;
			<li>各网路设备的接头不佳,接触不良,造成讯号衰减;
			<li>由于网路设备所在环境恶劣 (例如过热) 导致的当机问题;
			<li>各网路设备使用方法不良,造成设备功能衰减;</span></ul><br /></li>

		<li><span class=text_import1>设备配置的规则</span>∶<br /><br />
			在各个设备的配置上是有一定的规则的,而最容易发生的问题就是太长的网路线会造成讯号的衰减,
			导致网路连线的时间太长甚至无法连线。我们曾在网路基础当中谈过乙太网路最长的支援距离,
			还有一些其他网路媒体配置的问题您必须晓得的∶<br /><br />
			<ul><span class=text_import2>
			<li>使用错误的网路线,最常发生在平行线与跳线的分别!
			<li>架设的网路线过长,导致讯号衰减太严重。例如乙太网路 CAT5e 的线理论限制长度大概是在 90 
			    公尺左右,若两个设备 (Hub/主机之间) 长度大于 90 公尺时,自然就容易出现讯号发生问题了!
			<li>其他杂讯的干扰,最常发生在网路线或者网路设备旁边有太强的磁波;
			<li>区域网路上面,节点或者其他的设备太多,过去我们常以所谓的 543 原则来说明∶
			<ul><li>5个网段(segment)。所谓segment就在物理连接上最接近的一组电脑,
				在一个BNC网段里面最多只能接30台电脑,且网线总长不能超过185m。
				<li>4个增益器(repeater)。也就是将信号放大的装置。
				<li>3个电脑群体(population)。这个不好理解,也就是说前面所说的5个segment之中,
				只能有3个可以装电脑,其它两个不行。</ul>
			</span></ul></li>
		</ol>
		上述是一些最常见的硬体问题,当然啦,有的时候是设备本身就有问题,
		而我们在网路基础里面谈到的那个很重要的『
		<a href="0110network_basic.php#whatisnetwork_ethernet">网路布线</a>
		』的情况,也是造成网路停顿或通顺与否的重要原因呐!所以,硬体问题的判断比较困难点。
		好~底下我们再来聊一聊软体设定的相关问题。<br /><br />
	</div>

	<hr /><a NAME="problems_soft"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">软体问题</span><br />
	<div class=block2>
		所谓的软体问题,绝大部分就是 IP 设定错误啊,路由不对啊,还有 DNS 的 IP 设定错误等等的,
		这些问题都是属于软体设定啦!只要将设定改一改,利用一些侦测软体查一查,
		就知道问题出在哪里了!基本的问题有∶<br />
		<ol>
		<li><span class=text_import1>网路卡的 IP 设定错误</span>∶<br />
		例如∶同一个 IP 在同一个网段中出现造成 IP 冲突、子遮罩网路设定错误、网路卡的驱动程式使用错误、
		网路卡的 IRQ、 I/O Address 的设定冲突等等;<br /><br /></li>
		<li><span class=text_import1>路由的问题 (route table)</span>∶<br />
		最常见的就是预设路由 (default gateway) 设定错误了!或者是路由介面不符所导致的问题,
		使得资料封包没有办法顺利的送出去。<br /><br /></li>
		<li><span class=text_import1>通讯协定不相符</span>∶<br />
		最常发生在不同的作业系统之间的通讯传输,例如早期 Windows 98 与 Windows 2000 之间的『网芳』
		若要达成沟通,则 Windows 98 必须要加装 NetBEUI 这个通讯协定才行。又例如两部 Linux 
		主机要透过 NFS 通讯协定传输资料时,两边都得要支援 portmap 这个启动 RPC 协定的程式才行!
		这些通讯协定我们都会在后面的章节分别介绍的啦!<br /><br /></li>
		<li><span class=text_import1>网路负荷的问题 (loading)</span>∶<br />
		当同时有大量的资料封包涌进 Server 或者是 Hub 或者是同一个网域中,
		就有可能造成网路的停顿甚至挂点!另外,如果区网内有人使用 BT (P2P 软体)
		或者是有人中毒导致蠕虫充满整个区网,也会造成网路的停顿问题;<br /><br /></li>
		<li><span class=text_import1>其他问题</span>∶<br />
		例如∶一些 port 被防火墙挡住了,造成无法执行某些网路资源;应用程式本身的 Bug 
		问题;应用程式中使用者的网路设定错误;以及不同的作业系统的相容性问题等等。
		</ol>
	</div>

	<hr /><a NAME="problems_solv"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">问题的处理</span><br />
	<div class=block2>
		既然问题发生了,就要去处理他啊!那如何处理呢?以上面的星形连线图示为例,把握两个原则∶
		<ul><span class=text_import2>
		<li>先由自身的环境侦测起,可以由自身 PC 上的网路卡查起,到网路线、到 Hub 再到 ATU-R 
			等等的硬体先检查完。在这个步骤当中,最好用的软体就是 ping ,
			而你最好能有两部以上的主机来进行连线的测试;<br /></li>
		<li>确定硬体没问题了,再来思考软体的设定问题!</span></ul>

		实际上,如果网路不通时,你可以依序这样处理∶<br />
		<ol>
		<li><span class=text_import2>了解问题</span>∶这个问题是刚刚发生?还是因为之前我做了什么动作而导致无法连线?
		<li><span class=text_import2>确认 IP</span>∶先看看自己的网卡有无驱动?能否取得正确的 IP 来连线?
		<li><span class=text_import2>确认区网连线</span>∶利用 <a href="0140networkcommand.php#ping">ping</a>
		来沟通两部主机,确定网路线与中继的 hub/switch 工作正常;
		<li><span class=text_import2>确认对外连线</span>∶看主机或 IP 分享器能否依据
		<a href="0130internet_connect.php">连上 Internet</a> 那一章的方法顺利取得 IP 参数,并以
		<a href="0140networkcommand.php#ping">ping</a> 的方法确定对外连线是可以成功的;
		<li><span class=text_import2>确认 DNS 查询</span>∶利用 <a href="0140networkcommand.php#nslookup">nslookup</a>
		或 host 或 dig 检查 www.google.com 看看;
		<li><span class=text_import2>确认 Internet 节点</span>∶可以利用
		<a href="0140networkcommand.php#traceroute">traceroute</a> 检查各节点是否没问题?
		<li><span class=text_import2>确认对方伺服器正常服务</span>∶是否对方伺服器忙线中?或他的机器挂了?
		<li><span class=text_import2>确认我方伺服器</span>∶是否某些服务没有正确启动?可利用 
		<a href="0140networkcommand.php#netstat">netstat</a> 检查,
		是否某些安全机制的套件没有开放,例如 SELinux 这项机制;
		<li><span class=text_import2>防火墙或权限的问题</span>∶是否由于权限设定错误所致?
		是否由于您的机器有防火墙忘记启用可连线的埠口所致?这个可以透过
		<a href="0140networkcommand.php#tcpdump">tcpdump</a> 来处理!
		</ol>

		透过这些处理动作后,一般来说,应该都可以解决您无法上网的问题了!
		当然啦,如果是硬体的问题,那么鸟哥也无法帮你,你可能最需要的是......
		『<span class=text_import1>送修吧孩子!</span>』<br />
	</div>
</div>


<hr /><a NAME="step"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">处理流程</span><br />
<div class=block1>
	既然知道上面已经谈到的几个小重点了,接下来当然是一个一个的给他处理掉啊!
	底下我们就得要一步一脚印的开始检查的流程啊!<br /><br />

	<hr /><a NAME="step_1_nic"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">步骤一∶网路卡工作确认</span><br />
	<div class=block2>
		其实,网路一出问题的时候,您应该从自己可以检查的地方检查起,因此,
		最重要的地方就是检查您的网路卡是否有工作的问题啦!检查网路卡是否正常工作的方法如下∶<br />

		<ol>
		<li><span class=text_import1>确定网路卡已经驱动成功∶</span><br />
		如果网路卡没有驱动成功,其他的,免谈!!所以你当然需要驱动你的网路卡才行!
		确认网路卡是否被驱动,可以利用 lspci 先看看有没有捉到 Ethernet 字样的显示资讯,再以 dmesg 
		来检查是否被核心侦测到,最后使用 lsmod 看看有没有相对应的模组已被载入。
		整个步骤可以参考『<a href="0130internet_connect.php#note_nic">连上 Internet - Linux 网路卡</a>』那一个小节,
		这里鸟哥不再说明了! ^_^!不过你要注意的是,如果上述的检测方式都无法发现你的网路卡模组,
		那肯定就是核心与核心模组不支援你的网路卡啊!那该怎办?参考
		『<a href="0130internet_connect.php#note_compile">连上 Internet之网卡编译</a>』就对了!<br /><br />

		<li><span class=text_import1>确定可以手动直接建立 IP 参数∶</span><br />
		在顺利的载入网路卡的模组,并且『取得网路卡的代号』之后,我们可以利用
		<a href="0140networkcommand.php#ifconfig">ifconfig</a> 或 
		<a href="0140networkcommand.php#ip_cmd">ip</a> 来直接给予该网路卡一个网路位址试看看!
		看能否给予 IP 设定呢?例如∶<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>ifconfig eth0 192.168.1.100</span>
</pre></td></tr></table>
		来直接建立该网路卡的 IP ,然后直接输入 ifconfig 看能否查阅到刚刚设定好的参数即可。
		如果可以建立起该 IP ,就以 ping 来检测看看∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>ping 192.168.1.100</span>
</pre></td></tr></table>
		如果有回应的话,那表示这个网卡的设定应该是没有问题了!
		再来则是开始检测一下区域网路内的各个连接硬体啦!</li>
		</ol>
		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">			事实上要再次的重申,如果您的主机捉不到您主机上的网路卡 (通常是内建的网路晶片),
			那么最好买一张便宜的螃蟹卡先来凑合著用,『先求有!再求完美』,
			不要一开始就挑战自己的耐心啊!拜托拜托!
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>	</div>

	<hr /><a NAME="step_2_lan"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" />	<span class="text_h2">步骤二∶区域网路内各项连接设备检测</span><br />
	<div class=block2>
		在确认完了最重要的网路卡设定之后,并且确定网路卡是正常的之后,
		再接著下来则是区域网路内的网路连接情况了!假设您是按照
		<a href="#fig_1">图一</a>所设定的星形连线区域网路架构,那么你必须要知道整个『网域』的概念!<br />
		<ol>
		<li><span class=text_import1>关于网域的概念</span>∶<br />
		你得清楚的知道图一中各主机与伺服器可以互相沟通是因为他们在『同一个网域里面』,
		所以,你要知道所谓的 192.168.1.0/24 这种网域的表达方式所代表的意义,
		且子遮罩网路 (Netmask) 的意义也得了解。如果忘记了,请回去<a href="0110network_basic.php">网路基础</a>再翻一翻。
		<br /><br /></li>

		<li><span class=text_import1>关于 Gateway 与 DNS 的设定</span>∶<br />
		Gateway 与 DNS (在 /etc/sysconfig/network-scripts/ifcfg-eth0, /etc/resolv.conf 的设定) 最容易被搞混~
		这两个并非是填写你的 Linux 主机的 IP 喔!应该是要填写 IP 分享器 (或 NAT 主机) 的 IP 在 Gateway 中,
		填写 168.95.1.1 在 DNS 的 IP 设定当中!不能够搞错啊!如果还是不清楚?回去网路基础看看吧!<br /><br /></li>

		<li><span class=text_import1>关于 Windows 端的工作群组与电脑名称</span>∶<br />
		假如您还需要资源分享,那么您就必须在 windows 系统中开放档案分享,
		并且建议所有的电脑将『工作群组』设定相同,但『电脑名称』则不能相同!</li>
		</ol>

		假设你的区网内所有的主机 IP 都设定正确了,那么接下来你就可以使用 ping 来测试两部区网内主机的连线,
		这个连线的动作可以让你测试两部主机间的各项设备,包括网路线、Hub/Switch 等等的咚咚!
		如果无法测试成功,那就请了解一下∶<br />
		<ol>
		<li><span class=text_import1>IP 参数是否设定正确</span>∶<br />
		再次强调,先决定 IP 是对的!鸟哥在上课的时候常常发现同学无法连到我的主机上,
		一经使用 ifconfig 才发现他们与我的 IP 不在同一个网段内,就是会有这样的情况发生啊!唉~<br /><br /></li>

		<li><span class=text_import1>连线的线材问题</span>∶<br />
		包括我们前面提到的网路线本身折损、过度缠绕造成的讯号衰减问题等等,
		另外,有些比较旧的 Hub/Switch 或者是 ATU-R (ADSL 数据机,俗称的小乌龟是也) 由于没有
		<a href="0110network_basic.php#auto_mdi">Auto MDI/MDIX</a> 的功能,所以无法自动的分辨跳线与否,
		那么当你插错网路线的时候,也就无法接通啦!这样了解乎?另外,<span class=text_import2>早期我们常常会说,
		最简单判断每部主机是否顺利连接到 Hub/Switch 可以透过连接到 Switch 上的灯号来判断</span>,
		不过,由于有时候网路线本身讯号不良,虽然灯号还是会亮,不过就是无法连接到 Switch  的情况
		(鸟哥自己就曾发生过啊!),此时,跟朋友借一条 OK 的网路线来测试看看吧!<br /><br /></li>

		<li><span class=text_import1>网卡或 Hub/Switch 本身出问题</span>∶<br />
		有一次鸟哥无法在外部连接到鸟哥的主机,怀疑是挂点了,结果冲到主机所在办公室察看,咦!
		主机是好好的嘛!那怎么会无法连线呢?原因是.......室内环境通风不良,加上 Switch 所在处温度过高,
		加上那部旧的 switch 『刚好』风扇坏了,哈!就这样『 <span class=text_import2>switch 当机</span> 』
		在重新启动 switch (拔掉再插上电源线) 后就正常了。所以棉,很多情况都是会发生的,
		而区域网路内的环境也很容易影响到连线品质啊!<br /></li>
		</ol>
		确定自己主机的 IP 与网卡没有问题,加上内部区网透过 ping 也测试过没有问题,
		接下来就是要『取得可以对外连线的 IP 参数』啦!这个重要!<br /><br />
	</div>

	<hr /><a NAME="step_3_ip"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">步骤三∶取得正确的 IP 参数</span><br />
	<div class=block2>
		什么叫『取得正确的 IP 参数』啊?还记得我们谈过如果要顺利的连接上 Internet 的话,
		必须要可以跟 public IP 进行沟通才行,而与 public IP 取得沟通的方法,在台湾比较常见的有 ADSL, 
		Cable modem, 学术网路, 电话拨接等等,在 CentOS 当中,我们可以透过修改 
		/etc/sysconfig/network-scripts/ifcfg-eth0,或者是利用 rp-pppoe 来进行拨接,
		无论如何,<span class=text_import2>你就是得要连接到某个 ISP 去就是了</span>~在你确认所有的区网没有问题之后,
		参考一下<a href="0130internet_connect.php">连上 Internet </a>那一章的介绍,
		连上之后,立即以 ifconfig 看看有没有捉到正确的 IP 啊?
		在台湾如果使用 ADSL 连线的话,你应该可以顺利的取得一组正确的 Public IP 参数的!<br />

		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		曾有国外的华人朋友来信说到,他们使用 ADSL 拨接之后竟然取得一组 Private IP ,
		害他们没有办法架站!他们想请问这样的情况是否合理。如果您熟悉路由相关的概念之后,
		当然会知道∶『这当然合理!』,因为你取得的 IP 只是为了要连接到 ISP 去而已,
		而 ISP 与你的主机当然可以透过 Private IP 来连线啊!如果是这样的话,那么您就肯定无法架站了! ^_^
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
		另外,最常发现无法顺利取得 IP 的错误就是『BOOTPROTO』这个设定值设定错了!
		因为 static 与 hdcp 协定所产生的 IP 要求是不一样的啊!还记得吧!
		要特别留在 ifcfg-eth0 里面的设定参数喔!另外,如果你是使用 ADSL 拨接的,
		但是老是无法拨接成功,那么建议你可以这样试看看∶<br />

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -