linux主機充當路由器

2018-03-08 15:13:04

一、靜態路由工作原理

  這裏畫圖就拿路由器的圖來表示。由於數據在傳輸過程中,只有相同網段纔會在網絡中發送廣播,只有該網段中有廣播尋找的主機,纔可以建立連接,在二層設備中,只認識MAC地址,不認識 ip地址,只有在與其他網段中的某一個IP地址進行通訊時,纔會經過路由器,由路由器轉發,但是路由器轉發也需要一條路來尋找要通訊的地址,所以就用到了路由,這裏主要介紹靜態路由。如下圖所示
linux主機充當路由器
  在圖中,如果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機之間的跨路由訪問。
下面實驗環境就拿以下拓撲來設置虛擬機,
linux主機充當路由器

  1. 首先要在虛擬中設置多個VMnet,這裏有多個VMnet,作用就是把多個主機連接到不同交換機上,使其不再一個內網中。
    設置虛擬網絡編輯器
    linux主機充當路由器
    這裏需要點擊更改設置纔可以添加VMnet
    linux主機充當路由器
    添加需要的VMnet就可以了。
    linux主機充當路由器
    2.下面就開始克隆主機,首先要準備一個設置好基本配置的主機,然後在克隆6臺主機。
    linux主機充當路由器
    3.網卡的設置
    克隆的linux虛擬機網卡的MAC地址需要重新生成,否則會跟其他的linux虛擬機網卡MAC地址衝突。
    linux主機充當路由器
    4.根據拓撲圖來把每一臺主機的網卡連接到不同的VMnet中,這裏就拿PC1來舉例,其他主機方法相同。linux主機充當路由器

    三、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    #添加路由

linux主機充當路由器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章