VMware实现一台电脑中的网络( 二 )



3) 确认Automatic Bridging 的Enable Automatic Bridge的Automatically choose an available physical network adapter to bridge to Vmnet0 选项被选 。

4,虚拟机定制优化

为了在一台机器运行多个虚拟机器,最好对每个虚拟机器做些优化工作 。根据使用经验,在运行任务不多的虚拟机器上面,对内存的需求远大于cpu的利用 。因此,我们安装R1、R2、R3、R4和R5这五个以Debian GNU/Linux为基础虚拟机器,并建议对每个虚拟机器的kernel进行优化,以减少对实际机器的系统开销 。个人的做法如下:

1) 最简安装了一个虚拟系统Debian 3,安装目标文件夹和该虚拟机都命名为R1;

2) 增加必须的虚拟机硬件,譬如网卡等;

3) 在其他debian linux虚拟机环境中编译好bin的软件工具,通过scp或者ftp等方式拿到R1虚拟机器中来,并做相关的配置 。这里我安装了部分网络工具如iputils,iproute2,tcpdump,sshd,zebra等软件;

4) 为了做ipv6测试,在其他环境中编译一个支持ipv6 的kernel也拿到R1虚拟中;

5) 为zebra做预准备:在/usr/local/zebra/etc下更改.sample文件为conf文件;

6) 确认R1虚拟机器准备好后,关闭R1虚拟机;

7) 然后将这个安装系统的数据文件夹备份一份作为永久备份,再拷贝4份,分别命名为R2,R3,R4,R5;

8) 然后在vmware中打开现存的虚拟机器打开这新加入的4个虚拟机器,并在option中更改各自的Vitrual machine name 分别为R2,R3,R4,R5;

9) 分别更改R2,R3,R4,R5的相应设置和hostname等,并相应更改ip地址/ipv6地址等 。

5,构建如下网络拓扑图:


6,测试:

分别启动R1到R5的虚拟机器,并检查虚拟网络的联通性 。在每个虚拟机器中检查唯一相同网段的其他虚拟机器,以R1为例做相关测试 。如果您对网络的通信过程希望有更加深入观察,请在R1的第二个console界面打开tcpdump,随时查看想要观察的信息 。

1)检测网卡地址 ifconfig 或者ip命令:

R1:~# ip a
1: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:ae:a1:59 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.11/24 brd 192.168.8.255 scope global eth0
inet6 fe80::20c:29ff:feae:a159/64 scope link
2: eth1: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:ae:a1:63 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.11/24 brd 192.168.1.255 scope global eth1
inet6 fe80::20c:29ff:feae:a163/64 scope link
3: eth2: mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:ae:a1:6d brd ff:ff:ff:ff:ff:ff
inet 192.168.2.11/24 brd 192.168.2.255 scope global eth2
inet6 fe80::20c:29ff:feae:a16d/64 scope link
4: lo: mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
5: sit0: mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0

2)网络联通性 ping 或者ping6 或者arping命令:

R1:~# ping 192.168.8.12
PING 192.168.8.12 (192.168.8.12): 56 data bytes
64 bytes from 192.168.8.12: icmp_seq=0 ttl=64 time=14.0 ms
64 bytes from 192.168.8.12: icmp_seq=1 ttl=64 time=1.9 ms

--- 192.168.8.12 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.9/5.0/14.0 ms

zebra路由软件使用

1) 以运行daemon方式启动zebra,zebra就开始监听本地的2602端口,其他各个路由协议的daemon进程分别监听不同的服务端口(ripd监听tcp 2602和udp520端口,ospfd监听tcp 2604端口,bgpd监听tcp179端口和2605端口,ospf6d监听tcp (ipv4和ipv6)的2606端口) 。

2) 从pc机器上telnet到R1的zebra服务,用户名口令默认都是zebra,看看界面是不是和cisco的路由器有些想象呢 。:)



3) 利用R2,R3,R4,R5其他做路由实验 。注意,这里不光可以利用zebra的各种路由软件的debug观察路由协议的工作过程,还可以利用linux的tcpdump来进行更加详细的观察 。

推荐阅读