VirtualBox NAT Network配置
VirtualBox NAT Network配置(OSX上的)
VirtualBox的5种连接方式
- NAT :虚拟机之间不能互通
- NAT网络 :本文对象
- 桥接 :一般情况下虚拟机无法设置静态IP,并且浪费外部局域网IP
- 内部 :虚拟机不能连外网
- 仅主机(host-only) :虚拟机不能连外网,并且不互通
NAT网络面向需求
- 虚拟机可以连外网
- 虚拟机与主机互通
- 虚拟机与虚拟机互通
- 虚拟机需要固定IP (防止意外)
- 主机所在局域网的其他机器访问虚拟机
基本配置方法
-
VB设置:添加NAT Network配置
依次点击《VirtualBox》 -> 《偏好设置》 -> 《网络》 -> 《NAT网络》 -> 《+号》
先可以采用默认配置,后面在依据需求配置《端口转发》的功能
-
VB设置:选择虚拟机网络连接方式
选中对应的虚拟机镜像,依次点击《设置》 -> 《网络》 -> 《连接方式》 -> 选择《NAT 网络》,《界面名称》选择第1步中设置的对象
-
虚拟机设置:
-
windows设置:winxp例子(简单)
第1步中采用默认配置,是开启了DHCP功能的,所以可以先查看网络连接的参数,如下:
依次《网络连接》 -> 《本地连接》 -> 《常规-属性》 -> 选中《Internet协议》 -> 《属性》
对应上图中的参数依次设置即可
-
linux设置:ubuntu和kali
开启终端,输入
nm-tool
查看网络设置参数,如下:设置静态IP,编辑文件:
$ sudo vim /etc/network/interfaces
添加如下代码,依据自身需求设置相关参数,本人如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
-
auto lo
iface lo inet loopback
auto eth0 # 添加网卡
iface eth0 inet static # 选择静态IP分配方式
address 10.0.2.4 # 指定需要的IP
gateway 10.0.2.1 # 默认网关
netmask 255.255.255.0 # 掩码
```
重启网络服务或者插拔网卡(如下方法任选一条就可以):
`sudo /etc/init.d/networking restart`
`sudo service networking restart`
```
sudo ifdown eth0
sudo ifup eth0
```
一般这样设置完就可以通过ip地址访问外网了,比如直接ping百度的ip地址应该是通了。但是不能通过域名的方式来上网,需要配置dns:
* ubuntu网上有好几种方式,这里只给出一种,永久生效,编辑如下文件:
`sudo vim /etc/resolvconf/resolv.conf.d/base`
添加如下代码(具体的dns请参考自己的,根据网络修改):
`nameserver 192.168.0.1`
* kali没有这个文件,就直接向`/etc/rc.local`文件中写入如下代码,保证每次开机有这个配置就行(具体需要根据所在网络进行修改):
`echo "nameserver 192.168.0.1" >> /etc/resolv.conf`
3. 配置到目前,可以满足除主机访问虚拟机之外的4条需求。
4. 如果出现不能访问外网的情况,有可能是路由表出了问题,需要相应的设置一下.
一般(我的)路由表是这样的:
![VBoxNATNet](http://images2015.cnblogs.com/blog/1067259/201705/1067259-20170520164539963-921645384.png)
如果default设置不对,比如网关,掩码不对会导致无法连接外网的,此时需要删除错误的路由选项,添加正确的路由选项,命令一般如下:
```
# 删除默认路由选项
$ sudo route del default
# 添加正确的路由选项,netmask 0.0.0.0
sudo route add default gw 10.0.2.1
```
定制配置
主要通过设置端口转发完成
实例:
- winxp开启ftp服务
- ubuntu开启ssh
- kali开启ssh
- kali开启web服务
配置如下:
主机ip设置为空,这样即使主机ip变了也可以通过端口访问虚拟机
其他注意事项:
- 虚拟机注意配置防火墙,放行通过的数据包
- 主机访问虚拟机时尽量使用ip地址,不要使用127.0.0.1的方式去访问,这样会导致虚拟机那边以为是网关在访问,部分服务的连接无法建立
通过如上配置,基本上就可以很愉快的使用VBox和各个虚拟机。VBox支持的无界面启动方式,配合iTerm,使用ssh面密登录,感觉用起来爽的不要不要的。
VBox无界面启动命令:
VBoxManage startvm 虚拟机名称 --type headless
关机命令:
VBoxManage controlvm 虚拟机名称 poweroff
效果图如下:使用手机热点上网,修改了dns的配置