注:本文操作均在root用戶下進(jìn)行,普通用戶未作測(cè)試。
1、創(chuàng)建一個(gè)network namespace
? ? 創(chuàng)建名稱為nstest的network namespace:
? ? ? ? #ip netns add nstest
? ? 列出系統(tǒng)中已存在的network namespace:
? ? ? ? #ip netns list
2、刪除一個(gè)network namespace
????刪除nstest
? ? ? ? #ip netns delete nstest
3、在network namespace中執(zhí)行命令
? ? 命令格式:
? ? ? ? ip netns exec <network namespace name> <command>
? ? 顯示nstest的網(wǎng)卡信息:
? ? ? ? #ip netns exec nstest ip addr
4、在nestwork namespace中啟動(dòng)一個(gè)shell
? ? 命令格式:
? ? ip netns exec?<network namespace name> bash
? ? 退出:exit
5、使用ip命令為network namespace配置網(wǎng)卡
? ? 當(dāng)使用ip命令創(chuàng)建一個(gè)network namespace時(shí),會(huì)默認(rèn)創(chuàng)建一個(gè)回環(huán)設(shè)備,默認(rèn)該設(shè)備不啟動(dòng),啟動(dòng)該設(shè)備:
? ? ? ? #ip netns exec nstest ip link set dev lo up
? ? 在主機(jī)上創(chuàng)建兩張?zhí)摂M網(wǎng)卡:
? ? ? ? #ip link add veth-a type veth peer name veth-b
? ? 將veth-b設(shè)備添加到nstest的network namespace中,設(shè)備veth-a留在主機(jī)中:
? ? ? ? #ip link set veth-b netns nstest
? ? 驗(yàn)證network namespace中的網(wǎng)卡(lo和veth-b):
? ? ? ? #ip netns exec nstest ip link
? ? 為網(wǎng)卡分配ip:
? ? ? ? #ip addr add 10.0.0.1/24 dev veth-a
? ? 啟動(dòng)網(wǎng)卡:
? ? ? ? #ip link set dev veth-a up?
? ? 為nstest的network namespace配置IP:
? ? ? ? #ip netns exec nstest ip addr add 10.0.0.2/24 dev veth-b
? ? 啟動(dòng)nstest的網(wǎng)卡:
? ? ? ? #ip netns exec nstest ip link set dev veth-b up
? ? 使用ip route命令查看veth-a:
? ? ? ? #ip route
? ? 查看veth-b網(wǎng)卡:
? ? ? ? #ip netns exec nstest ip route
? ? 通過(guò)ping 命令檢測(cè)ip配置路由是否成功。
? ? ? ? #ping 10.0.0.2

