目录
实现静态网络配置方法:
0.网络配置目标
1. VirtualBox的四种网络连接方式
2.桥接模式的各种坑
2.1 桥接网络无法获取ipv4地址
2.2 桥接网络可以获取ipv4地址,但是无法ping宿主机
2.3 桥接网络可以ping通宿主机,但是无法ping通网关
2.4桥接网络可以ping通网关和访问internet,但是内网ip是动态的
2.5大功告成,为VM配置独立静态内网IP实现所有网络目标
安装过程已在这篇博客分享
本篇专门总结ubuntu VM网络配置的各种坑
环境:
Windows10Pro + VirtualBox6.1 + Ubuntu-server18.04 & 20.04
实现静态网络配置方法:
路由器DHCP,不要为VM设置IP-MAC绑定
在宿主机设置:打开控制面板,找到Windows Defender 防火墙,点击高级设置,在入站规则里找到文件和打印机共享(回显请求 - ICMPv4-In)
,右键启用规则
在VM上配置静态IP
# vim /etc/netplan/50-cloud-init.yaml
# netplan apply
network:
ethernets:
enp0s3:
addresses: [192.168.1.20/24,]
dhcp4: false
gateway4: 192.168.1.1
nameservers:
addresses: [211.162.130.33,211.162.130.33,114.114.114.114]
version: 2
0.网络配置目标
- VM跟宿主机可以互相ping通
- 多个VM之间可以互相ping通
- VM可以通过宿主机访问internet
- VM需要静态内网IP,以便搭建内网集群和实现xshell登录
1. VirtualBox的四种网络连接方式
可以看到桥接模式是最佳选项,它支持所有情况的访问,让VM成为一台完全独立的主机,多台VM通过这种网络设置可以组成HOST内网可见的集群
2.桥接模式的各种坑
虚拟机网络设置
2.1 桥接网络无法获取ipv4地址
具体怎么出现的没有注意,最后解决方法是重启宿主机路由器
2.2 桥接网络可以获取ipv4地址,但是无法ping宿主机
参考
解决办法是设置宿主机:
打开控制面板,找到Windows Defender 防火墙,点击高级设置,在入站规则里找到文件和打印机共享(回显请求 - ICMPv4-In)
,右键启用规则
2.3 桥接网络可以ping通宿主机,但是无法ping通网关
为了实现xshell登录VM,所以在路由器设置了IP-MAC绑定规则,让路由器在DHCP模式下可以给VM分配静态内网IP
但是这样设置后,VM网络出现问题:
宿主机可以ping通VM并实现xshell登录,VM可以ping通宿主机
但是VM无法ping通网关,也无法访问internet
2.4桥接网络可以ping通网关和访问internet,但是内网ip是动态的
去掉路由器的IP-MAC绑定后,VM通过路由器的DHCP动态获得内网IP
宿主机可以ping通VM并实现xshell登录,VM可以ping通宿主机
VM可以ping通网关,也可以访问internet
但是因为VM的内网IP是动态分配的,搭建内网集群不方便,也不方便xshell登录
2.5大功告成,为VM配置独立静态内网IP实现所有网络目标
通过在VM配置静态IP,实现VM获取静态内网IP并互相可以ping通