在網絡環境中,路由阻隔廣播域的,廣播域就是ARP尋址的過程,pc機是在各個廣播域中的,ICMP(ping)、TCP都是經過創建ARP協議之後才通信的。尋址過程這裏再也不詳細介紹,ARP篇有說明。 在數據傳輸過程當中,只有相同網段才屬於一個廣播域,才能夠進行ARP尋址創建網絡鏈接,若是不在一個網段內,則須要經過網關(路由),才能夠跟其餘網絡中的pc、路由、等網絡設備進行通訊。在這個創建通信和數據傳輸的過程當中,只知道對方的IP地址,沒有mask地址等信息,而且還有沒相互通信的介質。這個介質創建和尋找對方mask地址的過程,及所須要用到的網絡設備及協議(或是現實其功能、協議的網絡設備)咱們稱之爲路由。路由工做在OSI七層模型中的第三從(網絡層),主要工做:隔離廣播域(ARP)、進行數據包的轉發來創建網絡的互連。linux
四種路由方式:vim
目標網絡ID netmask 接口 網關 192.168.1.3 255.255.255.0 eth3 192.168.1.1 主機路由 192.168.1.0 255.255.255.0 eth0 192.168.1.254 網絡路由 192.168.0.0 255.255.0.0 eth1 192.168.2.254 網絡路由 0.0.0.0 0.0.0.0 eth2 192.168.3.254 默認路由
查看路由信息
route //查看路由信息
route -i //#以IP地址方式顯示centos
[root@centos6 ~]#route //查看路由信息(以域名方式反向解析) Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.117.0 * 255.255.255.0 U 1 0 0 eth1 172.18.0.0 * 255.255.0.0 U 1 0 0 eth0 default 172.18.0.1 0.0.0.0 UG 0 0 0 eth0 [root@centos6 ~]#route -n //#以IP地址方式顯示 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.117.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1 172.18.0.0 0.0.0.0 255.255.0.0 U 1 0 0 eth0 0.0.0.0 172.18.0.1 0.0.0.0 UG 0 0 0 eth0
route add 添加路由
-net 網絡路由 (目標地址:須要制定掩碼)
-host 主機路由 (目標地址:不須要指定掩碼)
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 網絡
目標:192.168.1.3 網關:172.16.0.1 [root@centos6 ~]# route add -host 192.168.1.3 gw 172.16.0.1 [dev eth0] //主機地址:接口地址能夠不指定 目標:192.168.0.0 網關:172.16.0.1 [root@centos6 ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 [dev eth0] //網絡地址:接口地址能夠不指定 [root@centos6 ~]#route add -net 192.168.0.0/24 gw 172.16.0.1 [dev eth0] //網絡地址:接口地址能夠不指定
默認路由,網關:172.16.0.1 編輯器
[root@centos6 ~]#route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 [root@centos6 ~]#route add default gw 172.16.0.1
刪除:route del
#route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] ide
目標:192.168.1.3 網關:172.16.0.1 [root@centos6 ~]#route del -host 192.168.1.3 目標:192.168.0.0 網關:172.16.0.1 [root@centos6 ~]# route del -net 192.168.0.0 netmask 255.255.255.0 [root@centos6 ~]# route del -net 192.168.0.0/24
開啓路由轉發功能3d
[root@centos6 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward #該進程原本是0,須要改爲1,臨時,重啓後再也不生效 [root@centos6 ~]#vim /etc/sysctl.conf #永久開啓路由功能須要更改配置文件(更改完文件須要重啓,建議在執行第一條命令) net.ipv4.ip_forward = 1
路由實驗前準備工做:(由於咱們實驗所用的設備是linux虛擬機因此須要對實驗環境進行一些準備工做)
首先要在虛擬中設置多個VMnet,這裏有多個VMnet,做用就是把多個主機鏈接到不一樣交換機上,使其再也不一個內網中。
一、點擊設置虛擬網絡編輯器rest
顯示已有的VMnet信息,點擊更改設置進行自定義設置。code
點擊添加網絡,添加須要的VMnet,添加完成後去掉下邊DHCP功能。(能夠跟據本身意願更該設置)blog
2.下面就開始克隆主機,首先要準備一個設置好基本配置的主機,而後在克隆6臺主機。
三、根據拓撲圖來把每一臺主機的網卡鏈接到不一樣的VMnet中
四、克隆的linux虛擬機網卡的MAC地址須要從新生成,不然會跟其餘的linux虛擬機網卡MAC地址衝突。
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:B4:EF:DF", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0C:29:B4:EF:F3", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
2.而後配置網卡配置文件,其餘網卡跟主機也以下
[root@centos6 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=172.18.253.211 PREFIX=16 GATEWAY=172.18.0.1 DNS1=172.18.0.1 HWADDR=00:0C:29:B4:EF:DF
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 #添加路由
pc1:6.6.6.6
pc2:8.8.8.8
route1: 6.6.6.1 7.7.7.1
route2: 7.7.7.2 8.8.8.2
4臺機器.按要求改好網卡名,配置好靜態IP,保證沒有網關. [root@centos6(route1) ~]# vim /etc/sysctl.conf //編輯 /etc/sysctl.conf 文件 、開啓路由功能 net.ipv4.ip_forward = 1 //將值0改成1 [root@centos6(route2) ~]# vim /etc/sysctl.conf //編輯 /etc/sysctl.conf 文件 、開啓路由功能 net.ipv4.ip_forward = 1 //將值0改成1 [root@centos6(route1) ~]# sysctl -p //檢查更改 [root@centos6(route2) ~]# sysctl -p //檢查更改 [root@centos6(route1) ~]# route add -net 8.8.8.0/24 gw 7.7.7.2 //設置靜態路由(臨時) [root@centos6(route2) ~]# route add -net 6.6.6.0/24 gw 7.7.7.1 //設置靜態路由(臨時) [root@centos6(route1) ~]# iptables -F //關閉防火牆(臨時) [root@centos6(route2) ~]# iptables -F //關閉防火牆(臨時) [root@centos6(pc1) ~]# route add default gw 6.6.6.1 //設置默認路由(臨時) [root@centos6(pc2) ~]# route add default gw 8.8.8.2 //設置默認路由(臨時)
命令以下: route1 route add -net 3.3.3.0/24 gw 2.2.2.2 route add -net 4.4.4.0/24 gw 2.2.2.2 route2 route add -net 1.1.1.0/24 gw 2.2.2.1 route add -net 4.4.4.0/24 gw 3.3.3.2 route3 route add -net 2.2.2.0/24 gw 3.3.3.1 route add -net 1.1.1.0/24 gw 3.3.3.1 pc1 route add default gw 1.1.1.2 pc2 route add default gw 4.4:.4.1
命令以下: pc1: route add default gw 1.1.1.251 pc2: route add default gw 5.5.5.254 R1: route add -net 3.3.3.0/24 gw 2.2.2.252 route add -net 4.4.4.0/24 gw 2.2.2.252 route add -net 5.5.5.0/24 gw 2.2.2.252 R2: route add -net 1.1.1.0/24 gw 1.1.1.251 route add -net 4.4.4.0/24 gw 3.3.3.253 route add -net 5.5.5.0/24 gw 3.3.3.253 R3: route add -net 1.1.1.0/24 gw 3.3.3.252 route add -net 2.2.2.0/24 gw 3.3.3.252 route add -net 5.5.5.0/24 gw 4.4.4.254 R4: route add -net 1.1.1.0/24 gw 4.4.4.253 route add -net 2.2.2.0/24 gw 4.4.4.253 route add -net 3.3.3.0/24 gw 4.4.4.253