负责网络的启动脚本根据 /etc/sysconfig
中配置文件的内容,
决定应该启用或禁用哪些网络接口。对于每个需要配置的网络接口, 该目录中都应该包含一个文件,文件名类似 ifconfig.xyz
, 这里“xyz”应该能够描述该网卡, 使用接口名(如 eth0)一般比较合适。
文件内部是该网络接口的属性,如 IP 地址、子网掩码等。 文件名必须以 ifconfig 开头。
如果没有使用前一节描述的自定义命名策略, udev 会根据系统物理特征命名网卡接口,例如 enp2s1。 如果您不能确定接口名,可以在引导您的 LFS 系统后使用 ip link 或 ls /sys/class/net 命令确认。
作为示例,以下命令为 eth0 设备创建一个静态 IP 地址配置:
cd /etc/sysconfig/
cat > ifconfig.eth0 << "EOF"
ONBOOT=yes
IFACE=eth0
SERVICE=ipv4-static
IP=192.168.1.2
GATEWAY=192.168.1.1
PREFIX=24
BROADCAST=192.168.1.255
EOF
您必须修改文件中的变量,使配置与您的网络环境相匹配。
如果 ONBOOT
变量被设置为“yes”, 则 System V
网络脚本会在引导系统时启用该网络接口卡(NIC)。 否则,网络脚本会忽略该 NIC,不自动启用它。 您可以使用
ifup 和 ifdown 命令,手动启用或禁用网络接口。
IFACE
变量指定网络接口名,例如 eth0。 所有网络设备配置文件都需要它。
SERVICE
变量定义获取 IP 地址的方法。 LFS-Bootscripts
软件包使用模块化 IP 分配格式,在 /lib/services/
目录中新建一些文件,即可使用其他 IP 分配方法,这一般被用于 动态主机配置协议(DHCP)配置,具体方法在 BLFS 手册中说明。
如果默认网关存在, GATEWAY
变量应该包含默认网关的 IP 地址。
如果默认网关不存在,应该将这一行完全注释掉。
PREFIX
变量应该包含子网使用的 IP 地址位数。 IP
地址中的每一段都是二进制为 8 位的数,如果子网掩码是 255.255.255.0,说明 IP 地址中前三段(24
位)表示子网编号。如果子网掩码是 255.255.255.240,则使用了前 28 位表示子网编号。 子网前缀比 24
长的情况一般见于基于 DSL 或同轴电缆的 Internet 服务提供商 (ISP)。在我们的例子中,子网掩码是
255.255.255.0。 您应该根据您所处的子网调整 PREFIX
变量。
如果不指定它,则它默认为 24。
参考 ifup 的 man 页面获得更多信息。
系统需要某种方式,获取域名服务(DNS), 以将 Internet 域名解析成 IP 地址,或进行反向解析。
为了达到这一目的,最好的方法是将 ISP 或网络管理员提供的 DNS 服务器的 IP 地址写入 /etc/resolv.conf
。执行以下命令创建该文件:
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
domain <您的域名>
nameserver <您的主要域名服务器 IP 地址>
nameserver <您的次要域名服务器 IP 地址>
# End /etc/resolv.conf
EOF
可以省略 domain
语句, 或使用一条 search
语句代替它。 阅读 resolv.conf 的 man 页面了解更多细节。
将 <域名服务器 IP 地址>
替换为您的网络环境下最合适的 DNS 服务器 IP 地址。 这里往往会写入不止一个 DNS 服务器(需要提供后备功能的次要服务器)。
如果您只需要或只希望使用一个 DNS 服务器,可以删除文件中的第二个 nameserver 行。也可以写入本地路由器的 IP 地址。
Google 公用 DNS 服务器的 IP 地址是 8.8.8.8 和 8.8.4.4。
在引导过程中,/etc/hostname
被用于设定系统主机名。
执行以下命令,创建 /etc/hostname
文件,并输入一个主机名:
echo "<lfs>
" > /etc/hostname
<lfs>
需要被替换为赋予该计算机的名称。 不要在这里输入全限定域名 (FQDN) ,它应该被写入 /etc/hosts
文件。
选择一个全限定域名 (FQDN),和可能的别名,以供 /etc/hosts
文件使用。如果使用静态 IP 地址, 您还需要确定要使用的 IP 地址。 hosts 文件条目的语法是:
IP_地址 主机名.域名 别名
除非该计算机可以从 Internet 访问 (即拥有一个注册域名, 并分配了一个有效的 IP 地址段 —— 多数用户没有分配有效 IP), 确认使用的 IP 地址属于私网 IP 范围。有效的范围是:
私网地址范围 公共前缀长度
10.0.0.1 - 10.255.255.254 8
172.x.0.1 - 172.x.255.254 16
192.168.y.1 - 192.168.y.254 24
x 可以是 16-31 之间的任何数字,y 可以是 0-255 之间的任何数字。
有效的私网 IP 地址的一个例子是 192.168.1.1。 与之对应的 FQDN 可以是 lfs.example.org。
即使没有网卡,也要提供一个有效的 FQDN, 某些程序需要它才能正常工作。
如果使用 DHCP、DHCPv6 或 IPv6 自动配置,或者不准备配置网卡, 执行以下命令创建 /etc/hosts
文件:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts
127.0.0.1 localhost
127.0.1.1 <FQDN>
<主机名>
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# End /etc/hosts
EOF
::1 是 127.0.0.1 在 IPv6 中的对应,即 IPv6 回环接口。
如果使用静态地址,执行以下命令创建 /etc/hosts
文件:
cat > /etc/hosts << "EOF"
# Begin /etc/hosts
127.0.0.1 localhost
127.0.1.1 <FQDN>
<主机名>
<192.168.0.2>
<FQDN>
<主机名>
[别名 1] [别名 2] ...
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# End /etc/hosts
EOF
其中 <192.168.0.2>
、
<FQDN>
和 <HOSTNAME>
值需要为特定使用环境和需求进行修改
(如果系统或网络管理员分配了 IP 地址,且本机将被连接到现有的网络中)。 可以跳过别名(alias),它们不是必要的。