1. 清除物理網卡ip地址(192.168.1.22),使其工作在鏈路層接收所有數據包
ip addr del 192.168.1.22/24 dev eth0 ip addr add 0.0.0.0 dev eth0
2. 創建網橋br0并把接口eth0加入br0
ip link add br0 type bridge # ip link delete br0 ip link set br0 up # ip link set br0 down ip link set eth0 master br0 # ip link set eth0 nomaster
3. 啟動容器
docker run -it --name testns centos
容器啟動后已經配置了一塊網卡eth0
結下了我們用ip命令向容器添加另一塊網卡
4. 為ip netns準備環境(參考 man ip-netns):
nspid=$(docker inspect -f '{{.State.Pid}}' testns) ln -s /proc/${nspid}/ns/net /var/run/netns/${nspid}
5. 創建一對網口tt0和tt1
ip link add tt0 type veth peer name tt1
或者直接ip link add type veth peer創建veth0,veth1
6. 添加一網口至br0
ip link set dev tt1 master br0 ip link set dev tt1 up
7. 添加另外一網口至容器 testns , 并命名為eth1配置ip
ip link set dev tt0 name eth1 netns ${nspid} ip netns exec ${nspid} ip link set dev eth1 up ip netns exec ${nspid} ip addr add 10.65.120.48/16 dev eth1 ip netns exec ${nspid} ip addr add 10.65.120.49/16 label eth1:1 dev eth1
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選