一、靜態路由工作原理
這裏畫圖就拿路由器的圖來表示。由於數據在傳輸過程中,只有相同網段纔會在網絡中發送廣播,只有該網段中有廣播尋找的主機,纔可以建立連接,在二層設備中,只認識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機之間的跨路由訪問。
下面實驗環境就拿以下拓撲來設置虛擬機,
- 首先要在虛擬中設置多個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 #添加路由