此篇接Linux環境下路由表配置一網絡
配置路由表具體方法,假設咱們有以下圖的網絡環境須要配置,ide
第一步 構建設備,將線路按照圖中作出對應,並規劃好ip,本題中自定製R1-R2爲VMnet9,R2-R3爲VMnet10blog
第二步,規劃好後,能夠開始配置ip了接口
配置A:進入 /etc/sysconfig/network-scripts/ifcfg-eth0,編輯相關信息,相關信息填寫DEVICE、IPADDR、PREFIX、GATEWAY等,寫好後保存卸載裝載驅動激活,若是route -n有其它多餘信息,進入/etc/udev/rules.d/70-persistent-net.rules刪除多餘信息,只留本網卡,ip
配置R1:這裏由於R1一邊是橋接,另外一邊是自定製,所以須要注意網口要和模式對應,同上配置/etc/sysconfig/network-scripts/ifcfg-eth0,保證A和R1能夠ping通,R1做爲路由設備,所以指令輸入echo 1 > /proc/sys/net/ipv4/ip_forward 使其具有路由功能,此時A即可以ping通R1的9.0.0.1地址路由
配置R2:區分好網卡,在etc/sysconfig/network-scripts/ifcfg-eth0填寫相關信息,相關信息DEVICE、IPADDR、PREFIX等,而後激活路由功能,指令route add -net 160.10.0.6/16 gw 9.0.0.1 dev ens33(本次實驗ens33網卡與vmnet9段),以後可ping通A的ip地址160.10.0.6get
配置R3和B,並使R二、R三、B能夠互相ping通it
R2在vmnet10配置的路由表添加class
route add -net 170.10.56.0/24 gw 10.0.0.3 dev ens37配置
這裏要注意,由於vmnet9和vmnet10不在一個網段,所以
R1屬於vmnet9網段,不屬於vmnet10網段,所以添加路由表時不只要填寫B的路由表,還要填寫到vmnet10的路由表
R2是vmnet9和vmnet10的鏈接點,它在兩個網段都有接口,所以它路由記錄只填寫A和B的就能夠
R3屬於vmnet10網段,不屬於vmnet9網段,所以添加路由表時不只要填寫B的路由表,還要填寫到vmnet9的路由表
R1的路由表
R2的路由表
R3的路由表
A ping B
B ping A
第二種配法
R1和R3做爲邊界路由器,它們只要將數據包發送給R2便可,讓R2完成數據包轉發功能,所以R1和R3能夠用命令route add -net 0.0.0.0/0 gw x.x.x.x dev eth/ens…,注意,若是R1或R3上再鏈接個其它設備這種作法將不被容許。
Linux中若是重啓後想保留路由表,仍是須要更改文件,地址是/etc/sysconfig/network-scripts/route-網卡號,格式爲
目標ip/prefix via 網關,例如10.0.0.0/8 via 9.0.0.2
R1路由表改變爲
R2路由表依然爲
R3路由表改變爲
結果圖
總結:
1、對網絡段的主機、路由根據正確的網卡號分配好ip、netmask,位置在/etc/sysconfig/network-scripts/ifcfg-xxx
2、在實驗中對於做爲路由設備的主機輸入指令echo 1 > /proc/sys/net/ipv4/ip_forward激活路由功能,並檢查同一網段內的設備是否能夠互相ping通
3、添加路由表,同一網段內的設備目標地址直接填寫目標網絡id,不是同一網段的,須要在路由表裏先填寫到達該網段的網絡id地址,再填寫目標網絡id,假設本題中R3後還接有vmnet11的網段和R4路由器纔到達B,此時R1填寫路由表是到達vmnet十、vmnet11和B的目標網絡id地址,R2和R3也需填寫vmnet11的網絡id地址,反之亦然
4、做爲邊界路由器且它自身只鏈接了一臺主機而言,其路由表能夠配置成目標ip爲0.0.0.0,網關仍是下一個路由鄰近本身的網口,這樣將數據包發送任務交給中間段的路由器,讓中間的路由器根據路由表去作轉發數據包也能夠