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

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

4개의 네임스페이스를 하나의 ovs brdige에 어떻게 연결할 수 있는지 묻고 싶습니다. 모두 하나의 호스트에 있습니다. 이 4개의 네임스페이스에 대해 2쌍의 veth를 시도하고 브리지에 내부 포트를 추가했지만 네임스페이스는 veth의 다른 쪽 끝에서만 핑할 수 있습니다.

[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

저는 네임스페이스에 대한 약속을 설정하고 각각 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

관련 정보