Verbinden Sie 4 Namespaces über die OVS-Brücke

Verbinden Sie 4 Namespaces über die OVS-Brücke

Ich möchte fragen, wie ich 4 Namespaces mit einer OVS-Brücke verbinden kann, die sich alle auf einem Host befinden. Ich habe 2 Veth-Paare für diese 4 Namespaces ausprobiert und der Brücke einen internen Port hinzugefügt, aber der Namespace kann nur vom anderen Ende von Veth angepingt werden.

[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

Ich habe das Promisc des Veth-Namespaces eingeschaltet und IPs von 172.24.0.11 bis 172.24.0.14 zugewiesen. Aber nur nstest1 kann zu nstest2 und nstest3 zu nstest4 durchkommen, weil nstest1 und nstest2 durch ein Veth-Paar und nstest3 und nstest4 durch ein weiteres Veth-Paar verbunden sind.

Kann ich sie für diese 4 Namespaces vollständig durchbekommen?

Antwort1

Ich habe meine Antwort bekommen, erstelle einfach ein Veth-Paar für diese 4 Namespaces, und weise ein Ende dem Namespace zu und füge das andere als Port zur virtuellen Brücke hinzu. Dann können diese 4 Namespaces von jedem von ihnen aus durchgelassen werden

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

verwandte Informationen