一、环境说明

项目

虚拟化平台

Oracle VirtualBox

网络模式

NAT​ (网络地址转换)

操作系统

Ubuntu Resolute (26.04)

网络管理工具

Netplan

预期固定IP

10.0.2.15/24

默认网关

10.0.2.2​ (VBox NAT 专用)

⚠️ 注意:NAT模式下,IP必须在 10.0.2.0/24网段,不能写成宿主机的 192.168.x.x


二、前置准备(必须执行)

1. 确认网卡名称与当前状态

# 查看网卡名 (如 enp0s3) 和 MAC 地址
ip a
# 查看当前路由 (确认网关)
ip route

2. 禁用 Cloud-init(防止重启后被重置)

如果不做这一步,每次开机 Netplan 配置可能会被自动覆盖。

# 创建禁用网络配置的配置文件
sudo mkdir -p /etc/cloud/cloud.cfg.d
echo "network: {config: disabled}" | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

三、核心配置步骤

1. 备份原配置

cd /etc/netplan/
sudo cp 00-installer-config.yaml 00-installer-config.yaml.bak

2. 编辑 Netplan 配置文件

sudo nano /etc/netplan/00-installer-config.yaml

✅ 正确配置模板(请严格复制此格式):

重点routes:下的 - via:必须对齐,缩进必须是空格,不能是 Tab。

3. 应用配置

# 测试配置(如果有错会回滚,按 Enter 确认)
sudo netplan try

# 或者直接应用
sudo netplan apply

# 生成后端配置(调试用)
sudo netplan generate

四、验证与测试命令

目的

命令

检查IP是否生效

ip addr show dev enp0s3

检查路由是否唯一

ip route(应只有一条 default via 10.0.2.2)

测试外网连通

ping -c 4 8.8.8.8

测试DNS解析

dig www.baidu.comnslookup www.baidu.com

查看 Netplan 状态

networkctl status enp0s3


五、常见问题排错 (Troubleshooting)

1. Error in network definition: expected sequence

  • 原因:YAML 缩进错误。routes:下的 - via:缩进不够。

  • 解决:确保 - via:前面比 routes:多两个空格(对齐层级)。

2. 网络重启后配置丢失

  • 原因:Cloud-init 未禁用成功。

  • 解决:检查 /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg是否存在且内容正确。

3. 能 Ping IP 但不能 Ping 域名

  • 原因:DNS 配置未生效或被覆盖。

  • 解决:检查 /etc/resolv.conf是否指向正确的 Nameserver,或在 Netplan 中指定 nameservers

4. SSH 连接失败(宿主机连不上)

  • 原因:NAT 模式外部无法直接访问。

  • 解决:VirtualBox 设置 -> 网络 -> 高级 -> 端口转发​ (例如:主机端口 2222 -> 子系统端口 22)。


六、附录:常用辅助命令

# 查看 Netplan 文件语法
sudo netplan --debug apply

# 查看系统日志中的网络报错
journalctl -u systemd-networkd -xe

# 重启网络服务
sudo systemctl restart systemd-networkd

完结撒花

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐