网络配置

Ubuntu 提供了许多图形化工具来配制您的网络设备。本文适用于服务器管理员并聚焦在命令行中管理您的网络。

以太网

大多数以太网配置都集中在单个文件 /etc/network/interfaces 中。如果您没有以太网设备,那么在该文件中将只出现环回口,该文件看上去类似这样:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

如果您只有一个以太网设备 eth0,被配置成从 DHCP 服务器得到设置,并且在引导时自动激活,那么只需要再添加两行:

auto eth0
iface eth0 inet dhcp

第一行说明 eth0 将会在您启动时自动激活。第二行说明该接口 (“iface”) eth0 将有得到一个 IPv4 地址空间 (如果是一个 IPv6 的设备将须将 “inet” 用 “inet6” 代替) 并且它将自动从 DHCP 中自动获得它的配置。假定您的网络和 DHCP 服务都已经被正确配置,该机的网络将不需要更多的配置。DHCP 服务器将提供默认网关 (通过 route 命令来实现) 、设备的 IP 地址 (通过 ifconfig 命令来实现)以及网络使用的 DNS 服务器 (在 /etc/resolv.conf 文件中实现。)

要把您的以太网设备配置成静态 IP 地址和自定义配置的话,则要求更多的信息。假设您想指定 IP 地址 192.168.0.2 给设备 eth1,其掩码是 255.255.255.0。您的默认网关的 IP 地址是 192.168.0.1。您可以在 /etc/network/interfaces 中输入类似下面的语句:

iface eth1 inet static
	address 192.168.0.2
	netmask 255.255.255.0
	gateway 192.168.0.1

在这个例子中,您将需要在 /etc/resolv.conf 中手工指定您的DNS服务器,看起来如下:

search mydomain.example
nameserver 192.168.0.1
nameserver 4.2.2.2

search 语句在试图解析网络名时将把 mydomain.example 添到主机名查询中。举个例子,如果您的网络域名是 mydomain.example 并且您试图去 ping 主机 “mybox”,DNS 查询将在解析时改为 “mybox.mydomain.example”。nameserver 语句指定用于将主机名解析成 IP 地址的特定 DNS 服务器。如果您使用自己的名称服务器,请在这里输入它。否则请向您的 Internet 服务供应商询问要使用的主、辅 DNS 服务器,并如上上述将它们输入到 /etc/resolv.conf 中。

配置更多的接口是可能的,包括拨号的 PPP 接口、IPv6 网络、VPN 设备等。更多信息和支持选项请参考 man 5 interfaces。记住 /etc/network/interfacesifup/ifdown 脚本用于作为比其他一些 Linux 发行版更高层的配置模式。传统的低层工具如ifconfigroutedhclient 仍旧可被您用来进行特别配置。

管理 DNS 记录

本节解释了当要将 IP 地址解析为主机名或是进行相反操作时,如何配置使用哪个名称服务器。本节并不解释如何将系统配置为一台名称服务器。

要管理 DNS 条目,您可以在 /etc/resolv.conf 文件中添加、编辑或删除 DNS 名称服务器。一个 范例文件 在下面给出:

search com
nameserver 204.11.126.131
nameserver 64.125.134.133
nameserver 64.125.134.132
nameserver 208.185.179.218

search 关键字指定为不完整的主机名添加的字符串。在这里我们将其配置为 com。因此当我们运行:ping ubuntu 时它会被理解成 ping ubuntu.com

nameserver 关键字指定名称服务器的 IP 地址。它会被用来解析一个给定的 IP 地址或主机名。该文件可以有多个名称服务器条目。网络查询将以与条目相同的顺序使用这些名称服务器。

[警告]

如果 DNS 服务器名称是通过 DHCP 或 PPPoE (从您的 ISP ) 动态取回的,那么请不要在该文件中添加名称服务器条目。该条目会被覆盖。

[警告]

您在 /etc/resolv.conf 中所作的更改会在您重启您的机器时被擦除。如果您想使这个更改保留,您就要由 Universe 库安装 resolvconf 软件包,并更新该软件包提供的 /etc/resolvconf/resolv.conf.d/base 文件中的DNS 信息。

管理主机

要管理主机,您可以在 /etc/hosts 文件中添加、编辑或删除主机。该文件包括 IP 地址和相对应的主机名。当您的系统要解析一个主机到 IP 地址或从一个 IP 地址获取主机名时,它将在使用名称服务器之前参考 /etc/hosts 文件。如果该 IP 地址已经在 /etc/hosts 文件中被列出,那么将不再使用名称服务器。这一动作可以通过编辑 /etc/nsswitch.conf 来改变,不过后果自负。

如果您网络所包含计算机的 IP 地址没有在 DNS 中列出,建议您将它们加入到 /etc/hosts 文件中。