[ << ] [ < ] [ 手册主页 ] [ > ] [ >> ]


3. 配置你的网络

内容列表:

3.a. 你可以不使用网络,但是……

谁可以不需要网络

       根据你安装Gentoo时采用的介质,你可以或者不能不需要网络(或者因特网)继续。不不,我们是说真的,决不会玩弄你的:-)

       一般来说你需要网络(和因特网)。但是,Gentoo也提供了不需要网络连接的安装方式,这个唯一的例外就是使用Gentoo通用LiveCD。

为什么我需要网络?

       从因特网上安装Gentoo可以提供一个完全最新的Gentoo安装。你将可以基于最新的Portage树(我们提供一系列的软件包和软件管理工具)来安装,这也是网络安装收到欢迎的一个原因。但是,有些人不能或者不愿意使用一个活动的网络连接来安装Gentoo。

       如果你正是处于这种情况,你将需要使用Gentoo通用LiveCD。这种LiveCD里包含有源代码、Portage树的一个快照和安装Gentoo基本系统和其他的工具。当然这种方法也有其代价,就是你不能获得最新的软件,当然这些区别会很小。 minimal.

       如果你要使用这样的一种同样LiveCD,进行无网络安装,跳过这章的其余部分,从磁盘准备继续。否则,从下面的网络配置部分继续。

可选:配置代理

       如果你需要通过代理进入因特网,你可能需要在安装中设置代理信息。设置代理是很简单的一件事清:你只需要定义一个包含代理服务器信息的变量即可。

       大多数情况下,你可以使用服务器主机名来定义这个变量。作为例子,我们假设代理服务器叫做proxy.gentoo.org,端口为8080。

代码 1: 定义代理服务器

(如果代理通过HTTP协议)
# export http_proxy="http://proxy.gentoo.org:8080"
(如果代理通过FTP协议)
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
(如果代理通过RSYNC协议)
# export RSYNC_PROXY="proxy.gentoo.org:8080"

       如果你的代理需要用户名和密码,你应该给这个变量定义使用如下的语法格式:

代码 2: 给代理服务器变量添加用户名/密码

http://username:password@server

       比如,对于我们前面的HTTP代理,我们将使用用户名“john”和密码“f00b_r”:

代码 3: 授权的代理

# export http_proxy="http://john:f00b_r@proxy.gentoo.org:8080"

3.b. 自动检测网络

可能已经可以工作?

       如果你的系统处于一个有DHCP服务器的以太网中,很可能你的网络配置已经自动完成。如果确实如此,你应该可以使用到LiveCD里很多网络相关的命令如sshscppingirssiwgetlinks等。

       如果网络已经配置好了,命令/sbin/ifconfig应该列出除开lo等的网络接口,如eth0:

代码 4: /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 

测试网络

       你可能想试着测试一下你的ISP的域名服务器(在/etc/resolv.conf里)和选择的一个网址,以确认一下你的数据包可以到达网络中,DNS域名解析也能正确工作等……

代码 5: 进一步测试网络

# ping -c 3 www.yahoo.com

       你现在可以使用你的网络了吗?如果可以,你可以跳过这一节的其他部分,从磁盘准备继续。如果还不行,那实在倒霉,你还得继续努力了:-)

3.c. 自动配置网络

       如果网络还不能立即工作,一些安装介质允许你使用net-setup(常规网络)或者adsl-setup(ADSL用户)或者pptp(PPTP用户,仅用于x86系统)。

       如果你的安装介质不包含上述提到的任何一个工具,或者网络仍然不起作用,从手动配置网络继续。

默认:使用net-setup

       如果网络没有自动配置好,最简单的办法是运行net-setup脚本来设置网络:

代码 6: 运行脚本net-setup

# net-setup eth0

       net-setup将会问你一些关于网络环境的问题。当所有完成后,你应该就有了一个可以工作的网络连接,然后可以按照前面提到的办法测试一下你的网络。如果测试成功,祝贺你!你现在已经准备好安装Gentoo了,跳过这节的其他部分,从磁盘准备继续。

       如果网络仍然不能工作,从手动配置网络继续。

另一种方法:使用RP-PPPoE

       假设你需要使用PPPoE连接到因特网上,LiveCD(任何版本)里包含了方便设置的rp-pppoe。使用它提供的adsl-setup脚本可以配置网络连接。程序将会提示你输入连接到adsl调制解调器的以太网设备、用户名、密码、DNS服务器的IP地址和是否需要设置基本的防火墙。

代码 7: 使用rp-pppoe

# adsl-setup
# adsl-start

       如果出现什么问题的话,查看/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets来检查确认已经正确的输入用户名和密码,并要确认你使用的是正确的以太网设备。如果以太网设备不存在,你将必须加载准备的网络模块。那种情况下你应该从手动配置网络继续,那里我们解释了怎样加载正确的网络模块。

       如果一切正常,从磁盘准备继续。

另一种方法:使用PPTP

       如果你需要PPTP支持,你可以使用LiveCD提供的pptpclient。但是首先你得确认配置准确。编辑/etc/ppp/pap-secrets或者/etc/ppp/chap-secrets,使其包含正确的用户名/密码:

代码 8: 编辑/etc/ppp/chap-secrets

# nano -w /etc/ppp/chap-secrets

       然后根据需要调整/etc/ppp/options.pptp

代码 9: 编辑/etc/ppp/options.pptp

# nano -w /etc/ppp/options.pptp

       当所有这些完成后,运行pptp(并带上你不能在options.pptp里设置的参数)来连接到服务器:

代码 10: 连接到一个拨号服务器

# pptp <server ip>

       现在可以从磁盘准备继续。

3.d. 手动配置网络

加载准确的网络模块

       当LiveCD启动时,它会尝试检测你的硬件设备并加载准确的内核模块(驱动)来支持这些硬件。大多数情况下,它会做的很漂亮。但是,一些情况下,它可能没有自动加载你需要的模块。

       如果net-setup或者adsl-setup失败了,那么有可能你的网卡没有立即检测到。这意味着你需要手动为它加载正确的内核模块。

       使用ls来查看我们给网络提供了什么内核模块:

代码 11: 搜索提供的模块

# ls /lib/modules/`uname -r`/kernel/drivers/net

       如果你找到一个适合你网卡的驱动,使用modprobe来加载这个内核模块:

代码 12: 使用modprobe来加载内核模块

(作为例子,我们加载模块pcnet32)
# modprobe pcnet32

       然后使用ifconfig来检查网卡是否已经检测到。一个检测到的网卡会有类似如下的结果:

代码 13: 测试网卡的存在,成功!

# 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)

       但是如果你收到如下错误信息,那么你的网卡还是没有检测到:

代码 14: 测试网卡的存在,失败!

# ifconfig eth0
eth0: error fetching interface information: Device not found

       如果在你的系统中有多个网卡名为eth0eth1等。确认你要使用的网卡可以工作正常,并且在这篇文档里使用的都是准确的网卡。我们假设使用的网卡是eth0

       假设你现在网卡已经检测到了,你可以再次尝试使用net-setup或者adsl-setup(现在应该可以工作了),但是为了你们其中的一些“顽固分子”,这里我们将解释怎样手动配置网络。

       根据你的网络设置来选择下面的章节:

使用DHCP

       DHCP(动态主机配置协议)使得自动获得网络信息(IP地址、网络掩码、广播地址、网关、域名服务器等)成为可能。但这个只在你的网络中有一个DHCP服务器的情况下才可以使用这种方法。要通过一个网络接口自动获得这些网络信息,使用dhcpcd

代码 15: 使用dhcpcd

# dhcpcd eth0
一些网络管理员需要你使用
DHCP服务器提供的主机名和域名。
这种情况下,使用
# dhcpcd -HD eth0

       如果这个工作正常(尝试ping一些因特网上的服务器,如Google)的话,那么一切设置和准备完毕。你可以跳过这节余下的部分,从磁盘准备继续。

无线网络的准备

注释: 不是所有的LiveCD都由iwconfig这个命令。如果你的没有,仍然可以按照linux-wlan-ng项目里的说明获得这些扩展功能。

       如果你使用的是一个无线(802.11)网卡,你可能在继续之前配置无线设置。使用iwconfig来查看当前你的网卡的无线设置,会出现类似如下的信息:

代码 16: 显示当前无线设置

# 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而不是eth0

       对于大多数用户来说,这里可能只有两个重要的设置需要我们来修改:ESSID(aks无线网络名称)或者WEP密匙。如果ESSID和列出的访问点(Access Point)地址已经是你的访问点,而你又没有在使用WEP,那么你的无线设置是正常的。如果你要改变你的ESSID,或者增加一个WEP密匙,你可以执行以下命令:

代码 17: 修改ESSID和/或添加WEP密匙

(这将网络名称改为“GentooNode”)
# iwconfig eth0 essid GentooNode

(这设置了一个16进制的WEP密匙)
# iwconfig eth0 key 1234123412341234abcd

(这设置了一个ASCII密是,以“s:”开头)
# iwconfig eth0 key s:some-password

       然后你可以使用iwconfig来确认你的无线设置。一旦无线可以正常工作,你可以按照下节(理解网络名词)描述的说明或者使用前面提到过的net-setup工具来设置IP级别网络选项。

理解网络名词

注释: 如果你知道你的IP地址、广播地址、网络掩码和域名解析服务器,那么你可以跳过这一节,从使用ifconfig和route继续。

       如果上面的方法都失败了,你就得自己手动配置网络了。不要怕,这一点都不困难。但是我们先来给你解释一些网络名词,这样你将可以更好的根据你的需要来设置网络。当你阅读完这一小节的话,你将会理解什么时网关网络掩码是用来做什么的,广播地址的格式是怎样的,和为什么你需要域名解析服务器

       在一个网络中,主机是由它们的IP地址(因特网协议地址)来标识的。这样的一个地址是由四个处于0到255之间的数字组合而成的,至少我们是这样感觉的。实际上,这样的一个IP地址是由32位字元(0和1)组成,让我们来看个例子:

代码 18: IP地址的样例

IP地址 (数字):  192.168.0.2
IP地址 (字元):  11000000 10101000 00000000 00000010
                   -------- -------- -------- --------
                      192      168       0        2

       这样的一个IP地址在所有可以访问到的网络中必须是唯一的(也就是说,你能达到的主机都必须有唯一的IP地址)。要区别一个网络中不同的主机,以及这个网络外的主机,IP地址分为了两部分:网络部分和主机部分。

       而分开这些的就是网络掩码,也是由一系列的1后面加上一系列的0。用1标识的那部分IP地址就是网络部分,其余的就是主机部分。通常,网络掩码也可以写成IP地址的形式。

代码 19: 网络/主机分离的例子

IP-address:    192      168      0         2
            11000000 10101000 00000000 00000010
Netmask:    11111111 11111111 11111111 00000000
               255      255     255        0
           +--------------------------+--------+
                    Network              Host

       换句话说,192.168.0.14是我们样例网络中的一部分,而192.168.1.2不是。

       广播地址是你的网络中具有相同网络部分的IP地址,但是只有那些1为主机部分。你的网络中的每个主机都会监视这个IP地址,也就是说这个地址用来广播数据包。

代码 20: 广播地址

IP-address:    192      168      0         2
            11000000 10101000 00000000 00000010
Broadcast:  11000000 10101000 00000000 11111111
               192      168      0        255
           +--------------------------+--------+
                     Network             Host

       要想去因特网上冲浪,你必须知道网络中那台主机可以共享网络连接。这个主机就叫做网关。既然它是一台普通的主机,它也就有一个普通的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来设定路由的网关。在接着,我们在/etc/resolv.conf里设置域名服务器的IP地址后就结束了。

       你需要有你的IP地址、广播地址和网络掩码才可以分配IP地址。然后执行下面的命令,其中将${IP_ADDR}换成你的IP地址,${BROADCAST}换为你的广播地址和${NETMASK}换成你的网络掩码:

代码 21: 使用ifconfig

# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up

       现在使用route来设置路由,其中将${GATEWAY}换成你的网关的IP地址:

代码 22: 使用route

# route add default gw ${GATEWAY}

       现在便可以用你最喜欢的编辑器(如我么使用nano)打开/etc/resolv.conf

代码 23: 创建/etc/resolv.conf

# nano -w /etc/resolv.conf

       然后按照下面的模板填入你的域名服务器的IP地址。确认将${NAMESERVER1}${NAMESEVER2}换成准确的域名服务器地址:

代码 24: /etc/resolv.conf的模板

nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}

       就这样了。现在再通过ping因特网上的服务器(如Google来测试你的网络。如果成功了,那恭喜了,你可以准备安装Gentoo了。从磁盘准备继续。


[ << ] [ < ] [ 手册主页 ] [ > ] [ >> ]


本文档内容按照Creative Commons - Attribution / Share Alike协议发布。 Copyright 2004 Gentoo.LinuxSir.ORG 如果有什么问题、建议、意见、评论,请Email联系管理员