在centos中創建network namespace,以及實現network namespace之間的通信

一、創那一個network namespace

ip netns add che-ns1

在這裏插入圖片描述

二、查看che-ns1的信息

ip netns exec che-ns1 ip a

在這裏插入圖片描述

三、啓動che-ns1

ip netns exec che-ns1 ifup lo

在這裏插入圖片描述

四、如同前3步,再創建一個network namespace"che-ns2",並啓動che-ns2

在這裏插入圖片描述

五、到這裏,我們已經創建了兩個network-namespace,那麼這兩個network-namespace之間該如何通信呢,

有了不同 network namespace 之後,也就有了網絡的隔離,但是如果它們之間沒有辦法通信,也沒有實際用處。要把兩個網絡連接起來,linux 提供了 veth pair 。可以把 veth pair 當做是雙向的 pipe(管道),從一個方向發送的網絡數據,可以直接被另外一端接收到;或者也可以想象成兩個 namespace 直接通過一個特殊的虛擬網卡連接起來,可以直接通信。

六、創建type爲veth pair的link

ip link add veth-link1 type veth peer name veth-link2

在這裏插入圖片描述

七、設置che-ns1的link爲veth-link1,che-ns2的link爲veth-link2

ip link set veth-link1 netns che-ns1
ip link set veth-link2 netns che-ns2

在這裏插入圖片描述

八、爲veth-link1、veth-link2設置ip地址

ip netns exec che-ns1 ip addr add 192.168.1.21/24 dev veth-link1
ip netns exec che-ns2 ip addr add 192.168.1.22/24 dev veth-link2

在這裏插入圖片描述

九、命名空間che-ns1 ping che-ns2

ip netns exec che-ns1 ping 192.168.1.22

在這裏插入圖片描述
此處有個小小的翻車,沒有啓動veth-link1、veth-link2,啓動後,重新再ping,就可以ping通了,
啓動 veth-link的命令如下

## 啓動命令
ip netns exec che-ns1 ip addr add 192.168.1.21/24 dev veth-link1
ip netns exec che-ns2 ip addr add 192.168.1.22/24 dev veth-link2
## 查看命令
ip netns exec che-ns1 ip link
ip netns exec che-ns1 ip a
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章