欧拉操作系统配置双栈网络完整指南(IPv4 + IPv6)
前言
最近在配置研究生招生系统的服务器环境,遇到了欧拉操作系统下配置双栈网络的问题。踩了不少坑,记录一下完整的配置过程,希望能帮到有类似需求的朋友。
环境说明
- 操作系统:欧拉操作系统(openEuler 24.03 SP3)
- 内核版本:6.6.0-132.0.0.111.oe2403sp3.x86_64
- 网络管理工具:NetworkManager(nmcli)
网络规划
假设我们需要配置两台服务器:
| 服务器 | IPv4地址 | IPv6地址 | 网关(IPv4) | 网关(IPv6) |
|---|---|---|---|---|
| Web服务器 | 192.168.1.10/29 | 2001:db8::1/112 | 192.168.1.14 | 2001:db8::ffff |
| 数据库服务器 | 192.168.1.11/29 | 2001:db8::2/112 | 192.168.1.14 | 2001:db8::ffff |
| DNS | 8.8.8.8 | - | - | - |
说明:本文使用示例 IP 地址,请根据实际情况替换。
子网掩码说明
/29对应子网掩码255.255.255.248- 可用 IP 数量:6 个(29 = 32 - 3,2³ = 8,减去网络地址和广播地址)
第一步:查看当前网卡信息
# 查看网卡设备状态
ip addr show
# 或使用 nmcli
nmcli device status
输出示例:
DEVICE TYPE STATE CONNECTION
lo loopback connected lo
ens192 ethernet disconnected -
记下你的网卡名称(这里是 ens192)。
第二步:查看现有 NetworkManager 连接
nmcli con show
如果存在同名连接或冲突,先删除:
nmcli con delete ens192
第三步:创建新连接
nmcli con add type ethernet con-name ens192 ifname ens192
第四步:配置 IPv4 地址
nmcli con mod ens192 ipv4.method manual \
ipv4.addresses 192.168.1.10/29 \
ipv4.gateway 192.168.1.14 \
ipv4.dns "8.8.8.8"
注意:
- 使用反斜杠
\换行时,后面不能有空格,直接按回车 - DNS 地址用双引号包裹
- 多个 DNS 可用逗号分隔:
"8.8.8.8,8.8.4.4"
第五步:配置 IPv6 地址
nmcli con mod ens192 ipv6.method manual \
ipv6.addresses 2001:db8::1/112 \
ipv6.gateway 2001:db8::ffff
关于 IPv6 DNS 的说明:
- 一般情况下不需要单独配置 IPv6 DNS
- IPv4 DNS 服务器可以同时解析 IPv6 地址(AAAA 记录)
- 如果确实需要,可以用
ipv6.dns参数添加
第六步:激活网卡配置
nmcli con up ens192
第七步:验证配置
# 查看 IPv4 配置
ip addr show ens192 | grep inet
# 查看 IPv6 配置
ip addr show ens192 | grep -i inet6
# 查看网关配置
nmcli con show ens192 | grep -E "ipv4.gateway|ipv6.gateway"
# 测试 IPv4 连通性
ping -c 4 192.168.1.14
# 测试 IPv6 连通性
ping6 -c 4 2001:db8::ffff
快速配置命令汇总(一行版)
如果你已经熟悉流程,可以直接用一行命令完成所有配置:
# Web服务器
nmcli con mod ens192 ipv4.method manual ipv4.addresses 192.168.1.10/29 ipv4.gateway 192.168.1.14 ipv4.dns "8.8.8.8" ipv6.method manual ipv6.addresses 2001:db8::1/112 ipv6.gateway 2001:db8::ffff
# 数据库服务器
nmcli con mod ens192 ipv4.method manual ipv4.addresses 192.168.1.11/29 ipv4.gateway 192.168.1.14 ipv4.dns "8.8.8.8" ipv6.method manual ipv6.addresses 2001:db8::2/112 ipv6.gateway 2001:db8::ffff
常见问题与解决方案
1. 报错:Error: Failed to modify connection
错误信息:
Error: Failed to modify connection 'ens192': ipv4.addresses: "method=manual"
原因:设置 method=manual 时必须同时提供 ipv4.addresses
解决:将 method 和 addresses 放在同一条命令中
2. 报错:invalid <setting>.<property> 'ipv4addresses'
错误信息:
Error: invalid <setting>.<property> 'ipv4addresses'
原因:拼写错误,少了点号
正确写法:ipv4.addresses(不是 ipv4addresses)
3. 警告:There is another connection with the name 'ens192'
错误信息:
Warning: There is another connection with the name 'ens192'
原因:存在重复的连接配置
解决:
# 查看所有连接
nmcli con show
# 删除重复的连接(使用 UUID)
nmcli con delete <UUID>
4. IPv6 地址显示不正确
原因:配置没有生效,或者有多个配置文件冲突
解决:
# 清除现有配置
nmcli con mod ens192 ipv6.addresses ""
nmcli con mod ens192 ipv6.gateway ""
# 重新配置
nmcli con mod ens192 ipv6.addresses 2001:db8::1/112
# 重新激活
nmcli con down ens192
nmcli con up ens192
5. 查看网关是否配置成功
nmcli con show ens192 | grep gateway
输出示例:
ipv4.gateway: 192.168.1.14
ipv6.gateway: 2001:db8::ffff
如果显示 -- 表示未配置。
6. 网卡名称不是 ens192 怎么办?
不同系统的网卡名称可能不同:
- 传统命名:
eth0、eth1 - 一致性命名:
ens192、ens160、enp0s3 - 虚拟化:
ens33
解决:先执行 ip addr show 查看实际网卡名,然后替换命令中的 ens192
子网掩码换算参考
| 子网掩码 | CIDR | 可用IP数 |
|---|---|---|
| 255.255.255.0 | /24 | 254 |
| 255.255.255.128 | /25 | 126 |
| 255.255.255.192 | /26 | 62 |
| 255.255.255.224 | /27 | 30 |
| 255.255.255.240 | /28 | 14 |
| 255.255.255.248 | /29 | 6 |
| 255.255.255.252 | /30 | 2 |
nmcli 常用命令速查
| 操作 | 命令 |
|---|---|
| 查看所有连接 | nmcli con show |
| 查看所有设备 | nmcli device status |
| 添加连接 | nmcli con add type ethernet con-name <名称> ifname <网卡> |
| 删除连接 | nmcli con delete <名称或UUID> |
| 修改配置 | nmcli con mod <名称> <属性> <值> |
| 激活连接 | nmcli con up <名称> |
| 停用连接 | nmcli con down <名称> |
| 查看连接详情 | nmcli con show <名称> |
| 重启网络 | nmcli networking off && nmcli networking on |
总结
配置欧拉操作系统的双栈网络,核心步骤是:
- 确认网卡名称 -
ip addr show - 清理冲突配置 -
nmcli con delete - 添加新连接 -
nmcli con add - 配置 IPv4 -
ipv4.method manual ipv4.addresses ipv4.gateway ipv4.dns - 配置 IPv6 -
ipv6.method manual ipv6.addresses ipv6.gateway - 激活并验证 -
nmcli con up+ip addr+ping
关键点:
/29=255.255.255.248ipv4.addresses不要写成ipv4addresses- 设置
manual时必须同时提供地址 - IPv6 通常不需要单独配置 DNS
nmcli 命令虽然参数较多,但熟悉之后非常高效。希望这篇文章能帮到你!
如果觉得有用,欢迎点赞收藏!有问题可以在评论区交流~
安全提示:本文中的 IP 地址均为示例,请根据实际网络环境替换。生产环境建议使用内网地址段(如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)。