J'essaie de configurer la mise en réseau avec netplan et networkd en tant que moteur de rendu sur une machine 18.04. Il exécute la distribution de bureau car il est connecté à mon téléviseur et utilisé pour le multimédia, mais je l'appellerai un serveur car il est plus facile à expliquer et exécutera les serveurs DNS et DHCP une fois que le réseau sera opérationnel correctement.
J'ai remarqué que lorsque je configure le réseau via netplan, je ne peux pas cingler le serveur à partir de mes clients Windows 10 (non testés sur d'autres systèmes d'exploitation) à moins que je ne cingle d'abord ledit client à partir du serveur. Sur les clients, j'obtiens :
Reply from [CLIENT'S OWN IP]: Destination host unreachable.
Mais après avoir d'abord envoyé un ping depuis le serveur, le client a une entrée ARP et tout va bien.
J'ai cherché des solutions pendant trop longtemps et j'ai confirmé que :
- Les sous-réseaux sont corrects :tout est DHCP de mon routeur pour le moment pour exclure cela
- Il n'y a pas de conflit d'adresse MAC ou IP
- La gestion de l'alimentation est désactivée sur l'interface
- Cela ne semble pas être un problème de pilote étant donné que le seul changement est network-manager vs networkd
- Les pare-feu sont OK
- Le routeur est OK
Pour le moment, la machine est connectée via WiFi et pour modifier la configuration de network-manager, je viens de renommer /etc/netplan/01-network-manager-all.yaml afin qu'il ne soit pas utilisé et de créer /etc/netplan/config. yaml comme suit :
network:
version: 2
renderer: networkd
wifis:
wlp3s0:
dhcp4: yes
dhcp6: no
access-points:
"MyAP":
password: "MyPassword"
/etc/network/interfaces est juste iface lo inet loopback
J'ai lu que la désactivation du gestionnaire de réseau n'était pas nécessaire car il signalera simplement que les interfaces configurées manuellement ne sont pas gérées, donc la modification ci-dessus est tout ce que j'ai fait.
En utilisant Wireshark, j'ai confirmé que lorsqu'il est configuré avec netplan, le serveur ne reçoit pas de paquets ARP lorsque je ping d'un client sans entrée ARP pour l'adresse IP du serveur. Il les reçoit lorsque le gestionnaire de réseau s'occupe de l'interface ; le premier pour le dire au routeur, puis un pour le dire au client.
Merci d'avance pour toute aide !
MODIFICATION 1 :informations complémentaires :
/etc/NetworkManager/system-connections/[NETWORKNAME] est :
[connection]
id=XXXX
uuid=992e3be7-dea0-49b7-a474-60832236b8bf
type=wifi
permissions=
timestamp=1530425561
[wifi]
mac-address=C4:E9:84:E1:61:FF
mac-address-blacklist=
mode=infrastructure
seen-bssids=50:C7:BF:38:01:91;
ssid=XXXX
[wifi-security]
key-mgmt=wpa-psk
psk=XXXX
[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
method=auto
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto
La configuration networkd générée par netplan dans /run/systemd/network/10-netplan-wlp3s0.network est :
[Match]
Name=wlp3s0
[Network]
DHCP=ipv4
[DHCP]
UseMTU=true
RouteMetric=600
MODIFICATION 2 :un examen plus approfondi de Wireshark montre que lors de l'utilisation de la configuration systemd-networkd, il n'y a aucune activité IGMP, aucune activité MDNS autre que celle où le serveur est la source, et la seule activité ARP se situe entre la passerelle et le serveur, jusqu'à le serveur tente d'envoyer un ping à un client. Une fois que le serveur tente d'envoyer un ping au client, le premier ARP est "qui a l'adresse IP du client, indique l'adresse IP du serveur", puis immédiatement après, "qui a l'adresse IP du serveur, indique l'adresse IP du client", et enfin le ping est envoyé au client. À partir de là, le client peut envoyer un ping au serveur.
Connexe :Comment faire une vidéo Stop Motion ou Time-lapse avec webcam ?Pendant tout ce temps, le serveur peut accéder à tous les services réseau, internes et externes.
Réponse acceptée :
Après avoir réalisé que j'étais affecté par ce bogue et l'avoir corrigé, j'ai découvert que networkctl affichait l'interface sans fil en état de "configuration".
J'ai ensuite découvert que NetworkManager était en cours d'exécution et en l'arrêtant via sudo systemctl stop NetworkManager
, suivi de sudo systemctl restart systemd-networkd
, et enfin en supprimant l'entrée ARP sur mon client Windows avant de relancer le ping, tout a fonctionné. J'ai sudo systemctl disable NetworkManager
et redémarré pour s'assurer que la solution persistait et qu'elle ne l'était pas …
Une bonne âme du canal IRC d'Ubuntu m'a guidé pour faire :
sudo systemctl mask network-manager.service
sudo systemctl mask NetworkManager-dispatcher.service
sudo systemctl mask NetworkManager-wait-online.service
Cela a résolu le problème et networkctl affiche maintenant le statut de "configuré". Il semble que network-manager et systemd-networkd se disputaient la configuration de l'interface sans fil. Je soupçonne que ma compréhension que le gestionnaire de réseau le laisserait seul serait correcte s'il n'y avait pas de configuration dans /etc/NetworkManager/system-connections/
mais je n'ai pas testé cette théorie - je suis juste soulagé qu'elle soit résolue.