%general-entities; ]> 一般网络配置 network configuring 本节只适用于需要配置网卡的情况。 网络接口配置文件 从 209 版本开始,systemd 提供一个名为 systemd-networkd 的网络配置守护进程, 它能够用于基础网络配置。另外,自 213 版本起,可以用 systemd-resolved 代替静态 /etc/resolv.conf 文件处理域名解析。 这两个服务在默认情况下都是启用的。 systemd-networkd (以及 systemd-resolved)的配置文件可以放置在 /usr/lib/systemd/network/etc/systemd/network 中。 /etc/systemd/network 中的配置文件优先级高于 /usr/lib/systemd/network 中的配置文件。有三种类型的配置文件: .link.netdev.network 文件。 要获得它们的详细描述和内容示例,参阅 the systemd-link(5)systemd-netdev(5)systemd-network(5) man 手册页面。 网络设备命名 Udev 一般根据系统物理特征为网卡分配接口名,例如 enp2s1。 如果您不确定接口名是什么,可以在引导您的系统后, 运行 ip link 命令。 对于多数系统,每种连接类型只有一个网络接口。 例如,有线连接的经典接口名是 eth0,而无线连接的接口名一般是 wifi0 或 wlan0。 如果您偏爱经典或自定义网络接口名,可以使用三种不同方式: 覆盖 udev 提供默认策略的 .link 文件: ln -s /dev/null /etc/systemd/network/99-default.link 手动创建命名架构,例如将网络接口命名为 internet0dmz0lan0。为此,在 /etc/systemd/network 中创建 .link 文件,为您的一个、 一些或全部网络接口直接选择名称,或选择更好的命名架构。 例如: cat > /etc/systemd/network/10-ether0.link << "EOF" [Match] # 将 MAC 地址替换为适用于您的网络设备的值 MACAddress=12:34:45:78:90:AB [Link] Name=ether0 EOF 参阅 man 页面 systemd.link(5) 获得更多信息。 在 /boot/grub/grub.cfg 的内核命令行中传递选项 net.ifnames=0。 静态 IP 配置 以下命令为静态 IP 设置创建一个基本的配置文件 (使用 systemd-networkd 和 systemd-resolved)。 cat > /etc/systemd/network/10-eth-static.network << "EOF" [Match] Name=<网络设备名> [Network] Address=192.168.0.2/24 Gateway=192.168.0.1 DNS=192.168.0.1 Domains=<您的域名> EOF 如果您有多个 DNS 服务器,可以在配置文件中创建多个 DNS 项。 如果您希望使用静态 /etc/resolv.conf 文件, 则不要在配置文件中包含 DNS 和 Domains 项。 DHCP 配置 以下命令为 IPv4 DHCP 配置创建基本配置文件: cat > /etc/systemd/network/10-eth-dhcp.network << "EOF" [Match] Name=<网络设备名> [Network] DHCP=ipv4 [DHCP] UseDomains=true EOF 创建 /etc/resolv.conf 文件 /etc/resolv.conf 如果要将系统连接到 Internet ,它需要某种域名服务(DNS) 名称解析方式,以将 Internet 域名解析为 IP 地址, 或将 IP 地址解析为域名。最好的方法是将 ISP 或网络管理员提供的 DNS 服务器 IP 地址写入 /etc/resolv.conf systemd-resolved 配置 如果使用其他方式配置网络接口(例如 ppp 或 network-manager 等),或使用了某种本地解析器(如 bind 或 dnsmasq 等), 或其他任何生成 /etc/resolv.conf 的软件(如 resolvconf),则不应使用 systemd-resolved 服务。 在使用 systemd-resolved 进行 DNS 配置时,它创建文件 /run/systemd/resolve/resolv.conf。在 /etc 中创建符号链接以使用生成的文件: ln -sfv /run/systemd/resolve/resolv.conf /etc/resolv.conf 静态 resolv.conf 配置 如果希望使用静态的 /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 服务器的 IPv4 地址是 8.8.8.88.8.4.4, IPv6 地址是 2001:4860:4860::88882001:4860:4860::8844 配置系统主机名 hostname configuring 在引导过程中,/etc/hostname 被用于设定系统主机名。 执行以下命令,创建 /etc/hostname 文件,并输入一个主机名: echo "<lfs>" > /etc/hostname <lfs> 需要被替换为赋予该计算机的名称。 不要在这里输入全限定域名 (FQDN) ,它应该被写入 /etc/hosts 文件。 自定义 /etc/hosts 文件 /etc/hosts localnet /etc/hosts network /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),它们不是必要的。