网络

默认:使用net-setup

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

root #net-setup eth0

net-setup将会询问关于网络环境的一些问题。当所有这些完成后,网络连接就应该工作。以前面的方式测试网络连接。如果测试通过,恭喜!跳过本章节剩余部分并继续准备磁盘。

如果网络还是不能工作,继续手动配置网络。

可选:使用PPP

假设需要使用PPPoE连接到互联网,安装CD(任何版本)包含ppp来使这件事变得容易。使用提供的pppoe-setup脚本来配置连接。设置过程中将询问已连接到你的ADSL调制解调器的以太网设备、用户名和密码、DNS服务器的IP地址,以及是否需要一个简单的防火墙。

root #pppoe-setup root #pppoe-start

如果还是有什么错误,再次在etc/ppp/pap-secrets/etc/ppp/chap-secrets中检查用户名和密码都是正确的,并且确保使用了正确的以太网设备。 如果以太网设备不存在,则需要加载合适的网络模块。如果是那样,继续手动网络配置将解释如何加载合适的网络模块。

可选:使用PPTP

如果需要PPTP支持,使用安装CD提供的pptpclient。但是首先确保配置是正确的。编辑/etc/ppp/pap-secrets/etc/ppp/chap-secrets让它包含正确的用户名/密码组合:

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

如果需要,继续调整/etc/ppp/options.pptp:

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

当所有事都已完成,运行pptp(带着一些options.pptp无法设定的选项)来连接到服务器:

root #pptp <server ip>


手动配置网络

加载适当的网络模块

安装光盘在启动时,会尝试检测所有硬件设备并加载适当的内核模块(驱动程序)以支持你的硬件。 绝大多数情况下,它都做得非常好。尽管如此,在某些情况下它可能还是无法自动载入你所需要的内核模块。

如果net-setuppppoe-setup都失败,则可能是网络没有立即被找到。 也就是说用户可能需要手动加载合适的内核模块。

要找出什么内核模块提供网络,使用ls命令:

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

如果找到一个针对网络设备的驱动,使用modprobe来加载内核模块。

比如,要加载pcnet32模块:

root #modprobe pcnet32

要检查网卡现在是否检测到,使用ifconfig。一个检测到的网卡应该在结果中像这样:

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

系统中可用网络接口命名可以通过/sys文件系统列出。

root #ls /sys/class/net dummy0 eth0 lo sit0 tap0 wlan0

在上面的示例中,找到了6个接口。

eth0是最像(有线)以太网络适配器,而wlan0 是无线的。

假设现在网络已经检测到了,重新尝试net-setuppppoe-setup(现在应该工作了)


基于你的网络从下面的章节中选择一个进行设置:

  1. 使用DHCP 针对自动获取IP
  2. 准备无线访问 如果使用无线网络
  3. 了解网络术语 解释了关于网络的基础
  4. 使用ifconfigroute 解释了如何手动设置网络

使用DHCP

DHCP(动态主机配置协议)使自动接受网络信息(IP地址、掩码、广播地址、网关、名称服务器等)变得容易。 这只在网络中有DHCP服务器(或者如果ISP提供商提供一个DHCP服务)时有用。

要使一个网络接口自动接受信息,使用dhcpcd

root #dhcpcd eth0

一些网络管理员要求你使用DHCP服务器所提供的主机名和域名。

这种情况下请用:

root #dhcpcd -HD eth0

如果这个工作的话(试着ping一些Internet服务器,像Google的8.8.8.8 或者 Cloudflare的 1.1.1.1 译者注:中国的114.114.114.114),则所有事情都设置好了并可以继续。

准备无线网络链接

附注 可能只有特定的架构支持iw命令。 如果这个命令不可用,检查net-wireless/iw包是否可用于当前架构。 除非安装net-wireless/iw包,否则iw命令将一直不可用。

  1. 当使用一块无线(802.11)网卡,在继续之前需要先配置无线设置。要查看当前无线网卡的设置,可以使用iw。

运行iw可能会显示如下:

```sh
root #iw dev wlp9s0 info
Interface wlp9s0
    ifindex 3
    wdev 0x1
    addr 00:00:00:00:00:00
    type managed
    wiphy 0
    channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz
    txpower 30.00 dBm
```

检查当前连接:

root #iw dev wlp9s0 link

root #iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0)
    SSID: GentooNode
    freq: 2462
    RX: 3279 bytes (25 packets)
    TX: 1049 bytes (7 packets)
    signal: -23 dBm
    tx bitrate: 1.0 MBit/s

附注

一些无线网卡的设备名可能是wlan0ra0而不是wlp9s0。 运行ip link 来识别正确的设备名称。 对于大多数用户,只需要两个设置来连接,即ESSID(也称无线网络名称)和可选的WEP密钥。

  1. 首先,确保接口处于活动状态:

    root #ip link set dev wlp9s0 up

  2. 连接到名为`GentooNode的开放网络:

    root #iw dev wlp9s0 connect -w GentooNode

  3. 设置一个WEP密钥:使用d:前缀:

    root #iw dev wlp9s0 connect -w GentooNode key 0:d:12341

  4. 使用ASCII WEP密钥连接:

    root #iw dev wlp9s0 connect -w GentooNode key 0:some-password

附注

如果无线网络配置为WPAWPA2,则需要使用wpa_supplicant

关于为Gentoo Linux配置无线网络的更多信息,请阅读Gentoo手册中的无线网络章节。

如果无线已经工作,继续按下一章节(了解网络术语)配置IP级别的网络选项或者使用前面描述的net-setup工具。

网络术语解读

  1. 如果IP地址、广播地址、掩码和名称服务器这些全都了解,则可以跳过这个子章节,进入到使用ifconfig和route。

如果以上所做的全部失败,你将不得不手动配置你的网络。这其实一点也不难。不过,你需要熟悉一些网络术语,才能配置好网络令自己满意。

  1. 广播地址是一个拥有相同网络部分,但是主机部分全是1的IP地址。网络上的每一个主机都监听这个IP地址。它的真正用途是用来广播包。

CODE 广播地址 IP地址: 192 168 0 2 11000000 10101000 00000000 00000010 广播: 11000000 10101000 00000000 11111111 192 168 0 255 +--------------------------+--------+ 网络 主机

为了能在互联网上冲浪,网络中的每个主机必须知道哪个主机共享着互联网连接。

这个主机叫作网关。它同样是一台常规主机,它有一个常规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

设置网络由三步组成:

  1. 使用ifconfig指派一个IP地址
  2. 使用route设置到网关的路由
  3. 通过/etc/resolv.conf设置名称服务器的IP完成

要指派一个IP地址,需要IP地址、广播地址和掩码。

运行下面的命令,替换${IP_ADDR}为正确的IP地址、${BROADCAST}为正确的广播地址以及${NETMASK}为正确的掩码:

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

使用route设置路由。替换${GATEWAY}为正确的网络IP地址:

root #route add default gw ${GATEWAY}

现在打开/etc/resolv.conf

root #nano -w /etc/resolv.conf

使用下面的模板填入名称服务器。 确保替换${NAMESERVER1}${NAMESERVER2}为合适的名称服务器地址:

FILE /etc/resolv.conf默认 /etc/resolv.conf 的模板

nameserver ${NAMESERVER1} nameserver ${NAMESERVER2}

就是这样。 现在通过ping一些互联网服务器(像Google的8.8.8.8 或者 Cloudflare的 1.1.1.1 译者注:中国的114.114.114.114)来测试网络。