1.添加主機路由html
route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw 192.168.1.1
2.添加網絡路由python
route add -net 192.168.1.11 netmask 255.255.255.0 eth0 route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1 route add -net 192.168.1.0/24 eth0 route add -net 192.168.1.0/24 gw 192.168.1.1
3.添加默認網關linux
route add default gw 192.168.1.1
4.刪除路由vim
route del -host 192.168.1.11 dev eth0
5.刪除默認路由安全
route del default gw 192.168.1.1
1.在/etc/rc.local裏添加路由信息服務器
route add -net 192.168.1.0/24 dev eth0 # 或者 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
2.在/etc/sysconfig/network裏追加網絡
GATEWAY=[網關IP或者網關網卡名稱]
3./etc/sysconfig/static-routesapp
any net 192.168.1.0/24 gw 192.168.1.1 # 或者 any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
4.開啓IP轉發curl
1.臨時開啓ui
echo "1" > /proc/sys/net/ipv4/ip_forward
2.永久開啓
vim /etc/sysctl.conf 修改net.ipv4.ip_forward=1
本實驗的背景是筆者在實踐中遇到過的一個問題,本實驗儘可能還原當時的網絡環境。僅當作一份筆記,同時分享給遇到此問題的同窗。
奈何我如今沒有硬件呀(T_T)...只能拿VMware Workstation和eNSP來模擬實驗環境了。
以下圖拓撲所示,若是去掉client節點,內網和外網就是相互隔離的網絡。
可是實際狀況是,client節點既須要訪問外網資源,又須要訪問內網資源,而client只能配置一條默認路由。若是將默認路由配置在外網網卡,client能夠訪問172.16.2.0/24網絡的資源和外網的資源,可是其他內網資源將沒法訪問;若是將默認路由配置在內網網卡,client雖然能夠徹底訪問內網資源,可是卻不能訪問外網資源。怎麼解決呢?
其中:
VMnet二、VMnet三、VMnet4均爲僅主機模式,那麼常規狀況下,只有其網絡內的各計算機之間才能夠通訊,要怎樣才能實現三個網絡間的通訊呢?
答案是使用華爲eNSP模擬器中的Cloud。使用Cloud設備能夠將eNSP中的路由器和VMware虛擬機的網卡鏈接起來。
配置eNSP的路由器
<huawei>system-view [huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip address 172.16.2.254 255.255.255.0 [Huawei-GigabitEthernet0/0/0]quit [huawei]int g0/0/1 [Huawei-GigabitEthernet0/0/1]ip address 172.16.3.254 255.255.255.0 [Huawei-GigabitEthernet0/0/1]quit [huawei]int g0/0/2 [Huawei-GigabitEthernet0/0/2]ip address 172.16.4.254 255.255.255.0 [Huawei-GigabitEthernet0/0/2]quit [huawei]
修改虛機的IP地址在server上搭建HTTP服務
以server2爲例:
使用Python建立一個簡單的HTTP服務
cd ~ echo "server2" > index.html python -m SimpleHTTPServer 8080
對照試驗,在client上訪問外網
ping www.baidu.com -c 4
在client上訪問server2
ping 172.16.2.11 -c 4
在client上訪問server3
ping 172.16.3.11 -c 4
在client上訪問server4
ping 172.16.4.11 -c 4
在對照試驗中能夠看到,在client將默認網關配置在外網網卡的狀況下,雙網卡的client能夠正常訪問外網和內網的172.16.2.0/24部分,而172.16.3.0/24和172.16.4.0/24是不能訪問到的。
爲何client能訪問172.16.2.0/24網絡,而不能訪問172.16.0.0/16的其他網絡呢?
由於client位於172.16.2.0/24網絡內,在網絡內進行通訊,數據包不用發送至其餘網絡,固然默認網關也就不起做用了。
而當client與172.16.0.0/16的其他網絡通訊時,client的路由表沒有記載發往目的地址的路徑,因此client只能傻傻的把數據包發送給默認網關,今後數據包和真正的目的地址就「南轅北轍」了。固然ping的結果就是網絡不可達。
在client上查看路由表在client上添加路由
route add -net 172.16.0.0/16 gw 172.16.2.254
永久配置,則在/etc/rc.local裏添加路由信息
route add -net 172.16.0.0/16 gw 172.16.2.254
查看路由表
檢測連通性
ping www.baidu.com -c 4
ping 172.16.2.11 -c 4
ping 172.16.3.11 -c 4
ping 172.16.4.11 -c 4
訪問內外網資源
curl http://www.baidu.com/
curl http://172.16.2.11:8080/index.html curl http://172.16.3.11:8080/index.html curl http://172.16.4.11:8080/index.html
解決的辦法很簡單,就是1條命令而已。可是蘊藏在這條命令背後的原理、概念、理論,則須要咱們進行深究!
連接:https://www.cnblogs.com/conne...