> For the complete documentation index, see [llms.txt](https://slackwarecn.gitbook.io/slackbook_cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://slackwarecn.gitbook.io/slackbook_cn/chapter_14/automatic_configuration_with_rc.inet1.conf.md).

# 使用 rc.inet1.conf 自动配置网络

手动配置的接口是有一个重要的技能，但它很枯燥。没有人会在每次系统启动的时候手动设置自己的互联网连接。更重要的是，你不是每次启动机器时都可以动硬件连接，Slackware 的可以很容易地自动在系统启动时与 `/etc/rc.d/rc.inet1.conf` 配置以太网卡和无线网卡。现在，我们将专注于有线网络。下一章将讨论各种无线方案。

`rc.inet1.conf` 是一个非常强大的配置文件，可在 Slackware 启动时自动配置大部分网卡。该文件自带了很多有用的说明，更多详细的用法可以参考它的使用手册页。首先，我们将看看一些我个人电脑上使用的选项。

```
# Config information for eth0
IPADDR[0]="192.168.1.250"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Default gateway address
GATEWAY="192.168.1.254"
```

这表示大部分的所必需的信息到单个以太网控制器上配置一个静态 IP 地址。通常用 `netconfig` 将这些值填入为您在单个以太网设备。如果你的计算机里有多个网卡的机器并且都要在开机时自动启动，那么你就需要手动编辑或以同样的方式添加附加选项到该文件。首先，让我们熟悉下基本配置。

你可能已经猜到了，`IPADDR[n]` 是第 n 个网卡的互联网协议（IP）地址。通常，`n` 对应为 `eth0`，`eth1` 等等，但不绝对。您可以用 `IFNAME[N]` 这样的变量指定这些不同的网络控制器的配置值，但我们会保留到 [第 15 章、无线网络](/slackbook_cn/chapter_15.md) 去讨论，因为它更普遍适用于无线网络控制器。

同样地，`NETMASK[n]` 是网络控制器子网掩码。如果这些行留空，则静态 IP 地址不会自动分配给该网络控制器。 `USE_DHCP[N]` 变量告诉 Slackware 的使用 DHCP 配置接口。 `DHCP_HOSTNAME[n]` 已经很少使用了，但某些 DHCP 服务器要求有这个值。如果需要，它必须被设置为有效的主机名。最后，我们来到了 `GATEWAY` 变量。实际上它出现的位置应该比在我的实例文件中出现的位置低，它控制默认使用哪个网关。你可能会奇怪，为什么没有 `GATEWAY[n]` 变量。这个问题的答案就在于互联网协议如何工作的。我不会去深入的讨论这个问题，但我只想说，一台电脑不管连了多少个网卡接口，永远都只有一个默认路由。

如果您需要使用静态 IP 地址，你就必须获得一个唯一的静态 IP 地址和子网掩码，以及默认网关地址，并输入到这个文件里。在 `rc.inet1.conf` 中没有配置 DNS 信息的地方，因此 DNS 服务器将手动写入 `resolv.conf`，这在 `手动配置` 一节中讨论过。当然，如果你使用 `netconfig`，程序会自动帮你处理。现在，让我们来看看我的电脑上的另一个接口。

```
# Config information for eth1:
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]="YES"
DHCP_HOSTNAME[1]=""
```

在这里，我告诉 Slackware 使用 DHCP 配置 `eth1` 。使用 DHCP 时我并不需要设置 `IPADDR[1]` 或 `NETMASK [1]`（事实上，它们即使设置了也会被忽略）。Slackware 会随着计算机启动去联系 DHCP 服务器。
