[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
3. 配置你的网络
内容:
3.a. 你需要连接网络吗?
哪些人不需要连接网络?
一般地,当你使用通用安装光盘或安装程序LiveCD来安装Gentoo时,就不需要可用的网络连接。尽管如此,有些情况下你还是想要一个正常运作的网络连接:
-
储存在通用安装光盘中的stage3包跟你的硬件架构不匹配,你需要下载正确的stage3包
-
安装程序LiveCD生成的stage3包跟你的硬件架构不匹配,你需要下载正确的stage3包
-
你需要安装一个特定的能让你连接到Internet的网络应用程序。通用安装光盘或安装程序LiveCD中没有这个程序,但支持这个程序(也就是你可以使用光盘连接到互联网但光盘里没提供这个程序的源代码)
-
安装过程中你希望得到远程协助(使用SSH或使用IRC直接交流)
我需要连接网络吗?
如果你用的是通用安装光盘,要确定是否有对应你的机器架构的stage3包,请查看一下/mnt/cdrom/stages目录中有没有一个stage与你的架构相匹配。如果没有,你仍可以选择使用跟你的硬件架构兼容的stage3包来安装。
x86平台的安装程序LiveCD所构建的stage3包为i686及其更新架构作了优化,并使用了NPTL。amd64平台的安装程序LiveCD所构建的stage3包为普通amd64架构的应用作了优化,并使用了NPTL。
另一方面,如果你想使用一个为你的架构作了优化的stage3包,可是光盘中没有你要的这个stage3包,这时你就需要连接网络以下载适当的stage3包。
所以,如果你不需要连接网络,就可以略过本章的余下部分并接着阅读预备磁盘。否则,继续阅读下面关于网络配置的章节。
3.b. 自动检测网络
能够自动检测到么?
如果你的系统接入一个拥有DHCP服务器的以太网,那么很可能网络配置已经自动设置好了。如果是这样,你就可以利用到安装盘中的许多网络命令,如ssh,scp,ping,irssi,wget和links。
如果网络已经为你配置好了,/sbin/ifconfig命令就能列出lo以外的一些网卡的信息,如eth0:
代码 2.1: 一个正常工作的网络配置的/sbin/ifconfig命令输出 |
# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
collisions:1984 txqueuelen:100
RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb)
Interrupt:11 Base address:0xe800
|
可选:配置网络代理
如果你是通过代理访问网络,就要在安装过程中设置代理信息。设置代理很容易:只要定义一个包含代理服务器信息的变量即可。
通常情况下只要将这个变量定义为代理服务器主机名。作为例子,我们假定代理名叫proxy.gentoo.org,端口为8080。
代码 2.2: 定义代理服务器 |
# export http_proxy="http://proxy.gentoo.org:8080"
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
# export RSYNC_PROXY="proxy.gentoo.org:8080"
|
如果代理要求用户名和密码,请使用以下格式的变量:
代码 2.3: 添加用户名/密码到代理变量 |
http://用户名:密码@proxy.gentoo.org:8080
|
测试网络
ping一下你的ISP提供的DNS服务器(可于/etc/resolv.conf中找到)和一个任选的网站,以确定数据包传到了网上、DNS域名解析正常,等等。
代码 2.4: 进一步测试网络 |
# ping -c 3 www.gentoo.org
|
如果现在你的网络可用了,就可以略过本章的余下部分,进入下一章预备磁盘。如果没有,请接下去阅读。
3.c. 自动网络配置
如果网络没有马上配置好,一些安装介质允许你使用net-setup(普通或无线网络),pppoe-setup(ADSL用户)或pptp(PPTP用户——仅x86平台可用)来继续配置。
如果你的安装介质没有提供这些工具或者你的网络还是不能运行,请阅读手动配置网络。
默认:使用net-setup
如果网络没有自动配置好,最简单的配置方法是执行net-setup脚本:
代码 3.1: 执行net-setup脚本 |
# net-setup eth0
|
net-setup会问你一些关于你的网络环境的问题。全部回答完之后,你就能拥有一个正常工作的网络连接。按照前面叙述的方法测试一下网络连接。如果测试结果正常,恭喜!现在你已准备好开始安装Gentoo了。略过本章的余下部分并进入预备磁盘。
如果网络还不能配置好,请继续阅读手动配置网络。
备选:使用PPP
假如你通过PPPoE连接internet,安装盘(所有版本)中包含的ppp工具会让事情变得简单。使用所提供的pppoe-setup脚本来配置网络。它会提示你输入一些信息,包括连接到你的adsl调制解调器的网络设备、用户名和密码、DNS服务器的IP以及是否需要一个基本的防火墙。
代码 3.2: 使用ppp |
# pppoe-setup
# pppoe-start
|
如果配置出错了,请仔细检查/etc/ppp/pap-secrets或/etc/ppp/chap-secrets,确保你在其中输入的用户名和密码无误,并确定使用了正确的以太网设备。如果网络设备不存在,必须加载适当的网络模块。这种情况下你应该继续阅读手动配置网络,我们在其中解释了如何加载适当的网络模块。
如果一切正常,请继续阅读预备磁盘。
备选:使用PPTP
如果你需要支持PPTP连接,可以使用我们的安装光盘中所提供的pptpclient。不过你必须首先确定配置没有问题。编辑/etc/ppp/pap-secrets或/etc/ppp/chap-secrets使其中包含正确的用户名/密码对:
代码 3.3: 编辑/etc/ppp/chap-secrets |
# nano -w /etc/ppp/chap-secrets
|
然后如果有必要,调整一下/etc/ppp/options.pptp。
代码 3.4: 编辑/etc/ppp/options.pptp |
# nano -w /etc/ppp/options.pptp
|
当做好了所有的配置,就请执行pptp(跟随一些不能在 options.pptp中设置的选项)来连接服务器:
代码 3.5: 连接到一个“拨入”服务器 |
# pptp <服务器ip>
|
现在请继续阅读预备磁盘。
3.d. 手动配置网络
加载适当的网络模块
安装光盘在启动时,会尝试检测所有硬件设备并加载适当的内核模块(驱动程序)以支持你的硬件。绝大多数情况下,它都做得非常好。尽管如此,某些情况下它还是可能无法自动载入你需要的内核模块。
如果net-setup或pppoe-setup执行失败,那么很可能是没有一下子找到你的网卡。这意味着你将不得不手动加载适当的内核模块。
要找出我们为网络提供了哪些内核模块,请使用ls:
代码 4.1: 搜索所提供的模块 |
# ls /lib/modules/`uname -r`/kernel/drivers/net
|
如果找到了你的网卡的驱动程序,请使用modprobe来加载这个内核模块:
代码 4.2: 使用modprobe加载一个内核模块 |
# modprobe pcnet32
|
现在用ifconfig检查一下是否检测到你的网卡了。成功检测到的网卡会输出类似下面这样的信息:
代码 4.3: 测试网卡是否可用,成功 |
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00
BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
|
不过如果你得到如下错误信息,说明没有检测到网卡。
代码 4.4: 测试网卡是否可用,失败 |
# ifconfig eth0
eth0: error fetching interface information: Device not found
|
如果你的系统中存在多块网卡,分别名为eth0、eth1等等。确保你想要使用的那张网卡没有问题,并在阅读本文整篇文章时都记得使用它正确的名字。我们假定使用的是eth0这张网卡。
假如你现在拥有一张成功检测到的网卡,可以再试一试net-setup或pppoe-setup(现在应该能正常使用了)。不过对于用户中的喜欢刨根究底的人,我们会为你解释如何通过手动配置网络。
基于你的网络设置,请从以下列表中选择相应的章节继续:
使用DHCP
DHCP(动态主机配置协议)可以让你自动获得网络信息(IP地址、子网掩码、广播地址、网关以及域名服务器等)。只有在你的网络中拥有一台DHCP服务器时才能获得(或者你的网络服务提供商提供DHCP服务)。执行dhcpcd使网络接口自动获得这些信息:
代码 4.5: 使用dhcpcd |
# dhcpcd eth0
# dhcpcd -HD eth0
|
如果工作正常(尝试ping一些互联网上的服务器,比如Google),那么你就完全准备好继续下一步了。略过本章的余下部分并继续阅读预备磁盘。
预备无线网络接入
注意:
iwconfig命令仅在x86、amd64和ppc安装光盘中提供。不过在其他情况下,你仍可以按照linux-wlan-ng项目的介绍,来使无线扩展运作起来。
|
如果你正在使用一张无线(802.11)网卡,那么在继续任何一步之前你需要先配好无线设置。要查看当前的无线网卡设置,可以使用iwconfig。执行iwconfig会显示以下类似信息:
代码 4.6: 显示当前无线设置 |
# iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode"
Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2
Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm
Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx
excessive retries:237 Invalid misc:350282 Missed beacon:84
|
注意:
一些无线网卡的设备名可能为wlan0或ra0,而不是eth0。执行不带任何命令行参数的iwconfig以确定正确的设备名。
|
对大多数用户来说,可能只有两处设置需要重点修改,即ESSID(亦称无线网络名)或WEP密钥。如果前面列出的ESSID和AP地址正是你的无线AP的ESSID和地址,并且你不使用WEP,那么你的无线网络已工作正常。如果你需要修改你的ESSID或添加一个WEP密钥,可以参照下列命令:
代码 4.7: 修改ESSID和/或添加WEP密钥 |
# iwconfig eth0 essid GentooNode
# iwconfig eth0 key 1234123412341234abcd
# iwconfig eth0 key s:某密钥
|
然后可以使用iwconfig再次确认你的无线设置。一旦你配好无线设置,就可以继续配置下一节(理解网络术语)所述的IP级别的网络选项,或者可以使用前面所述的net-setup工具。
理解网络术语
注意:
如果你知道IP地址、广播地址、子网掩码和域名服务器,那你就可以略过本节并继续阅读使用ifconfig和route。
|
如果以上所做的全部失败,你将不得不手动配置你的网络。这其实一点也不难。不过,你需要熟悉一些网络术语,才能配置好网络令自己满意。读完本节之后,你将了解到什么是网关,子网掩码是作什么用的,广播地址是如何形成的,以及为什么需要域名服务器。
在一个网络中,所有主机都通过IP地址(互联网协议地址)来识别。一个这种地址是由四个0到255之间的整数组合成的。嗯,至少我们是这样认识它的。实际上,一个IP地址由32个比特(0和1)组成。让我们看一个例子:
代码 4.8: IP地址的一个例子 |
IP地址(整数): 192.168.0.2
IP地址(位): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
|
在所有可访问到的网络里,这样的IP地址跟主机是一一对应的(比如你能够连接到的每台主机必须拥有一个唯一的IP地址)。为了区别一个网络内部和外部的主机,IP地址被分为两个部分:网络部分和主机部分。
子网掩码用来描述这种区分,它由一系列的1跟随着一系列的0组成。IP中映射在1上的部分为网络部分,另一部分为主机部分。照例,子网掩码可以描述为IP地址的形式。
代码 4.9: 区分网络/主机的例子 |
IP地址: 192 168 0 2
11000000 10101000 00000000 00000010
子网掩码: 11111111 11111111 11111111 00000000
255 255 255 0
+--------------------------+--------+
网络 主机
|
也就是说,192.168.0.14仍是我们的例子网络中的成员,而192.168.1.2就不是了。
广播地址是一个跟你的网络在同一个网段的IP地址,只是它的主机部分全部为1。你的网络中所有的主机都监听这个IP地址。它真正的用途是用来广播数据包。
代码 4.10: 广播地址 |
IP地址: 192 168 0 2
11000000 10101000 00000000 00000010
广播: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
网络 主机
|
为了能在互联网上冲浪,你必须知道是哪台主机在共享Internet连接。这台主机称为网关。由于它是一台普通主机,所以它有一个普通的IP地址(比如 192.168.0.1)。
前面我们陈述了每台主机拥有它自己的IP地址。为了能够通过域名(而不是IP地址)连到这台主机,你需要一种服务,以将一个域名(如dev.gentoo.org)翻译成一个IP 地址(如64.5.62.82)。这种服务称为域名服务。你必须在/etc/resolv.conf中定义必要的域名服务器以享用这种服务。
某些情况下,你的网关也作为域名服务器提供服务。否则就必须加入ISP提供的域名服务器。
总结一下,继续下一步之前你需要了解下列知识:
网络名词 |
范例 |
你的IP地址 |
192.168.0.2 |
子网掩码 |
255.255.255.0 |
广播 |
192.168.0.255 |
网关 |
192.168.0.1 |
域名服务器 |
195.130.130.5, 195.130.130.133 |
使用ifconfig和route
设置网络包括三个步骤。首先我们使用ifconfig为自己设置一个IP地址。然后使用route设置到网关的路由。最后我们通过将域名服务器的IP写入/etc/resolv.conf来结束整个过程。
为了设置一个IP地址,你需要先获得你的IP地址、广播地址和子网掩码。然后执行以下命令,用你的IP地址、广播地址和子网掩码分别替代${IP地址}、${广播}和${子网掩码}。
代码 4.11: 使用ifconfig |
# ifconfig eth0 ${IP地址} broadcast ${广播} netmask ${子网掩码} up
|
现在使用route设置路由。用你的网关IP地址代替${网关}:
代码 4.12: 使用route |
# route add default gw ${网关}
|
现在用你喜欢的编辑器(我们的例子中使用nano)打开/etc/resolv.conf:
代码 4.13: 创建/etc/resolv.conf |
# nano -w /etc/resolv.conf
|
现在使用下面的模板填写你的域名服务器。注意用适当的域名服务器地址替换${域名服务器1}和${域名服务器2}。
代码 4.14: /etc/resolv.conf模板 |
nameserver ${域名服务器1}
nameserver ${域名服务器2}
|
这就是全部了。现在通过ping一些互联网上的服务器(比如Google)来测试一下你的网络。如果一切正常,那就恭喜了。你现在已准备好开始安装Gentoo了。接下来请继续阅读预备磁盘。
[ << ]
[ < ]
[ 主页 ]
[ > ]
[ >> ]
本文档的内容遵循知识共享-署名-相同方式共享许可协议
|