VirtualBox中Ubuntu虚拟机网络配置问题及相关疑问
VirtualBox中Ubuntu虚拟机网络配置问题及相关疑问
我来帮你把这些问题逐个理清楚哈:
1. 为什么ip addr show能看到网卡,但系统网络设置是空的?
这大概率是因为你的Ubuntu用了Netplan(Ubuntu现在默认的网络配置工具)来管理网络,而桌面版的网络设置工具没和Netplan的配置同步,或者网卡没交给NetworkManager(桌面网络管理工具)来管理。
- 你可以先检查Netplan的配置文件,执行命令:
cat /etc/netplan/*.yaml,看看里面的网卡配置,比如是否指定了renderer: networkd(这是用系统服务管理网络,桌面工具不识别); - 如果想让桌面网络设置能看到这些网卡,只需要把Netplan配置里的
renderer: networkd改成renderer: NetworkManager,然后执行sudo netplan generate && sudo netplan apply,重启后桌面设置就能识别并编辑网卡了。
另外也有可能是VirtualBox的网卡模式没配置对,比如你选了“仅主机网络”但没在VirtualBox全局设置里配置对应的子网,不过从ip addr能看到网卡来看,硬件层面是识别到了的,主要还是系统配置的问题。
2. 怎么永久修改网络设置?
根据Ubuntu的版本,现在主流是用Netplan来做永久配置,步骤很简单:
- 编辑Netplan配置文件:
sudo nano /etc/netplan/00-installer-config.yaml(文件名可能略有不同,用ls /etc/netplan/确认) - 比如要设置静态IP,参考以下配置(替换成你实际的网卡名和网段):
network: ethernets: enp0s3: # 这里换成你`ip addr`里看到的真实网卡名,比如enp0s8 addresses: [192.168.56.101/24] # 静态IP和子网掩码 gateway4: 192.168.56.1 # 网关,对应VirtualBox仅主机网络的网关 nameservers: addresses: [8.8.8.8, 114.114.114.114] # DNS服务器 version: 2 renderer: NetworkManager # 加这个让桌面工具也能识别
- 保存退出后,执行
sudo netplan generate生成配置,再执行sudo netplan apply让配置生效,这样重启后网络设置也不会丢失。
如果习惯用桌面工具修改,只要确保Netplan配置里用了renderer: NetworkManager,之后就能在系统设置的网络面板里可视化修改,修改后的设置也是永久的。
3. docker0和vethe984e16@if5是什么?可以删除吗?
- docker0:这是Docker自动创建的桥接网络接口,是Docker默认的“桥接网络”,作用是让你的Docker容器和Ubuntu主机之间、容器和容器之间能互相通信,相当于容器的一个虚拟交换机。
- vethe984e16@if5:这是一个虚拟以太网对(veth pair)的一端,另一端是在某个运行中的Docker容器内部,用来把容器连接到
docker0网桥,实现容器的网络连通性。
如果你不需要使用Docker的话,完全可以删除这些接口:
- 先停止Docker服务:
sudo systemctl stop docker - 禁止Docker开机自启:
sudo systemctl disable docker - 彻底卸载Docker(确定不用的话):
sudo apt purge docker-ce docker-ce-cli containerd.io - 重启Ubuntu虚拟机,这些接口就会消失了。
但如果你还需要用Docker,千万别删这些接口,它们是Docker正常工作的必要组件,删了之后容器会失去网络连接,无法正常访问外部或互相通信。
备注:内容来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

