简介¶
对于初次接触 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 ens33
,nmcli 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.x或8.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
。
IPv4 推荐配置¶
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
IPv6 推荐配置¶
TYPE=Ethernet
ONBOOT=yes
DEVICE=ens33
USERCTL=no
BROWSER_ONLY=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
查看网络信息¶
ip a
或 nmcli device show
作者:李天赐
贡献者:Steven Spencer, Neil Hanlon