VirtualBox 中 Ubuntu 的网络设置指南
一、快速选择网络模式
- NAT:默认模式,虚拟机通过主机上网,外部不可直接访问;适合“能出网、无需入站”的场景。若需从外部访问服务,使用端口转发。
- 桥接 Bridged:虚拟机直接接入物理网络,获取与主机同网段的 IP,可被局域网其他设备访问;适合“需要被访问、与真实主机无异”的场景。
- 仅主机 Host-Only:与主机形成一个隔离私网,可主机↔虚拟机互通,默认不能上外网;适合本地开发/测试。
- 内部网络 Internal Network:仅虚拟机之间互通,与主机和外部隔离;适合多台 VM 内部通信。
- 组合示例:网卡1设为 NAT(出网),网卡2设为 Host-Only(与主机互通),兼顾上网与联机调试。
二、在 VirtualBox 中的配置步骤
- 选中虚拟机 → 设置 → 网络。
- 适配器1:
- 连接方式选 NAT(默认)或 桥接(选择实际物理网卡,如 Wi‑Fi/以太网)。
- 桥接到无线时,建议勾选“接入网线”(Cable Connected),避免链路状态异常。
- 需要主机与虚拟机互通或固定私网时,添加适配器2:
- 连接方式选 仅主机,如未创建虚拟网卡,选择“创建新的虚拟网卡”。
- 需要多台 VM 内部互通时,适配器可设为 内部网络 并指定网络名。
- 需要外部访问虚拟机服务(如 SSH/HTTP)时:适配器1为 NAT → 高级 → 端口转发,添加规则(例:主机 2222 → 虚拟机 22/TCP)。
三、在 Ubuntu 内验证与连通性测试
- 查看地址与链路:
- ip addr(或 ifconfig)查看网卡与 IP
- ip route 查看默认网关
- 基础连通性:
- ping 8.8.8.8(测试外网连通)
- ping www.baidu.com(测试 DNS 解析)
- 主机↔虚拟机互通:
- 桥接/仅主机下,从主机 ping 虚拟机 IP
- NAT 下默认主机不可直达,需依赖端口转发(如 ssh -p 2222 用户@localhost)
- 服务可达性:
- 若做端口转发,确认宿主机防火墙放行对应端口,虚拟机内服务已监听(如 sudo apt install openssh-server 后 systemctl enable --now ssh)
四、常见场景与推荐做法
- 上网优先:适配器1设为 NAT,简单稳定;如需外部访问,配置端口转发。
- 与同网段设备互通或被访问:适配器1设为 桥接,选择正确物理网卡(Wi‑Fi/以太网),必要时在路由器/交换机侧放行。
- 本地开发/测试且需与主机互通:适配器1 NAT(出网)+ 适配器2 仅主机(与主机私网互通)。
- 多台 VM 内部通信:各 VM 使用同一 内部网络 名称,形成隔离的私有局域网。
五、Ubuntu 静态 IP 配置示例(Netplan)
- 适用版本:Ubuntu 18.04 及以上(默认使用 Netplan)。
- 查看并编辑配置(文件名可能不同,如 01-netcfg.yaml 或 00-installer-config.yaml):
- sudo nano /etc/netplan/01-netcfg.yaml
- 示例(将 eth0 替换为你的实际网卡名,如 ens33/enp0s3):
- network:
- version: 2
- renderer: networkd
- ethernets:
- eth0:
- dhcp4: no
- addresses: [192.168.1.100/24]
- gateway4: 192.168.1.1
- nameservers: { addresses: [8.8.8.8, 8.8.4.4] }
- 应用配置:sudo netplan apply
- 旧版(如 Ubuntu 16.04)可用 /etc/network/interfaces 配置静态 IP,或借助 NetworkManager/nmcli。