Comment connecter un espace de noms de réseau personnalisé à l'espace de noms de réseau racine?

Je souhaite connecter l'espace de noms de réseau racine pour mes noms de réseau utilisateur dans mon domaine Ubuntu. Voici mon diagramme de réseau:


Principalement mon espace de noms de réseau utilisateur - Ceci est celui qui contrôle le réseau vm (Par exemple, attribue une adresse IP, etc.).

J'aimerais voir si je pouvais mettre en place un couple veth, À un autre hôte, qui est le même sous-réseau eth1 (10.0.1.0/24), pourrait y avoir accès.

J'ai essayé d'exécuter la commande ip link set, mais je n'ai pas de chance parce que l'interface (qg-1ee92648-d5), À laquelle je veux me connecter est dans un espace de noms de réseau personnalisable

Voici la configuration de mon réseau hôte:

vagrant@ubuntu:~$ ip link show
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:cd:e0:99 brd ff:ff:ff:ff:ff:ff
3: eth1: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:cd:e0:a3 brd ff:ff:ff:ff:ff:ff

vagrant@ubuntu:~$ ip addr show
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cd:e0:99 brd ff:ff:ff:ff:ff:ff
inet 192.168.106.129/24 brd 192.168.106.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fecd:e099/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:cd:e0:a3 brd ff:ff:ff:ff:ff:ff
inet 10.0.1.10/24 brd 10.0.1.255 scope global eth1
valid_lft forever preferred_lft forever

Ma configuration d'espace de noms personnalisable:

vagrant@ubuntu:~$ sudo ip netns exec  qrouter-7646dc10-7727-41b4-addd-8d08888cd764 ip
link show
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: qr-d174c5e5-c7: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether fa:16:3e:b3:cc:c2 brd ff:ff:ff:ff:ff:ff
3: qg-1ee92648-d5: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether fa:16:3e:f2:1d:2f brd ff:ff:ff:ff:ff:ff


vagrant@ubuntu:~$ sudo ip netns exec qrouter-7646dc10-7727-41b4-addd-8d08888cd764 ip
addr show
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: qr-d174c5e5-c7: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:b3:cc:c2 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global qr-d174c5e5-c7
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:feb3:ccc2/64 scope link
valid_lft forever preferred_lft forever
3: qg-1ee92648-d5: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:f2:1d:2f brd ff:ff:ff:ff:ff:ff
inet 10.0.1.102/24 brd 10.0.1.255 scope global qg-1ee92648-d5
valid_lft forever preferred_lft forever
inet 10.0.1.101/32 brd 10.0.1.101 scope global qg-1ee92648-d5
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fef2:1d2f/64 scope link
valid_lft forever preferred_lft forever

</broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up></broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up></broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up></broadcast,multicast,up,lower_up></broadcast,multicast,up,lower_up></loopback,up,lower_up>
Invité:

Babette

Confirmation de:

Utilisation Linux Bridge et liens espaces de noms après un couple veth.

Utilisation OpenVSwitch et ses ports internes

Voir ce guide étape par étape:
http://www.opencloudblog.com/?p=66
par exemple (Devis du message ci-dessus), Si vous voulez connecter deux espaces de noms avec un pont Linux et deux paires veth, Pour mettre en œuvre une topologie sur ce calendrier:

# add the namespaces
ip netns add ns1
ip netns add ns2
# create the switch
BRIDGE=br-test
brctl addbr $BRIDGE
brctl stp $BRIDGE off
ip link set dev $BRIDGE up
#
#### PORT 1
# create a port pair
ip link add tap1 type veth peer name br-tap1
# attach one side to linuxbridge
brctl addif br-test br-tap1
# attach the other side to namespace
ip link set tap1 netns ns1
# set the ports to up
ip netns exec ns1 ip link set dev tap1 up
ip link set dev br-tap1 up
#
#### PORT 2
# create a port pair
ip link add tap2 type veth peer name br-tap2
# attach one side to linuxbridge
brctl addif br-test br-tap2
# attach the other side to namespace
ip link set tap2 netns ns2
# set the ports to up
ip netns exec ns2 ip link set dev tap2 up
ip link set dev br-tap2 up
#

Veuillez vous reporter au message original pour plus de détails sur OVS. Hourra

Blanche

Confirmation de:

Comme toi, je me suis battu avec veth, Mais je ne pouvais pas le faire fonctionner.

Puis j'ai trouvé
https://developers.redhat.com/ ... cvlan
, qui dit:

Before MACVLAN, if you wanted to connect to physical network from a VM or namespace, you would have needed to create TAP/VETH devices and attach one side to a bridge and attach a physical interface to the bridge on the host at the same time, as shown below.

Now, with MACVLAN, you can bind a physical interface that is associated with a MACVLAN directly to namespaces, without the need for a bridge.

Alors, je l'ai essayé:

$ sudo ip netns add ns0
$ sudo ip netns exec ns0 ip link set lo up
$ sudo ip link add macvlan0 link eth0 type macvlan mode bridge
$ sudo ip link set macvlan0 netns ns0
$ sudo ip netns exec ns0 ip link set macvlan0 up
$ sudo ip netns exec ns0 ip addr add 172.29.6.123/21 dev macvlan0
$ sudo ip netns exec ns0 ping 172.29.0.1
PING 172.29.0.1 (172.29.0.1) 56(84) bytes of data.
64 bytes from 172.29.0.1: icmp_seq=1 ttl=64 time=0.360 ms
64 bytes from 172.29.0.1: icmp_seq=2 ttl=64 time=0.412 ms

Ça marche!

Pour répondre aux questions, connectez-vous ou registre