ovs 브리지를 통해 4개의 네임스페이스 연결

ovs 브리지를 통해 4개의 네임스페이스 연결

하나의 호스트에서 4개의 네임스페이스를 하나의 ovs 브리지에 연결하는 방법을 묻고 싶습니다. 4개의 네임스페이스에 대해 2쌍의 veth를 시도하고 브리지에 내부 포트를 추가했지만 veth의 반대편에서만 네임스페이스를 ping할 수 있습니다.

[root@centos7 ~]# ovs-vsctl show
689941bc-760e-451e-a91c-ddc33caf2396
Bridge brtest
    Port "test1"
        tag: 9
        Interface "test1"
            type: internal
    Port "test4"
        tag: 9
        Interface "test4"
            type: internal
    Port "test2"
        tag: 9
        Interface "test2"
            type: internal
    Port brtest
        Interface brtest
            type: internal
    Port "test3"
        tag: 9
        Interface "test3"
            type: internal
ovs_version: "2.7.0"

ip netns exec nstest1 ifconfig test1 promisc
ip netns exec nstest2 ifconfig test2 promisc
ip netns exec nstest3 ifconfig test3 promisc
ip netns exec nstest4 ifconfig test4 promisc

네임스페이스의 veth에 대한 약속을 열고 각각 172.24.0.11에서 172.24.0.14까지 IP를 할당했습니다. 하지만 nstest1만 nstest2에 연결할 수 있고, nstest3은 nstest4에 연결할 수 있습니다. nstest1과 nstest2는 한 쌍의 veth로 연결되고, nstest3과 nstest4는 다른 한 쌍의 veth로 연결되기 때문입니다.

이 4개의 네임스페이스를 완전히 통과하도록 할 수 있나요?

답변1

답을 얻었습니다. 이 4개의 네임스페이스에 대한 veth 쌍을 만들고 한쪽 끝을 네임스페이스에 할당하고 다른 쪽 끝을 가상 브리지에 대한 포트로 할당하면 됩니다. 그런 다음 이 4개의 네임스페이스는 그 중 하나에서 전달될 수 있습니다.

ip link set test1a netns nstest1
ip link set test2a netns nstest2
ip link set test3a netns nstest3
ip link set test4a netns nstest4
ovs-vsctl br-list
ovs-vsctl list-br
ovs-vsctl show
ovs-vsctl add-br br0
ovs-vsctl add-port br0 test1b
ovs-vsctl add-port br0 test2b
ovs-vsctl add-port br0 test3b
ovs-vsctl add-port br0 test4b
ip netns exec nstest1 ifconfig test1a 172.24.0.11/24 promisc up
ip netns exec nstest2 ifconfig test2a 172.24.0.12/24 promisc up
ip netns exec nstest3 ifconfig test3a 172.24.0.13/24 promisc up
ip netns exec nstest4 ifconfig test4a 172.24.0.14/24 promisc up

ip link set dev test2b up
ip link set dev test1b up
ip link set dev test3b up
ip link set dev test4b up

관련 정보