基于virtualbox 的虚拟路由器搭建

功能实现:在win7 宿主机的virtualbox中构建三个虚拟机,其中VM1当做路由器用,VM2 和 VM3 是普通客户机。

设草稿图如下:





设计步骤:

1、在虚拟机中先创建linux虚拟系统VM1。

此处构建的是centos6.4,在VM1中需要加载三块网卡(eth0,eth1,eth2),其中eth0采用bridge模式,eth1和eth2都采用host-only模式。


2、设置VM1的网卡。

eth0的设置推荐使用自动获取IP方式(图形界面设置即可)。假如一定要采用手动设置IP的话,需要在/etc/sysconfig/network-scripts/ifcfg-eth0中设置:

DEVICE=eth0
HWADDR=xxxxx
BOOTPROTO=static
ONBOOT=yes

IPADDR=
NETWORK=
BROADCAST=
NETMASK=
GATEWAY=

DNS1=与宿主机相同
DNS2=
eth1和eth2加载的网卡是在virtualbox的管理->全局设置->网络中添加的host-only网卡( virtualbox host-only ethernet adapter 和virtualbox host-only ethernet adapter  #2),此处需要手动设置他们的IP参数。eth1的参数设置如下:

DEVICE=eth1
HWADDR=xxxxx
BOOTPROTO=static
ONBOOT=yes

IPADDR=192.168.20.254
NETWORK=192.168.20.0
BROADCAST=192.168.20.255
NETMASK=255.255.255.0
#GATEWAY=  网关不用设置

DNS1=与宿主机相同
eth2的设置与eth1的类似。

3、在virtualbox中架构客户机VM2和VM3。

此处构建的是centos6.4,在VM2和VM3都只需加载块网卡(eth0),都采用host-only模式。


4、设置VM2和VM3的网卡。

VM2和VM3中加载的网卡与VM1中加载的eth1和eth2分别是相同的网卡。即都是在virtualbox的管理->全局设置->网络中添加的host-only网卡( virtualbox host-only ethernet adapter 和virtualbox host-only ethernet adapter  #2),表示VM1的eth1和VM2中的eth0相接,VM1的eth2和VM3中的eth0相接。此处需要手动设置他们的IP参数。VM2中eth0的参数设置在/etc/sysconfig/network-scripts/ifcfg-eth0中如下:(强烈推荐在图像界面设置)

DEVICE=eth0
HWADDR=xxxxx
BOOTPROTO=static
ONBOOT=yes

IPADDR=192.168.20.20
NETWORK=192.168.20.0
BROADCAST=192.168.20.255
NETMASK=255.255.255.0
GATEWAY=192.168.20.254  VM1中eth1的IPADDR

DNS1=与宿主机相同
VM3 的设置与VM2 的类似。

5、启发VM1的IP转发功能。   VM1中!!!

在/etc/sysctl.conf中设置net.ipv4.ip_forward = 1,  或者

在/etc/rc.d/rc.local中加入指令:

echo "1"> /proc/sys/net/ipv4/ip_forward

6、配置VM1的连接外网的nat。

此处的eth0就是VM1中的bridge模式的eth0,这个eth0必须要能连接外网。

在/etc/rc.d/rc.local中加入指令:(数据包伪装)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

注意:上述的第5、6步是为了实现简单功能而执行的零散指令,完整的解释请参看《鸟哥的Linux私房菜--服务器架设篇(第二版)》的第251页与257页关于防火墙的设置。

7、重启VM123的网卡。

/etc/init.d/network restart


到此,VM1、VM2、VM3可以相互ping,并且都可以访问外网。


假如上述步骤后VM2、VM3不能ping外网,请关闭防火墙。

chkconfig iptables off


在以上的设置需要注意的几项:

1、手动设置host-only模式的网卡时,由于加载时默认的获取IP方式是auto模式,所以如果在设置前先到图像界面的system->network connection中把auto ethn 删除。





  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VirtualBox是一款开源的虚拟化软件,它允许用户在一台物理计算机上创建和运行多个虚拟机。虚拟网卡是VirtualBox的一个重要组件,它模拟了一张物理网卡,使得虚拟机可以通过虚拟网卡与宿主机和其他虚拟机进行网络通信。 VirtualBox虚拟网卡有以下几种类型: 1. NAT(Network Address Translation)模式:在这种模式下,虚拟机通过宿主机的网络连接与外部网络通信。宿主机充当了一个网络地址转换器,将虚拟机的网络请求转发到外部网络,并将外部网络的响应返回给虚拟机。 2. Bridged(桥接)模式:在这种模式下,虚拟机的虚拟网卡与宿主机的物理网卡连接在同一个网络虚拟机可以直接与外部网络进行通信。虚拟机会获得一个与宿主机在同一网络的IP地址,就像是一个独立的计算机一样。 3. Host-Only(仅主机)模式:在这种模式下,虚拟机之间以及虚拟机与宿主机之间可以进行通信,但是无法与外部网络通信。VirtualBox会为虚拟机创建一个虚拟的局域网,虚拟机可以通过虚拟网卡与宿主机和其他虚拟机进行通信。 4. Internal(内部)模式:在这种模式下,虚拟机之间可以进行通信,但是无法与宿主机和外部网络通信。VirtualBox会为虚拟机创建一个虚拟的内部网络,虚拟机可以通过虚拟网卡与其他虚拟机进行通信。 5. Generic(通用)模式:这种模式下,VirtualBox允许用户自定义虚拟网卡的行为,用户可以通过自定义的驱动程序来实现特定的网络功能。 总结一下,VirtualBox虚拟网卡是一种模拟的网络设备,它使得虚拟机可以与宿主机和其他虚拟机进行网络通信。不同的虚拟网卡模式提供了不同的网络连接方式,用户可以根据需求选择适合的模式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值