在Linux虚拟机中配置网络连接可通过以下几种方式实现,具体选择取决于宿主机的网络环境和虚拟化平台(如VMware、VirtualBox、KVM等):
1. 桥接模式(Bridged Networking)
- 虚拟机会直接连接到物理网络,与宿主机并列获得独立IP,如同局域网中的物理设备。需确保物理网络支持DHCP或手动配置静态IP。
- 配置步骤:
- 在虚拟化软件中将网络适配器设置为桥接模式。
- 在Linux虚拟机内编辑`/etc/network/interfaces`(Debian系)或`/etc/sysconfig/network-scripts/ifcfg-eth0`(RHEL系),配置IP、子网掩码、网关等。
- 使用`systemctl restart networking`或`nmcli`命令重启服务。
2. NAT模式(Network Address Translation)
- 虚拟机共享宿主机IP,通过宿主机进行地址转换访问外网。适合主机单IP且无需外部访问虚拟机的场景。
- 无需额外配置,大多数虚拟化平台默认启用NAT。若需手动检查,可确认虚拟网卡是否获取到`192.168.x.x`等私有IP。
3. 仅主机模式(Host-Only)
- 虚拟机与宿主机组成独立私有网络,无法访问外网。可通过宿主机端口转发/NAT二次配置实现联网。
- 扩展:若需上网,可在宿主机开启IP转发并配置iptables规则,例如:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
4. 自定义虚拟网络
- 高级用户可通过虚拟交换机(如Open vSwitch)创建复杂拓扑,结合VLAN或SDN技术实现灵活组网。
常见问题排查:
检查虚拟机网卡驱动是否加载(`lspci | grep -i ethernet`)。
验证DNS配置(`/etc/resolv.conf`)是否指向可用DNS服务器。
关闭防火墙临时测试(`systemctl stop firewalld`或`ufw disable`)。
扩展知识:
云环境差异:AWS/Azure等云平台使用虚拟化驱动(如ena/virtio),需加载对应内核模块。
底层原理:Linux网络栈通过`tun/tap`设备与虚拟化层交互,可通过`ip link`查看虚拟网卡状态。
容器对比:容器(如Docker)通常复用主机网络命名空间,与虚拟机网络隔离机制不同。