J'ai un problème avec les ponts dans le serveur Ubuntu 18.04. Cette machine a deux cartes réseau, et je lie le pont à l’une d’elles et attache des conteneurs au pont. Je configure les services pour le réseau local sur les conteneurs et utilise des adresses IP statiques via le pont pour les rendre disponibles au sous-réseau. Cependant, lorsque je démarre le système, je ne finis pas par obtenir une adresse IP sur le pont:
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::7e8b:caff:fe03:57b0 prefixlen 64 scopeid 0x20<link>
ether 7c:8b:ca:03:57:b0 txqueuelen 1000 (Ethernet)
RX packets 167 bytes 19385 (19.3 KB)
RX errors 0 dropped 50 overruns 0 frame 0
TX packets 36 bytes 2946 (2.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::7e8b:caff:fe03:57b0 prefixlen 64 scopeid 0x20<link>
ether 7c:8b:ca:03:57:b0 txqueuelen 1000 (Ethernet)
RX packets 758 bytes 637232 (637.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 433 bytes 33998 (33.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 30:9c:23:41:a4:1b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<Host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5104 (5.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5104 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethCHVFR2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fcf7:29ff:fe05:734b prefixlen 64 scopeid 0x20<link>
ether fe:f7:29:05:73:4b txqueuelen 1000 (Ethernet)
RX packets 348 bytes 26797 (26.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 422 bytes 350547 (350.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethLPOSTU: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fcb3:33ff:fe5b:4bbb prefixlen 64 scopeid 0x20<link>
ether fe:b3:33:5b:4b:bb txqueuelen 1000 (Ethernet)
RX packets 49 bytes 4363 (4.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 172 bytes 279551 (279.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Voici mon fichier/etc/network/interfaces sur l'hôte global:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp2s0
iface enp2s0 inet manual
auto enp3s0
iface enp3s0 inet manual
# address 192.168.5.19
# netmask 255.255.255.0
# gateway 192.168.5.1
# dns-nameserver 8.8.8.8
#
auto br0
iface br0 inet static
bridge_ports enp2s0
address 192.168.5.20
# network 192.168.5.0
netmask 255.255.255.0
broadcast 192.168.5.255
gateway 192.168.5.1
# bridge_fd 9
# bridge_hello 2
# bridge_maxage 12
bridge_stp off
dns-nameserver 8.8.8.8
dns-search XXX.network
Le problème est que, lorsque je publie un "redémarrage du réseau de service", je finis par avoir tous les éléments réunis comme ils sont supposés:
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.20 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::7e8b:caff:fe03:57b0 prefixlen 64 scopeid 0x20<link>
ether 7c:8b:ca:03:57:b0 txqueuelen 1000 (Ethernet)
RX packets 122 bytes 12409 (12.4 KB)
RX errors 0 dropped 21 overruns 0 frame 0
TX packets 91 bytes 8072 (8.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 7c:8b:ca:03:57:b0 txqueuelen 1000 (Ethernet)
RX packets 914 bytes 654161 (654.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 522 bytes 41870 (41.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp3s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 30:9c:23:41:a4:1b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<Host>
loop txqueuelen 1000 (Local Loopback)
RX packets 64 bytes 5104 (5.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 5104 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethCHVFR2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fcf7:29ff:fe05:734b prefixlen 64 scopeid 0x20<link>
ether fe:f7:29:05:73:4b txqueuelen 1000 (Ethernet)
RX packets 350 bytes 26933 (26.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 430 bytes 351218 (351.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethLPOSTU: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fcb3:33ff:fe5b:4bbb prefixlen 64 scopeid 0x20<link>
ether fe:b3:33:5b:4b:bb txqueuelen 1000 (Ethernet)
RX packets 54 bytes 4625 (4.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 180 bytes 280218 (280.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
et tout commence à fonctionner comme il se doit. Avez-vous des idées sur l'endroit où je devrais chercher pour que le réseau démarre correctement au lieu de devoir être repayé pour que la configuration prenne?
Merci!
Il s’est avéré que c’était l’interaction entre ifupdown et netplan. Après avoir configuré netplan, le système est apparu comme il se doit. Je soupçonne que le problème était un problème de synchronisation lors du démarrage où il était impossible d'attribuer une adresse au pont, car des éléments clés du sous-système de mise en réseau n'étaient pas encore opérationnels. J'ai purgé ifupdown et configuré netplan et tout a commencé à fonctionner.
Merci @ chili555 de m'avoir orienté dans la bonne direction.