VirtualBox网络之内部网络

本文详细介绍了如何在VirtualBox中创建内部网络,包括手动配置虚拟机的网络接口,利用dnsmasq在ubuntu-01上提供DHCP服务,确保内部网络上的虚拟机能够自动获取IP地址并实现互通。

    VirtualBox的内部网络,本质上是提供一个构建网络所需要的基础设置(并没有创建网络),功能上相当于提供了一个干净的交换机,不与宿主机的网络栈交互,不用宿主机中的某个服务进程提供DHCP服务,内部网络上的流量,在宿主机中是不可见的,只有连接其上的虚拟机才可见。如果需要额外的网络功能,可通过配置连接其上的虚拟机来提供。

1.创建内部网络

    右键点击已经创建好的虚拟机ubuntu-01,从弹出的列表中选择设置,再点击网络,选择网卡3,如下图所示。界面名称一栏的默认值是“intnet",输入自定义的值,这里是"intnet-01",点击OK。这样就创建好了一个内部网络,并且虚拟机ubuntu-01上的网卡3连接在这个网络上。

    按照同样方式操作虚拟机ubuntu-02,并将它的一张网卡连接到内部网络"intnet-02"上,在本例中是网卡2。此时内部网络"intnet-02"连接了两张网卡,分别是ubuntu-01的网卡3与ubuntu-02的网卡2。此时两张网卡上都还没有分配IP地址。

2.在ubuntu-01上启动dnsmasq进程提供DHCP服务。

    首先,给ubuntu-01上的网卡3手动分配一个IP地址,本例网卡3的名称是enp0s9,修改/etc/network/interface文件,配置如下:

auto enp0s9

iface enp0s9 inet static

address 192.168.0.1

运行/etc/init.d/networking restart重启网络服务。

运行ip addr show enp0s9确认配置是否生效,如下图所示,证明手动配置已经生效。


    接下来,运行apt-get install dnsmasq(虚拟机至少有一张网卡能访问外网才行)安装软件包。安装完成后dnsmasq服务会立刻启动,先通过/etc/init.d/dnsmasq stop命令停掉服务,再修改dnsmasq的默认配置文件/etc/dnsmasq.conf,只需修改如下几项,前边的是默认值,后边的是修改值。

#interface=                   改成      interface=enp0s9

#listen-address=           改成      listen-address=127.0.0.1

#bind-interfaces            改成      bind-interfaces

实际上以上三项设置只与DNS有关,需要正确设置,否则当访问外网时无法解析域名。

#dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h

                                       改成

dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h

dhcp-range配置项表示要通过dnsmasq提供DHCP服务,并设置了地址池与过期时间。

保存所做的修改,运行/etc/init.d/dnsmasq start重新启动。查看一下端口情况:


可以看到127.0.0.1:53与192.168.0.1:53,这两个提供DNS服务,53是DNS的默认监听端口。

0.0.0.0:67这个提供DHCP服务,67是DHCP的监听端口。

至此,“intnet-01”网络上连接了两张网卡,并且在其中一张网卡上提供了DHCP服务,现在这个已网络已具备DHCP功能。

    最后,设置ubuntu-02上的网卡2,名称是enp0s8,看一下DHCP是否生效。配置如下:

auto enp0s8

iface enp0s8 inet dhcp

通过dhcp自动分配IP地址,重启网络服务使配置生效。运行ip addr show enp0s8确认是否自动分配到IP地址,如下图:


可以看到,自动分配到的IP地址为:192.168.0.87.

ping一下192.168.0.1这个静态地址,如下图,证明网络是通的。


dnsmasq默认会将IP地址的分配信息记录在/var/lib/misc/dnsmasq.leases文件中,去ubuntu-01上确认一下,如下图,证明IP地址确实是ubuntu-01上的dnsmasq分配出去的。


至此带DHCP功能的内部网络已创建完成。

注意:创建好网络以后,ubuntu-01与ubuntu-02两台虚拟机全部关机,然后再重新启动。因为DHCP服务是在虚拟机ubuntu-01中部署的,所以一定要先启动ubuntu-01,等待dnsmasq启动完成后,再启动ubuntu-02或者联接在本网络上的其它虚拟机,v如果反之的话,因为DHCP没有就位,ubuntu-02会联系不上DHCP而报错。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值