所屬技術領域:
雲原生
| 名詞定義 |
netns是在linux中提供網絡虛拟化的一個項目,使用netns網絡空間虛拟化可以在本地虛拟化出多個網絡環境,目前netns在lxc容器中被用來為容器提供網絡。
使用netns建立的網絡空間獨立于目前系統的網絡空間,其中的網絡裝置以及iptables規則等都是獨立的,就好像進入了另外一個網絡一樣。
|相關名詞|
Ip netns相關指令
1.增加虛拟網絡命名空間
ipnetns add net0
2.顯示所有的虛拟網絡命名空間
EULER:~ # ipnetns list
net0
也可通過檢視/var/run/netns目錄下的檔案來list
EULER:~ # ls /var/run/netns/
3.進入虛拟機網絡環境
ipnetns exec net0
command
如
EULER:~ # ipnetns exec net0 bash #打開虛拟網絡環境net0的bash視窗
EULER:~ # ipaddr #顯示所有虛拟網絡環境的裝置
EULER:~ # exit #退出該網絡虛拟環境
exit
4.增加一對veth虛拟網卡
EULER:~ # ip link add type veth
5.将veth0添加到net0虛拟網絡環境
ip link set veth0 netns net0
6.将虛拟網卡veth1改名并添加到net1虛拟網絡環境中
ip link set dev veth1 name net1-bridge netns net1
7.設定虛拟網絡環境net0的veth0裝置處于激活狀态
ipnetns exec net0 ip link set veth0 up
8.為虛拟網絡環境net0的veth0裝置增加IP位址
ipnetns exec net0 ip address add 10.0.1.1/24 dev veth0
用法
ip [ OPTIONS ]netns { COMMAND | help }
ipnetns list - show all of the named network namespaces 列出所有名稱空間
ipnetns add NETNSNAME - create a new named network namespace 建立一個新的名稱空間
ipnetns delete NETNSNAME - delete the name of a network namespace 删除一個名稱空間
ipnetns exec NETNSNAME cmd ... - Run cmd in the named network namespace 在網絡名稱空間中執行系統指令
ip [-all] netns exec [ NAME ]cmd ... - Run cmd in the named network namespace.
If -all option was specified then cmd will be executed synchronously on the each named network namespace.
資料來源:
1、 阿裡雲大學
2、 百度百科
3、 CSDN