Ubuntu 24 飞牛虚拟机 例如:ens2 网卡自动获取IP(DHCP)配置文档
一、配置说明
适配场景:飞牛虚拟机 Ubuntu 24 系统,例如:网卡实际名称为 ens2(飞牛平台显示 eno1-ovs,例如:MAC地址 00:2f:34:aa:p4:d6),桥接模式下实现开机自动获取IP/网关/DNS。
二、操作步骤(完整可复制)
1. 编辑 Netplan 网络配置文件
bash
sudo nano /etc/netplan/01-netcfg.yaml
2. 写入以下配置内容(严格遵守YAML缩进,用空格而非Tab)
yaml
network:
ethernets:
ens2: # 系统实际网卡名(核心,不可修改)
dhcp4: true # 开启IPv4自动获取(DHCP)
dhcp6: false # 关闭IPv6(按需可改为true)
optional: true # 避免开机等待网络连接
version: 2 # Netplan配置版本,固定值
renderer: networkd # 指定网络管理工具(服务器版默认)
3. 保存并退出编辑器
- 按
Ctrl + O→ 按Enter确认保存 → 按Ctrl + X退出nano。
4. 修复配置文件权限(Netplan安全要求)
bash
sudo chmod 600 /etc/netplan/01-netcfg.yaml # 仅root可读写
sudo chown root:root /etc/netplan/01-netcfg.yaml # 归属root用户组
5. 生成并应用配置(触发自动DHCP)
bash
sudo netplan generate # 生成配置(无报错则语法正确)
sudo netplan apply # 应用配置(立即生效)
sudo systemctl restart systemd-networkd # 重启网络服务确保生效
6. 验证配置结果
bash
# 查看自动获取的IPv4地址(有inet开头即为成功)
echo "=== 自动获取的IP ==="
ip addr show ens2 | grep inet
# 查看自动获取的默认网关
echo "=== 自动获取的网关 ==="
ip route | grep default
# 测试网络连通性
echo "=== 联网测试 ==="
ping -c 2 8.8.8.8
三、关键验证标准
执行验证命令后,出现以下输出即为配置成功:
=== 自动获取的IP ===
inet 192.168.x.xxx/24 scope global ens2 # 非127/169开头的IPv4地址
=== 自动获取的网关 ===
default via 192.168.x.1 dev ens2 proto dhcp # 匹配物理机网关
=== 联网测试 ===
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=xx.ms # 能ping通外网
四、常见问题排查
1. 报错:Permissions for /etc/netplan/01-netcfg.yaml are too open
原因:配置文件权限过高,执行以下命令修复:
bash
sudo chmod 600 /etc/netplan/01-netcfg.yaml
2. 报错:Error in network definition: expected mapping
原因:YAML缩进错误/拼写错误,重新执行步骤2的配置内容(直接复制避免手动输入错误)。
3. 无IP但配置无报错
原因:飞牛虚拟机桥接模式未绑定物理机上网网卡,解决:
- 登录飞牛虚拟机控制台 → 网络设置 → 桥接模式 → 绑定物理机的有线/无线网卡 → 重启虚拟机后重新执行
sudo netplan apply。
五、注意事项
- 配置文件中
ens2为系统实际网卡名,不可替换为飞牛显示的eno1-ovs; - 桥接模式下,物理机所在网络需开启DHCP服务(家用路由器默认开启);
- 配置生效后,重启虚拟机仍会自动获取IP,无需重复配置。