【VirtualBox虚拟机】不同网络环境IP变动的最佳解决方案

  • Post author:
  • Post category:其他




需求:

工作环境与家庭环境网络不同,无论接入什么网络,都需要保证虚拟机IP端口保持稳定不变,以便进行本地调试。


操作系统:CentOS 8



配置方法:

在这里插入图片描述



需要配置两个网卡,就可以解决该问题

  • 打开虚拟机设置

  • 进入网络

  • 配置网卡1

    网卡1:选择仅主机(Host-Only)网络,界面名称选择VirtualBox Host-Only Network(可能根据虚拟机安装配置不同,该网卡名称可能存在差异,总之是虚拟机的虚拟网卡);

    高级中不需要配置,但也给出截图参考:

    在这里插入图片描述

  • 配置网卡2:

    首先启用网卡2,连接方式选择:桥接网卡,其余全部默认,参考配置截图如下:

    在这里插入图片描述

  • 虚拟机的DHCP配置

    在这里插入图片描述

    在这里插入图片描述

  • 虚拟机中查询IP

    虚拟机重启后,直接会通过DHCP获取到IP,通过ifconfig查询即可。



IP及网络配置

  • 固定IP配置

    确定虚拟机内网网卡名称,不同系统或配置,文件名可能不一样,通过ifconfig命令ip地址确定是哪一个。

    然后改内网网卡,使这台机器的IP固定,每台机器可能不一样,要修改自己机器的配置:
vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 

配置文件改为如下配置:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 这行要将dhcp改为static
BOOTPROTO=static
# 下面这行从yes改为no 
DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=066b4926-b40c-4c28-a5b4-2310d2b96613
DEVICE=enp0s3
ONBOOT=yes
# 追加以下几行
IPADDR=192.168.56.200
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=114.114.114.114
PREFIX=24


注意改DEFROUTE这行非常重要,别漏掉

  • 网卡配置生效

    nmcli c reload #重启网卡

    nmcli c up enp0s3 #启动网卡3(内网)

    此时,如果你设置的固定IP和当前IP不同的话,SSH客户端会断开,如果在虚拟机中则不会。

    连接互联网的桥接网卡不需要任何改动。

  • hosts配置

    我们将刚刚设置的所有虚拟机可以通过hosts进行配置,这样可以更加灵活和方便地调用,例如我的配置是:

192.168.56.200 demo
192.168.56.201 master
192.168.56.202 slave1
192.168.56.203 slave2

直接将这些追加在vim /etc/hosts文件最后,保存后我们就可以通过 ping hostname 的方式请求到对应的机器了。

比如我的配置,ping 192.168.56.200 就可以写为 ping demo 了。

最后以防万一,再试一下ping www.baidu.com,没问题的话,就可以愉快地做后面的事情了!



版权声明:本文为m0_51929611原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。