Linux使用ip netns命令操作network namespace

注:本文操作均在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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容