一、静态路由工作原理

  这里画图就拿路由器的图来表示。由于数据在传输过程中,只有相同网段才会在网络中发送广播,只有该网段中有广播寻找的主机,才可以建立连接,在二层设备中,只认识MAC地址,不认识 ip地址,只有在与其他网段中的某一个IP地址进行通讯时,才会经过路由器,由路由器转发,但是路由器转发也需要一条路来寻找要通讯的地址,所以就用到了路由,这里主要介绍静态路由。如下图所示   在图中,如果192.168.1.1地址需要访问192.168.1.2,是可以直接建立通讯的,如果192.168.1.1想要访问192.168.2.2这个地址呢?他不知道该怎么才可以找到192.168.2.0/24这个网段,他是可以找到192.168.1.2这个地址的,所以就需要在R2路由器上配置一条静态路由,当192.168.1.1这个地址需要寻找192.168.2.2这个地址时,就可以直接指向192.168.1.2这个地址,然后在通过刚才给的一条静态路由找到192.168.2.2,但是发送数据都是双向的,如果光有过去的路,没有回来的路也是不行的,所以需要在告诉R3怎么样才可以找到R1来回应R1发送过来的数据,所以,配置路由要双向配置。

二、linux充当路由器的VMware虚拟机的准备工作

这里的linux主机,就那VMware虚拟机来实现。实现四个路由两个PC机之间的跨路由访问。 下面实验环境就拿以下拓扑来设置虚拟机,

  1. 首先要在虚拟中设置多个VMnet,这里有多个VMnet,作用就是把多个主机连接到不同交换机上,使其不再一个内网中。 设置虚拟网络编辑器 这里需要点击更改设置才可以添加VMnet 添加需要的VMnet就可以了。 2.下面就开始克隆主机,首先要准备一个设置好基本配置的主机,然后在克隆6台主机。 3.网卡的设置 克隆的linux虚拟机网卡的MAC地址需要重新生成,否则会跟其他的linux虚拟机网卡MAC地址冲突。 4.根据拓扑图来把每一台主机的网卡连接到不同的VMnet中,这里就拿PC1来举例,其他主机方法相同。

三、linux主机中的准备工作

1.因为虚拟机是克隆的,网卡名需要重新修改,否则系统默认会以为eth0和eth1被占用,直接把后面分配,这里就修改一下,根据一下网卡的MAC地址,更改名字。

[root@centos6 ~]#vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:88", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:92", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:9c", ATTR{type}=="1", KERNEL=="eth*", NAME="magedu"

2.然后配置网卡配置文件,其他网卡跟主机也如下

[root@centos6 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=1.1.1.1
PREFIX=24

3.卸载网卡模块和加载网卡,这一步需要在虚拟机里面做,否则远程会断

[root@centos6 ~]#modprobe -r e1000
[root@centos6 ~]#modprobe  e1000

4.重启网卡服务,也可以用service network restart ,用这个网络服务重启服务,则需要把这个NetworkManager 服务停止

[root@centos6 ~]#service NetworkManager restart
Stopping NetworkManager daemon:                            [FAILED]
Setting network parameters...                              [  OK  ]
Starting NetworkManager daemon:                            [  OK  ]

5.增加路由功能

[root@centos6 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward       #该进程本来是0,需要改成1,临时,重启后不再生效
[root@centos6 ~]#vim /etc/sysctl.conf         #永久开启路由功能需要更改配置文件
net.ipv4.ip_forward = 1

6.清空防火墙策略防火墙

[root@centos6 ~]#iptables -F                   #临时生效 
[root@centos6 ~]#service iptables save       #保存
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

7.配置路由功能,根据下图更改添加路由即可

[root@centos6 ~]#route -n     #查看路由信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.86.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.18.0.1      0.0.0.0         UG    0      0        0 eth0
[root@centos6 ~]#route add -net 1.1.1.0/24 gw 2.2.2.251    #添加路由