VirtualBOX虚拟机网络互通同时访问外网

对于爱好网络安全而又不想非法入侵的小伙伴来说,VirtualBOX可是神器级别的工具,这里记录一下我是怎么配置网络使虚拟机之间可以互通同时可以通过物理机访问外网的。

第一台虚拟机是kali linux,启动之前需要在设置中启用2块网卡,第一块网卡设置为“Internal Network”,第二块设置为"Bridged Adapter”

第二台是OWASP提供的漏洞测试虚拟机镜像,基于ubuntu的系统,第一块网卡设置为“Internal Network”即可

启动2台虚拟机后,首先配置第二台的网络vi /etc/network/interfaces

根据实际情况进行配置,这里我把IP配置为192.168.77.77,网关为192.168.77.254:

auto eth0
iface eth0 inet static
address 192.168.77.77
netmask  255.255.255.0
gateway  192.168.77.254

接下来配置DNS:

# cat /etc/resolv.conf
nameserver 114.114.114.114

都配置完成后重启网络/etc/init.d/networking restart

接下来配饰kali,使用图形界面也可以,但我懒得截图就使用命令行把,也是先配置网卡:

auto eth0
iface eth0 inet static
address 192.168.77.254
netmask  255.255.255.0
gateway  192.168.77.254
auto eth1
iface eth1 inet static
address 192.168.0.5
netmask  255.255.255.0
gateway  192.168.0.1

这里需要注意的就是第一块网卡是eth0,第二块网卡是eth1,然后同样配置DNS后重启网络即可。

执行到这步,虚拟机之间的网络就可以互通了,而且kali也可以访问外网,用来开始安全测试也够用了。不过此时,第二台虚拟机是访问不了外网的,需要进行进一步的配置。

首先就是开启能访问外网的机器的网络转发功能,编辑kali linux 的/etc/sysctl.conf文件: net.ipv4.ip_forward=1

然后使其生效:sysctl -p

接下来设置iptables:iptables -t nat -A POSTROUTING -s 192.168.77.0/24 -o eth1 -j MASQUERADE

同理,需要注意IP地址以及是哪块网卡用来访问外网。

经过上面的步骤,第二台虚拟机也可以通过第一台虚拟机访问外网了。

如果保存iptables规则,可以执行:iptables-save >/etc/iptables-rules

enjoy~