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,veth2
6. 添加一网口至br0
ip link set dev tt1 master br0 ip link set dev tt1 up
7. 添加另外一网口至容器 testns , 并命名为eth2配置ip
ip link set dev tt0 name eth2 netns ${nspid} ip netns exec ${nspid} ip link set dev eth2 up ip netns exec ${nspid} ip addr add 10.65.120.48/16 dev eth2 ip netns exec ${nspid} ip addr add 10.65.120.49/16 label eth2:1 dev eth2
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。