在Oracle VM VirtualBox中为多个Ubuntu 20.04.4虚拟机分配静态IP地址

一、在全局设定下建立NatNetwork。

有几个虚拟机就建立几个NAT(网络地址转换模式),NAT是一种通过主机进行端口映射。就是让虚拟机能够与外部网络链接,但是如果虚拟机不主动发出请求的话,外部网络不会连入虚拟机。

 

 出了点小问题,前面两个NAT随便配置之后,虚拟机可以ping通外网,配置到第三个虚拟机NAT的时候,发现虚拟机3网卡一的地址不再跟随NAT网络配置走,导致无法ping通外网。

网上也找不到参考,只好将NAT网络配置的跟虚拟机3网卡一的ip地址一样了,如下所示,首先 ip addr 查询网卡一IP地址为 192.20.0.4,然后将第三个NAT网络配置为 192.20.0.0/24。

 

 提示:NAT网络配置 192.20.0.0/24 ,IP地址斜线后面的数字的24,代表子网掩码中1的位数为24,子网掩码的二进制位数共有32位,配置为24位表示子网掩码位255.255.255.0,用二进制表示位11111111 11111111 11111111 00000000 ,这个NAT网络的网段为192.20.0.0,这个网段的IP地址从192.20.0.1开始,到192.20.0.254结束。

  再举个例子, 192.168.1.0/28表示的意思是网段是192.168.1.0,子网掩码为:255.255.255.240,用二进制表示为:11111111 11111111 11111111 11110000。  

  24位说明网络位是24位,那么主机位就是32-24=8位了,则子网的IP个数是254个,即是从00000001到11111110。  

  28位说明网络位是28位,那么主机位4位,则子网的IP个数是14个,即是从00000001到00001110。

 

二、主机网络管理器中,建立Host-Only网络

在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。

提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。

在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。

 

 三、为虚拟机配置网络

 虚拟机一:

网卡一选择NatNetwork网络,网卡二选择host-only网络,网卡3,网卡4不启用,启用以后可能会造成内网不通或外网不同。

 

 虚拟机二:

网卡一选择NatNetwork1网络,网卡二选择host-only网络,网卡3,网卡4不启用,启用以后可能会造成内网不通或外网不同。

 

 

注意:每个虚拟机都要分配不同的Nat网络,如果分配了同一个Nat网络,那么只有一台虚拟机可以访问外网。

 

四、针对host-only网卡,分配静态IP

用ip addr命令查看网卡名称,下图可以看出,网卡2(host-only)名称是enp0s8,虚拟中网卡顺序和上面网络配置中的顺序一样,网卡名称以你自己的ubuntu系统为准。

ip addr

如果不确定哪个网卡是host-only,可以只保留网卡一,然后查看ip addr。

 

修改网络配置文件,网络配置文件存放在/etc/netplan 目录下,用 ll  命令查看配置文件。

ll /etc/netplan

从图上可以看出网络配置文件名为:00-installer-config.yaml 

 

使用 sudo vi /etc/netplan/00-installer-config.yaml 修改网络配置问价。

sudo vi /etc/netplan/00-installer-config.yaml

编辑 01-network-manager-all.yaml 文件的内容为:

network:
  ethernets:
  enp0s10:
    dhcp4: true
  enp0s3:
    dhcp4: true
  enp0s8: #网卡名,以ubuntu操作系统的网卡名称为准
    dhcp4: no #ipv4关闭dhcp,用static模式
    dhcp6: no #ip6关闭dhcp
    addresses:
      - 192.168.56.200/24 #本机IP地址
    gateway4: 192.100.0.1 #vmware网关的的IP地址,这里使用route -n查到的网关
    nameservers: #DNS服务器
  addresses: [114.114.114.114, 8.8.8.8, 1.1.1.1]
  enp0s9:
    dhcp4: true
  version: 2

#此配置文件内容为层级关系,分为5级,上级与下级的文本需要右缩进,右缩进至少一个空格,不允许使用tab,缩进的空格数不重要,只要相同层级的元素左对齐即可;大小写敏感;冒号与后面的值之间需要间隔一个空格,不然编译不过,会报错。

然后执行 sudo netplan apply 命令编译网络配置。

 sudo netplan apply

此命令用来编译01-network-manager-all.yaml 文件,编译成功则无任何提示,编译失败会出现错误提示。

 

注意:

  enp0s8中的address为本次要配置的ip地址,这个需要同host-only网络(192.168.56.1)在同一个网段下,我在虚拟机1中配置的地址为200,虚拟机2中配置的地址为201,这样两台虚拟机既可以互相ping通,也可以ping通你的主机和www.baidu.com。

  geteway4是虚拟机网关的ip地址,如果你不知道虚拟机网关的ip地址,可以使用 route -n查询,使用 sudo apt install route 来安装route命令。我这里网关使用的NAT网络的地址,也可以不配置网关,#号注释掉。

route -n
sudo apt install route

 

五、重启虚拟机

执行 reboot  命令重启系统才会生效。

重启后用 ping 命令验证网络是否通达:

ping www.baidu.com
ping 192.168.56.201
ping 192.168.56.200

 

以上内容仅代表个人见解,如果有更好的配置方法,欢迎大神指出。>_< 

参考文章:https://www.cnblogs.com/yyee/p/12899953.html

posted @ 2022-04-06 14:38  叶叶叶失秋  阅读(597)  评论(0)    收藏  举报