网络名称空间 实例研究 veth处于不同网络的路由问题
生活随笔
收集整理的這篇文章主要介紹了
网络名称空间 实例研究 veth处于不同网络的路由问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
?
?
相關命令詳細介紹參見
http://www.cnblogs.com/Dream-Chaser/p/7077105.html
?
??
0、問題: 兩個網絡名稱空間中的兩個接口veth0和veth1,如何配置netns0和netns1中的路由使得兩者可以聯通?即在netns0中 ping 10.0.1.2 正常。1、答案: 在netns0中 $ ip netns exec netns0 ip route add 10.0.1.0/24 dev veth0 #command (1)在netns1中 $ ip netns exec netns1 ip route add 10.0.2.0/24 dev veth1 #command (2)2、原理介紹: 網絡名稱空間就是提供一個獨立的網絡環境,不同的網絡名稱空間就相當于不同的主機間的關系。通常一個主機中,可以包含多個網絡名稱空間;而一個網絡名稱空間中,可以包含多個網絡接口。
如上圖所示是一臺主機的兩個網絡名稱空間。其中veth0和veth1是veth對,相當于通過網線將兩個不同主機的網絡環境進行連接。
我們知道,使用ifconfig 命令配置 某個網絡接口的ip地址和子網掩碼后,linux系統會生成一個默認的路由
,該路由會將該網絡接口的ip和netmask組成的網絡地址作為路由的目的網絡。目的地址滿足該默認路由規則的ip數據包,
會從該接口發送出去,并且該數據包的源ip地址為該網絡接口。
然而veth0與veth1并不在同一個網段內,所以當在netns0環境中執行ping 10.0.1.2命令時,
發送出去的數據包不滿足linux為veth0默認生成的路由規則,該數據包不會從veth0發送出去。
于是,這里自定義了路由規則,command(1)。10.0.1.2滿足該路由規則,所以可以通過veth0發送。
同樣需要對netns1中的veth1接口,定義路由規則,這樣netns1中才能夠將響應數據包發送回netns0.
?
轉載于:https://www.cnblogs.com/Dream-Chaser/p/7077759.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的网络名称空间 实例研究 veth处于不同网络的路由问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net实现下载
- 下一篇: Jmeter中中文乱码