跳至内容

简介

对于初次接触 GNU/Linux 的新手用户,安装操作系统后首先要考虑的问题是如何将机器连接到互联网。本文将告诉您如何配置 IP 地址、子网掩码、网关和 DNS。有几种方法可供参考。无论您是新手还是熟练用户,相信都能快速上手。

nmtui

NetworkManager 是标准的 Linux 网络配置工具集,支持服务器和桌面环境。如今,大多数流行的发行版都支持它。这套网络配置工具适用于 Rocky Linux 8 及更高版本。如果您想以图形方式配置网络信息(即命令行 nmtui),只需这样做即可。

shell > dnf -y install NetworkManager NetworkManager-tui
shell > nmtui
NetworkManager TUI
编辑连接
激活连接
设置系统主机名
退出
<OK>

您可以使用 Tab 键或 键选择。如果您想更改网络信息,请选择 编辑连接,然后按 Enter。选择不同的网卡并选择 编辑… 进行编辑。

DHCP IPv4

对于 IPv4,如果使用 DHCP 获取网络信息,只需选择 IPv4 CONFIGURATION <Automatic>,然后在终端中运行 systemctl restart NetworkManager.service。在大多数情况下,这样做即可。在极少数情况下,您需要禁用然后启用网卡才能使更改生效。例如:nmcli connection down ens33nmcli connection up ens33

手动修复网络信息

如果您想手动修复所有 IPv4 网络信息,需要在 IPv4 CONFIGURATION 下选择 <Manual>,然后逐行添加。例如,我喜欢这样:

项目
地址 192.168.100.4/24
网关 192.168.100.1
DNS 服务器 8.8.8.8

然后点击 < OK >,一步步返回终端界面,执行 systemctl restart NetworkManager.service。同样,在极少数情况下,需要开关网卡才能生效。

更改配置文件的方式

所有 RHEL7.x8.x发行版,无论是上游还是下游,配置方式都相同。网络信息的配置文件存储在 /etc/sysconfig/network-scripts/ 目录中,一张网卡对应一个配置文件。配置文件有很多参数,如表中所示。注意!参数必须大写。

警告

在 RHEL 9.x 发行版中,存储网卡配置文件目录的位置已更改,即 /etc/NetworkManager/system-connections/。有关更多信息,请参见 此处

shell > ls /etc/sysconfig/network-scripts/
ifcfg-ens33
参数名称 含义 示例
DEVICE 系统逻辑设备名 DEVICE=ens33
ONBOOT 网卡是否随系统自动启动,可以选择 yes 或 no ONBOOT=yes
TYPE 网卡接口类型,通常为 Ethernet TYPE=Ethernet
BOOTPROTO 获取 ip 的方式,可以是 DHCP 动态获取,也可以是 static 手动配置 BOOTPROTO=static
IPADDR 网卡的 ip 地址,当 BOOTPROTO=static 时,此参数生效 IPADDR=192.168.100.4
HWADDR 硬件地址,即 MAC 地址 HWADDR=00:0C:29:84:F6:9C
NETMASK 十进制子网掩码 NETMASK=255.255.255.0
PREFIX 子网掩码,用数字表示 PREFIX=24
GATEWAY 网关,如果有多个网卡,此参数只能出现一次 GATEWAY=192.168.100.1
PEERDNS 当为 yes 时,此处定义的 DNS 参数将修改 /etc/resolv.conf;当为 no 时,不会修改 /etc/resolv.conf。使用 DHCP 时,默认为 yes PEERDNS=yes
DNS1 主 DNS,仅当 PEERDNS=no 时生效 DNS1=8.8.8.8
DNS2 备用 DNS,仅当 PEERDNS=no 时生效 DNS2=114.114.114.114
BROWSER_ONLY 是否只允许浏览器 BROWSER_ONLY=no
USERCTL 普通用户是否允许控制网卡设备,yes 表示允许,no 表示不允许 USERCTL=no
UUID 通用唯一识别码,主要用于标识硬件,一般情况下,不需要填写
PROXY_METHOD 代理方法,一般为 none,可以留空
IPV4_FAILURE_FATAL 如果为 yes,表示 ipv4 配置失败后,设备将被禁用;如果为 no,表示不禁用。 IPV4_FAILURE_FATAL=no
IPV6INIT 是否启用 IPV6,yes 为启用,no 为不启用。当 IPV6INIT=yes 时,还可以启用 IPV6ADDR 和 IPV6_DEFAULTGW 这两个参数,前者代表 IPV6 地址,后者代表指定网关 IPV6INIT=yes
IPV6_AUTOCONF 是否使用 IPV6 自动配置,yes 表示使用;no 表示不使用 IPV6_AUTOCONF=yes
IPV6_DEFROUTE 是否给 IPV6 设置默认路由 IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL IPV6 配置失败后,是否禁用设备 IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE 生成 IPV6 地址的模型,可选值为 stable-privacy 和 eui64 IPV6_ADDR_GEN_MODE=stable-privacy

成功修改配置文件后,切记重启网卡服务 systemctl restart NetworkManager.service

TYPE=Ethernet
ONBOOT=yes
DEVICE=ens33
USERCTL=no
IPV4_FAILURE_FATAL=no
BROWSER_ONLY=no
BOOTPROTO=static
PEERDNS=no
IPADDR=192.168.100.4
PREFIX=24
GATEWAY=192.168.100.1
DNS1=8.8.8.8
DNS2=114.114.114.114
TYPE=Ethernet
ONBOOT=yes
DEVICE=ens33
USERCTL=no
BROWSER_ONLY=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no

查看网络信息

ip anmcli device show

作者:李天赐

贡献者:Steven Spencer, Neil Hanlon