當前位置:
首頁 > 最新 > Linux網路命名空間

Linux網路命名空間

docker底層技術,非常重要的關於namespace,network的namespace看看到底是怎麼回事。

源碼下載

https://github.com/limingios/docker.git 裡面的No.2

通過vagrant 啟動2個node

創建容器,演示network-namespace

shell命令的方式,循環一小時執行一次

啟動了2個容器,test1,test2,進入這2個容器查看各自的ip地址

其實這塊就是一個網路命名空間

發現空間之前是獨立的,容器內的網路命名空間和容器外不同,容器和容器之前的網路命名空間也是相對獨立的。

了解命令

查看networknamespace列表

刪除networknamespace

添加networknamespace

創建linux的networknamespace。

在test1裡面執行ip a 這個操作,lo這個回管口沒有ip地址,而且現在的狀態是DOWN

想讓test1的lo,狀態變成UP,結果發現UNKNOWN,因為埠是需要成雙才可以UP起來的,也就是說需要一對才可以up起來。

做個實驗,按照下面這個圖

讓test1 和test2 鏈接起來,類似網路,現在本身test1 和test2 已經有自己的網口了,但是還需要一根網線,領一個口插進去,成對出現完成test1和test2的互通。

Veth將2個口鏈接起來,創建一對介面,讓如namespace裡面,配置ip地址

創建veth 說白了就是創建一根網線,有2個頭但是在一根線上 veth-test1 和veth-test2

創建 veth-test1 和 veth-test2

將 veth-test1 添加到test1中,veth-test2 添加到test2中

添加ip地址

是否互通

PS:通過linux做的個實驗跟通過docker創建的容器的是類似的,只是用linux的方式模擬了docker容器的方式。其實docker容器的原理就是圍繞這linux底層的網路命名空間的原理實現的。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT人講身邊的故事 的精彩文章:

TAG:IT人講身邊的故事 |