曲径通幽论坛

标题: 在 VirtualBox 中搭建子网及路由器 [打印本页]

作者: beyes    时间: 2013-1-5 00:58
标题: 在 VirtualBox 中搭建子网及路由器
下面使用 VirtualBox 搭建两个子网,及使用一台 Linux 做两个子网间的路由器。网络拓扑图如下:
[attach]1161[/attach]


该图由 Cisco Packet Tracer 所绘,图中的交换机只是展示用,在实际中相当于内置于 VirtualBOX 中。主要设备有 3 个:2 台装有 WinXP 的虚拟机,其 IP 分别为 192.168.2.100 和 192.168.3.100,分别对应的网关 IP 为 192.168.2.254 和 192.168.3.254 。网关的两个 IP 均有一台装有 Linux Fedora17 的主机提供。

由于 Fedora17 充当路由器使用,因此它必须装有 2 张网卡,因此设置虚拟机的网络连接是关键,设置如下图所示:
[attach]1155[/attach][attach]1156[/attach]

需要注意的是,默认情况下,“内部网络” 的界面名称只为 intnet ,我们这里根据实验的需要,分别命名为 intnet1 和 intnet2 。实际上,这就对应了两个子网,一个子网就是 intnet1 ,另一个就是 intnet2 ,至于网段 IP 那么由用户自己设定;如上所示,对应于 intnet1 的网段为 192.168.2.0 ,而对应于 intnet2 的网段为 192.168.3.0 。

那么类似于上面的设置,我们将一台 WinXP 的“界面名称”也改为 intnet1 ,则另一台的“界面名称”为 intnet2 。

接着,分别进入两台 WinXP 的系统,设置网络如下:
[attach]1157[/attach][attach]1158[/attach]

接着,启动 Fedora17,两张网卡上配置 IP 如下:
[root@beyes   beyes]# cat /etc/sysconfig/network-scripts/ifcfg-p2p1
DEVICE=p2p1
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:54:3B:D8
IPADDR=192.168.2.254
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no

[root@beyes   beyes]# cat /etc/sysconfig/network-scripts/ifcfg-p7p1
DEVICE=p7p1
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=08:00:27:ce:77:82
IPADDR=192.168.3.254
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
此时工作已经完成大半,希望将 Fedora17 当成路由最重要的一点是开启 IP 转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
该方法非永久有效,只要系统一重新启动 ip_forward 的值就会恢复为 0。如果希望永久生效,那么可以修改 /etc/sysctl.conf 中的 net.ipv4.ip_forward 值为 1 即可。

一般来说,到此应该就可以完成了。但是,通常的 Linux 发行版里会装有 iptables ,而它又会默认阻止转发功能,如果是这样,那我们将其解禁。若是图个方便,那么干脆:
# iptables -P FORWARD ACCEPT
如果觉得这似乎有点粗糙,那么可以单独设置:
# iptables -A FORWARD -s 192.168.2.0/24 -p all -o p7p1 -j ACCEPT
# iptables -A FORWARD -s 192.168.3.0/24 -p all -o p2p1 -j ACCEPT

可以验证一下上面的设置是否已经成功:
[attach]1159[/attach]

[attach]1160[/attach]

两边都可以 ping 通,说明实验环境搭建成功。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2