📄 0130internet_connect.htm
字号:
[root@linux ~]# <span class=term_command>sync; reboot</span>
</pre></td></tr></table>
为了测试一下刚刚的设定是否会生效,通常鸟哥都会尝试一次重新开机,
然后开机完成之后观察一下是否有正确的启动网路卡,并观察一下模组载入的情况,
如果一切都顺利,那就太完美了!<br /><br />
<li><span class=text_import1>尝试设定 IP </span><br /><br />
等到一切就绪之后,总得试看看这样的网路卡模组是否可以顺利的设定好 IP 吧?
所以我们先手动给他一个私有 IP 看看先∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>ifconfig eth0 192.168.1.100</span>
[root@linux ~]# <span class=term_command>ifconfig</span>
eth0 Link encap:Ethernet HWaddr 00:01:BA:77:16:52
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
<span class=term_say>.....以下省略.....</span>
</pre></td></tr></table>
嘿嘿!真的设定妥当哩!然后利用 ping 这个指令去 ping 一下网域内的其他电脑,
看看能不能有回应,就知道您的网路卡是否 OK 的啦!通常是没有问题的啦!<br />
</ol>
</div>
<hr /><a NAME="note_files"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">Linux 网路相关设定档案</span><br />
<div class=block2>
要开始玩 Linux 网路之前,<span class=text_import2>请您务必了解 Linux
网路相关设定档案放置的目录与档名</span>!这真的很重要!因为在 Linux 底下修改 IP
只要动到一个档案即可,修改主机名称也只要一个档案,所以只要将这些档案名称记起来,呵呵!
未来在进行网路的测试与修订时,真的会事半功倍~完全不需要什么 linuxconf, webmin 等额外工具的帮助,
真的很简单啦!底下赶紧来说一说与 Linux 网路最相关的几个档案档名与他的用途!<br />
<ul>
<li><span class=text_import1>/etc/sysconfig/network</span><br />
这个档案主要的功能在于设定『<span class=text_import2>主机名称( HOSTNAME )与启动 Network
与否</span>』!一般来说,如果您变动过这个档案内的主机名称时,请务必重新开机 (reboot),
因为这样才会让系统上面所有的程式都使用最新设定的主机名称喔!(<span class=text_vbird>
在 SuSEL 上面,主机名称是记录在 /etc/HOSTNAME 里面的!</span>)<br /><br /></li>
<li><span class=text_import1>/etc/sysconfig/network-scrips/ifcfg-eth0</span><br />
这个档案的内容即是设定网路卡参数的档案啦!里面可以设定『<span class=text_import2>network,
IP, netmask, broadcast, gateway, 开机时的 IP 取得方式( DHCP, static ),
是否在开机的时候启动</span>』等等。至于 ifcfg-eth0 指的是第一块网路卡,而第二块网路卡为 ifcfg-eth1
以此类推。(<span class=text_vbird>在 SuSE 上面则是使用 /etc/sysconfig/network/ifcfg-eth0 </span>)。
<br /><br /></li>
<li><span class=text_import1>/etc/modprobe.conf</span><br />
如果硬体要能动作,当然要核心有支援才行!同时,我们也可以利用外挂的核心模组
(可以将他想成是驱动程式) 来驱动硬体,而开机时用来设定载入核心模组的档案就是 modprobe.conf
啦。一般来说,目前的 distributions 通常使用模组的方式来编译网路卡驱动程式,所以,
当您安装完毕后,您的网路卡与模组对应通常已经写到这个档案当中棉!<br /><br /></li>
<li><span class=text_import1>/etc/resolv.conf</span><br />
我们在<a href="0110network_basic">网路基础</a>里面稍微提到的 DNS 功能是什么?对啦,
就是进行主机名称与 IP 的对应!而 resolv.conf 就是设定 DNS IP (名称解析伺服器) 的档案,
常常有人提到『咦!我已经可以 ping 到外部电脑的公共 IP 了,为何输入网址却无法连线?』
通常发生的错误就是这个档案里面的设定不正确啦!请注意!
通常这个档案可以输入中华电信的 DNS ( 168.95.1.1 )!<br /><br /></li>
<li><span class=text_import1>/etc/hosts</span><br />
这个档案可以记录电脑的 IP 对应主机的名称或者主机的别名!特别留意的是,
在区域网路内有些服务需要反查 Client 的身份,此时就会动用到主机名称对应 IP 的资料。
但是因为区域网路内使用私有保留 IP ,当然无法进行 Hostname 对应 IP 的行为,
这个时候该服务就会呆呆的等待 30~60 秒~如果可以避过这个反查,或者是直接告诉主机 Hostname 与
IP 的对应,那么就可以节省这个反查的时间了!所以,如此一来省去反查的时间,就可以改善 LAN
内的连线速度了!这个 hosts 就是用来设定 Hostname 对应 IP 的啦!
更多的资讯请查阅后续伺服器章节 <a href="0350dns.php">DNS 伺服器</a>的介绍。<br /><br /></li>
<li><span class=text_import1>/etc/services</span><br />
这个档案则是记录架构在 TCP/IP 上面的总总协定,包括 http, ftp, ssh, telnet 等等服务所定义的 port
number ,都是这个档案所规划出来的。如果您想要自订一个新的协定与 port
的对应,就得要改这个档案了;<br /><br /></li>
<li><span class=text_import1>/etc/protocols</span><br />
这个档案则是在定义出 IP 封包协定的相关资料,包括 ICMP/TCP/UDP 这方面的封包协定的定义等。<br /></li>
</ul>
大概知道上面这几个档案后,未来要修改网路参数时,那就太简单了!
至于网路方面的启动指令的话,可以记得几个简单的指令即可喔!<br />
<ul>
<li><span class=text_import1>/etc/init.d/network restart</span><br />
这个 script 最重要!因为可以一口气重新启动整个网路的参数!
他会主动的去读取所有的网路设定档,所以可以很快的恢复系统预设的参数值。<br /><br /></li>
<li><span class=text_import1>ifup eth0 (ifdown eth0)</span><br />
启动或者是关闭某张网路介面。可以透过这个简单的 script 来处理喔!
这两个 script 会主动到 /etc/sysconfig/network-scripts/ 目录下,
读取适当的设定档来处理啊! (例如 ifcfg-eth0)。<br /></li>
</ul>
大概您只要只到这些基本的指令与档案,哈哈!网路参数的设定就太简单啦!
不过,最好您还是要了解 <a href="../linux_basic/0340bashshell-scripts.php">shell script</a>
,比较好!因为可以追踪整个网路的设定条件。 why ?这是因为每个 distributions
的设定资料可能都不太相同,不过却都以 /etc/init.d/network 作为启动的 script ,
因此,您只要了解到该档案的内容,很容易就追踪得出来您的设定档所需要的内容呢!对吧!<br /><br />
</div>
</div>
<hr /><a NAME="connect"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">连上 Internet 的方法∶</span><br />
<div class=block1>
在前一章<a href="0120intranet.php">区域网路的简易设定</a>里面,我们知道了连上 Internet
的方法有好多种,不过在现今的台湾,主要的连线方法其实是以
<span class=text_import2>(1)学术网路、(2)ADSL 固接与拨接、(3)Cable modem</span> 等方式为主,
此外,由于目前使用 Linux notebook 的使用者大增,而 Notebook 通常是以无线网路来连线的,
所以鸟哥在这里也尝试使用一款无线网路来进行连线设定。
至于传统的 56 Kbps 拨接则因为速度较慢且使用度越来越低,所以在这里就不多做介绍了。<br /><br />
另外请特别留意,底下的说明全部都是假设您的网路卡已经正常驱动的情况下,所以,
万一您的网路卡还是无法启动时,看是要(1)参考前面的说明重新编译一个模组,还是(2)早点放弃,
赶紧买张便宜的网路卡来安装与设定,那就完全依照您的需求啦!<br /><br />
<hr /><a NAME="connect_fix_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 就是指在您的网路参数当中,你只要输入既定的 IP 参数即可。那么这个既定的 IP 来自哪里呢?
一般来说,他可能来自于∶
<ul>
<li><span class=text_import2>学术网路</span>∶由学校单位直接给予的一组 IP 网路参数;</li>
<li><span class=text_import2>固定制 ADSL</span>∶向 ISP 申请的一组固定 IP 的网路参数;</li>
<li><span class=text_import2>企业内部或 IP 分享器内部的区域网路</span>∶例如企业内使用私有
IP 作为区域网路的连线之用时,
那么我们的 Linux 当然也就需要向企业的网管人员申请一组固定的 IP 网路参数棉!
</span></ul>
这样清楚吗?也就是说,我们取得的固定 IP 参数并非一定是 public IP 喔!反正就是一组可接受的固定 IP 就是了!
所以在架设您的环境之前,请先注意所有网路参数的来源正确性啊!
好了,那么现在假设我的 Linux 主机需要的参数如下所示∶<br />
<table class="term"><tr><td class="term"><pre>
Hostname centos.dm.tsai
IP: 192.168.1.13
Netmask 255.255.255.0
Network 192.168.1.0
Broadcast 192.168.1.255
Gateway 192.168.1.2
DNS IP 168.95.1.1
</pre></td></tr></table>
底下我们就分别针对上面的各项设定来进行档案的重新修改棉!<br />
<ol>
<li><span class=text_import1>修改主机名称∶ /etc/sysconfig/network</span><br />
修改主机名称真的是很简单!直接在档案内修订即可!<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/sysconfig/network</span>
<span class=term_write>NETWORKING=yes
HOSTNAME=centos.dm.tsai</span>
</pre></td></tr></table>
够简单吧!这样就将主机名称改好了!记得∶<span class=text_import2>如果您曾经更动过这个档案,
最好重新开机,以使所有的服务都可以使用到新主机名称。</span><br /><br />
<li><span class=text_import1>设定网路参数∶ /etc/sysconfig/network-scripts/ifcfg-eth0</span><br />
请记得,这个 ifcfg-eth0 与档案内的 DEVICE 名称设定需相同,并且,在这个档案内的所有设定,
基本上就是 bash 的变数设定规则啦!<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/sysconfig/network-scripts/ifcfg-eth0</span>
<span class=term_write>DEVICE=eth0</span> <span class=term_say><== 网路卡代号,必须要 ifcfg-<b>eth0</b> 相对应</span>
<span class=term_write>BOOTPROTO=static</span> <span class=term_say><== 开机协定,有 dhcp 及 static 这里是 static</span>
<span class=term_write>BROADCAST=192.168.1.255</span> <span class=term_say><== 就是广播位址棉</span>
<span class=term_write>HWADDR=00:40:D0:13:C3:46</span> <span class=term_say><== 就是网路卡位址</span>
<span class=term_write>IPADDR=192.168.1.13</span> <span class=term_say><== 就是 IP 啊</span>
<span class=term_write>NETMASK=255.255.255.0</span> <span class=term_say><== 就是子遮罩网路</span>
<span class=term_write>NETWORK=192.168.1.0</span> <span class=term_say><== 就是网域啊!该网段的第一个 IP</span>
<span class=term_write>GATEWAY=192.168.1.2</span> <span class=term_say><== 就是预设路由!</span>
<span class=term_write>ONBOOT=yes</span> <span class=term_say><== 是否开机启动的意思</span>
<span class=term_write>MTU=1500</span> <span class=term_say><== 就是最大传输单元的设定值。</span>
<span class=term_write>#GATEWAYDEV=eth0</span> <span class=term_say><== 主要路由的装置为那个,通常不用设定</span>
</pre></td></tr></table>
上面的资料很好理解吧!<span class=text_import2>请注意每个变数(左边的英文)都应该要大写</span>!
否则我们的 script 会误判!关于 IP 的四个参数 (IPADDR, NETMASK, NETWORK, BROADCAST) 鸟哥在这里就不再多说,
要谈的是几个重要的设定值∶<br /><br />
<ul><li><span class=text_import2>DEVICE</span>∶这个设定值后面接的装置代号需要与档名 (ifcfg-eth0)
那个装置代号相同才行!否则会显示找不到装置名称!<br /><br /></li>
<li><span class=text_import2>BOOTPROTO</span>∶启动该网路介面时,使用何种协定?
如果是手动给予 IP 的环境,请输入 static 或 none ,如果是自动取得 IP 的时候,
请输入 dhcp (不要写错字!)<br /><br /></li>
<li><span class=text_import2>GATEWAY</span>∶代表的是『整个主机系统的 default gateway』,
所以,设定这个项目时,请特别留意!不要有重复设定的情况发生喔!也就是当您有
ifcfg-eth0, ifcfg-eth1.... 等多个档案,<span class=text_import2>只要在其中一个档案设定
GATEWAY 即可</span><br /><br /></li>
<li><span class=text_import2>GATEWAYDEV</span>∶如果您不是使用固定的 IP 作为 Gateway ,
而是使用网路装置作为 Gateway (通常 Router 最常有这样的设定),那也可以使用
GATEWAYDEV 来设定通讯闸装置呢!不过这个设定项目很少使用就是了!<br /><br /></li>
<li><span class=text_import2>HWADDR</span>∶这个东西就是网路卡的卡号了!有啥用途呢?
记得以前我们常常在讲,如果有两块一模一样的网路卡存在时,例如在一部主机上面安装两张螃蟹卡,
由于是相同的晶片,所以在 /etc/modprobe.conf 内无法指定出明确的 eth0 与 eth1
的对应 (因为模组使用相同嘛!),那么哪一张才是 eth0 ?呵呵!大家有福了!
利用 HWADDR 指定网路卡的卡号,就能够明白的定义出不同网卡的代号啦!很方便吧!<br /><br /></li>
</ul>
事实上,如果您想要了解每个变数的项目代表的意义时,建议可以参考 /sbin/ifup 这个 script 的内容,
这个 script 对于每个项目的应用都记录的挺清楚的! ^_^<br /><br />
<li><span class=text_import1>启动与关闭网卡∶</span><br />
启动与关闭的方式有两种,底下分别介绍∶<br />
<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>ifup eth0</span>
[root@linux ~]# <span class=term_command>ifdown eth0</span>
<span class=term_say># 上面的作法是针对 eth0 来进行启动 (ifup) 与关闭 (ifdown) ;</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -