如何快速在CentOS 8中定位网络配置文件位置并配置IPv6地址?
- 内容介绍
- 文章标签
- 相关推荐
一、定位 CentOS 8 网络配置文件的位置
在 CentOS 8 中,所有传统的网络接口配置文件都统一放在 /etc/sysconfig/network-scripts/ 目录下。每个物理或虚拟网卡对应一个以 ifcfg- 开头、后接网卡名称的文件。例如:
-
/etc/sysconfig/network-scripts/ifcfg-ens33 -
/etc/sysconfig/network-scripts/ifcfg-eth0 -
/etc/sysconfig/network-scripts/ifcfg-enp0s3
如果程序使用 NetworkManager 管理网络,这些文件仍然是手动编辑静态 IP时最直接、最可靠的入口。
从常见痛点来看。找不到对应的 ifcfg 文件
很多新手在执行 ip a 或 nmcli device status 后只看到网卡名,却不知道它对应的配置文件在哪里。再看结果往往出现,
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
再看cat,/etc/sysconfig/network-scripts/ifcfg-eth0: No such file or directory
解决办法的观点是。
-
先确认网卡真实名称:
ip link show -
在
/etc/sysconfig/network-scripts/中搜索:# ls ifcfg-* - 若目录下没有对应文件,可自行创建,文件名必须与网卡名称完全一致。
二、编辑 IPv6 静态地址配置
打开对应网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
在文件中加入或修改以下关键字段:
# 基础网络属性
TYPE=Ernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=yes
# IPv4
IPADDR=192.168.10.20
PREFIX=24
GATEWAY=192.168.10.1
# IPv6 配置
IPV6INIT=yes
IPV6_AUTOCONF=no # 禁用自动获取。使用手动地址
IPV6ADDR=2001:db8:1::100/64 # 替换为你的 IPv6 地址和前缀长度
IPV6_DEFAULTGW=2001:db8:1::1 # 替换为你的 IPv6 默认网关
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
说到痛点剖析,参数写错导致网络不可用
- NM_CONTROLLED=no 时NetworkManager 会忽略此文件,导致手动修改失效。
- PREFIXLEN 写成了 “prefix_length” 或漏掉斜杠“/” : 程序会报错 “invalid IPV6ADDR value”。
- 忘记开启 ONBOOT=yes : 重启后接口不自动启动。
- PREFIX 与实际子网不匹配 : 会出现路由冲突或通信失败。
三、让改动生效——重启网络服务或使用 NetworkManager 工具
使用 systemctl 重启 NetworkManager
# systemctl restart NetworkManager.service
# systemctl status NetworkManager.service # 确认运行正常
使用 nmcli 手动激活接口
# nmcli connection reload # 让 NM 读取最新的 ifcfg 文件
# nmcli connection up ens33 # 将接口 up。上面用你的实际连接名替换
# nmcli device show ens33 | grep IPV6 # 检查 IPv6 配置是否已生效
使用 nmtui 图形化交互工具
-
安装工具:
# yum install -y NetworkManager-tui -
启动交互界面:
# nmtui edit ens33 - # systemctl restart NetworkManager.service.
四、验证 IPv6 配置是否成功
完成上述步骤后用以下命令确认:
# ip -6 addr show dev ens33 # 查看分配到该接口的 IPv6 地址
# ip -6 route # 检查默认路由是否指向 IPV6_DEFAULTGW
# ping -c 4 ipv6.google.com # 测试外部连通性
# curl -g 'http:///' # 本机回环测试
常见错误及排查要点
-
No IPv6 address assigned:
-
- 确认
/etc/sysconfig/network-scripts/ifcfg-ens33 中的 IDVVIPEINIT=yes & IPV6_AUTOCONF=no . - - 检查是否有语法错误,例如缺少斜杠 ) 或多余空格。怎么说呢,
-
- 确认
-
PING fails with “Network is unreachable”:
- - 确认默认路由已正确设置 .
- - 若程序防火墙开启。请放行 ICMPv6: # firewall-cmd --add-service=icmpv6 --permanent && firewall-cmd --reload.
-
NMTL controlled but changes ignored:
- - 确保在 ifcfg 文件里写明 NN_CONTROLLED=yes.
- - 用 # nmcli con reload && nmcli con up ens33.
五、快速排障小技巧
| 场景 / 痛点 | 方法 |
|---|
下面提供一个 Bash 脚本。方便你为所有以 “ens” 开头的物理 NIC 创建统一模板,并写入自定义 IPv4&IPv61 参数。请务必在生产环境之前做好备份!bash
#,/usr/bin/env bash
# 脚本功能:遍历 /etc/sysconfig/network-scripts/ 下所有 ifcfg-ens* 文件,如果不存在则创建;按理说,写入静态 IP 与 IPv61。按理说,# 注意:请自行替换变量中的 IP 地址段!BASE_IPV4=192.168.50.
BASE_IPV61=2001:db8:50::
PREFIX_IPV4=24
PREFIX_IPV61=64
GW_IPV4=192.168.50.1
GW_IPV61=2001:db8:50::1
for dev in $;do
cfg="/etc/sysconfig/network-scripts/ifcfg-${dev}"
echo "=== 正在处理 ${dev} ==="
cat> "${cfg}"
- 先把脚本保存为 setup_ipv62.sh 并赋予执行权限 .
- 在测试机器上运行前。用 diff -u 原始.cfg 新生成.cfg 检查差异,以免误改关键参数。
-
如需仅为单个 NIC 配置,请直接编辑对应的
/etc/sysc onfig/network‑scripts/ifcfg‑yourNIC .conf ‑– ‑ –‑‑—––——–‐—––\------------\/—\——\ —\ \\ — \— – \——–\ —‑\— ‑ ‑‑ ‑ …) 的方法即可,)。
©2025 作者原创,仅供学习交流。如需商业转载请联系作者获得授权。
一、定位 CentOS 8 网络配置文件的位置
在 CentOS 8 中,所有传统的网络接口配置文件都统一放在 /etc/sysconfig/network-scripts/ 目录下。每个物理或虚拟网卡对应一个以 ifcfg- 开头、后接网卡名称的文件。例如:
-
/etc/sysconfig/network-scripts/ifcfg-ens33 -
/etc/sysconfig/network-scripts/ifcfg-eth0 -
/etc/sysconfig/network-scripts/ifcfg-enp0s3
如果程序使用 NetworkManager 管理网络,这些文件仍然是手动编辑静态 IP时最直接、最可靠的入口。
从常见痛点来看。找不到对应的 ifcfg 文件
很多新手在执行 ip a 或 nmcli device status 后只看到网卡名,却不知道它对应的配置文件在哪里。再看结果往往出现,
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
再看cat,/etc/sysconfig/network-scripts/ifcfg-eth0: No such file or directory
解决办法的观点是。
-
先确认网卡真实名称:
ip link show -
在
/etc/sysconfig/network-scripts/中搜索:# ls ifcfg-* - 若目录下没有对应文件,可自行创建,文件名必须与网卡名称完全一致。
二、编辑 IPv6 静态地址配置
打开对应网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
在文件中加入或修改以下关键字段:
# 基础网络属性
TYPE=Ernet
BOOTPROTO=none
ONBOOT=yes
NM_CONTROLLED=yes
# IPv4
IPADDR=192.168.10.20
PREFIX=24
GATEWAY=192.168.10.1
# IPv6 配置
IPV6INIT=yes
IPV6_AUTOCONF=no # 禁用自动获取。使用手动地址
IPV6ADDR=2001:db8:1::100/64 # 替换为你的 IPv6 地址和前缀长度
IPV6_DEFAULTGW=2001:db8:1::1 # 替换为你的 IPv6 默认网关
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
说到痛点剖析,参数写错导致网络不可用
- NM_CONTROLLED=no 时NetworkManager 会忽略此文件,导致手动修改失效。
- PREFIXLEN 写成了 “prefix_length” 或漏掉斜杠“/” : 程序会报错 “invalid IPV6ADDR value”。
- 忘记开启 ONBOOT=yes : 重启后接口不自动启动。
- PREFIX 与实际子网不匹配 : 会出现路由冲突或通信失败。
三、让改动生效——重启网络服务或使用 NetworkManager 工具
使用 systemctl 重启 NetworkManager
# systemctl restart NetworkManager.service
# systemctl status NetworkManager.service # 确认运行正常
使用 nmcli 手动激活接口
# nmcli connection reload # 让 NM 读取最新的 ifcfg 文件
# nmcli connection up ens33 # 将接口 up。上面用你的实际连接名替换
# nmcli device show ens33 | grep IPV6 # 检查 IPv6 配置是否已生效
使用 nmtui 图形化交互工具
-
安装工具:
# yum install -y NetworkManager-tui -
启动交互界面:
# nmtui edit ens33 - # systemctl restart NetworkManager.service.
四、验证 IPv6 配置是否成功
完成上述步骤后用以下命令确认:
# ip -6 addr show dev ens33 # 查看分配到该接口的 IPv6 地址
# ip -6 route # 检查默认路由是否指向 IPV6_DEFAULTGW
# ping -c 4 ipv6.google.com # 测试外部连通性
# curl -g 'http:///' # 本机回环测试
常见错误及排查要点
-
No IPv6 address assigned:
-
- 确认
/etc/sysconfig/network-scripts/ifcfg-ens33 中的 IDVVIPEINIT=yes & IPV6_AUTOCONF=no . - - 检查是否有语法错误,例如缺少斜杠 ) 或多余空格。怎么说呢,
-
- 确认
-
PING fails with “Network is unreachable”:
- - 确认默认路由已正确设置 .
- - 若程序防火墙开启。请放行 ICMPv6: # firewall-cmd --add-service=icmpv6 --permanent && firewall-cmd --reload.
-
NMTL controlled but changes ignored:
- - 确保在 ifcfg 文件里写明 NN_CONTROLLED=yes.
- - 用 # nmcli con reload && nmcli con up ens33.
五、快速排障小技巧
| 场景 / 痛点 | 方法 |
|---|
下面提供一个 Bash 脚本。方便你为所有以 “ens” 开头的物理 NIC 创建统一模板,并写入自定义 IPv4&IPv61 参数。请务必在生产环境之前做好备份!bash
#,/usr/bin/env bash
# 脚本功能:遍历 /etc/sysconfig/network-scripts/ 下所有 ifcfg-ens* 文件,如果不存在则创建;按理说,写入静态 IP 与 IPv61。按理说,# 注意:请自行替换变量中的 IP 地址段!BASE_IPV4=192.168.50.
BASE_IPV61=2001:db8:50::
PREFIX_IPV4=24
PREFIX_IPV61=64
GW_IPV4=192.168.50.1
GW_IPV61=2001:db8:50::1
for dev in $;do
cfg="/etc/sysconfig/network-scripts/ifcfg-${dev}"
echo "=== 正在处理 ${dev} ==="
cat> "${cfg}"
- 先把脚本保存为 setup_ipv62.sh 并赋予执行权限 .
- 在测试机器上运行前。用 diff -u 原始.cfg 新生成.cfg 检查差异,以免误改关键参数。
-
如需仅为单个 NIC 配置,请直接编辑对应的
/etc/sysc onfig/network‑scripts/ifcfg‑yourNIC .conf ‑– ‑ –‑‑—––——–‐—––\------------\/—\——\ —\ \\ — \— – \——–\ —‑\— ‑ ‑‑ ‑ …) 的方法即可,)。
©2025 作者原创,仅供学习交流。如需商业转载请联系作者获得授权。

