如何连接两个network namespace的网络

step1:

    创建两个network namespace

    sudo ip netns add ns1

    sudo ip netns add ns2

    可以用sudo ip netns list 查看系统中已经存在的network namespace。

    当然删除存在的network namespace 可以使用 sudo ip netns delete ns_name

step2 :

    在host上创建两张虚拟网卡veth1 和veth2

    sudo ip link add veth1 type veth peer name veth2

    可以用sudo ip address 查看所有的网卡信息,可以看到刚刚创建两张虚拟网卡。

step3:

    把两张网卡放到两个namespace中,并自动网卡

    sudo ip link set veth1 netns ns1

    sudo ip link set veth2 netns ns2

    在namespace执行命令使用exec,格式为ip netns exec

    sudo ip netns exec ns1 ip link set dev veth1 up

    sudo ip netns exec ns2 ip link set dev veth2 up

step4:

    为网卡分配IP

    sudo ip netns exec ns1 ip addr add 10.0.0.3/24 dev veth1

    sudo ip netns exec ns2 ip addr add 10.0.0.4/24 dev veth2


验证结果:

    sudo ip netns exec ns1 ping 10.0.0.4





你可能感兴趣的:(Docker)