GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Impossibile eseguire il ping del desktop 18.04 a meno che questa macchina non esegua prima il ping del client, quando si utilizza Networkd invece di Network-manager?

Sto provando a configurare la rete con netplan e collegato in rete come renderer su una macchina 18.04. Gestisce la distribuzione desktop perché è collegato alla mia TV e utilizzato per i contenuti multimediali, ma lo chiamerò server perché è più facile da spiegare ed eseguirà server DNS e DHCP una volta che avrò installato e funzionante correttamente la rete.

Ho notato che quando configuro la rete tramite netplan, non riesco a eseguire il ping del server dai miei client Windows 10 (non testati su altri sistemi operativi) a meno che non venga prima eseguito il ping di detto client dal server. Sui client, ottengo:

Reply from [CLIENT'S OWN IP]: Destination host unreachable.

Ma dopo aver eseguito prima il ping dal server, il client ha una voce ARP e tutto va bene.

Ho cercato soluzioni per troppo tempo e ho confermato che:

  • Le sottoreti sono corrette:al momento tutto è DHCP dal mio router per escluderlo
  • Non vi è alcun conflitto di indirizzi MAC o IP
  • La gestione dell'alimentazione è disattivata sull'interfaccia
  • Non sembra un problema di driver, dato che l'unico cambiamento riguarda il gestore di rete e il collegamento in rete
  • I firewall sono OK
  • Il router è OK

Al momento la macchina è connessa via WiFi e per cambiare la configurazione da gestore di rete ho appena rinominato /etc/netplan/01-network-manager-all.yaml quindi non viene utilizzato, e creato /etc/netplan/config. yaml come segue:

network:
    version: 2
    renderer: networkd
    wifis:
        wlp3s0:
            dhcp4: yes
            dhcp6: no
            access-points:
                "MyAP":
                    password: "MyPassword"

/etc/network/interfaces è solo iface lo inet loopback

Ho letto che la disabilitazione del gestore di rete non era richiesta in quanto riporterà semplicemente che le interfacce configurate manualmente non sono gestite, quindi la modifica sopra è tutto ciò che ho apportato.

Utilizzando Wireshark ho confermato che quando configurato con netplan, il server non riceve pacchetti ARP quando eseguo il ping da un client senza alcuna voce ARP per l'IP del server. Li riceve quando il gestore di rete si occupa dell'interfaccia; prima uno per dirlo al router, poi uno per dirlo al client.

Grazie in anticipo per qualsiasi aiuto!

MODIFICA 1 :informazioni aggiuntive:

/etc/NetworkManager/system-connections/[NETWORKNAME] è:

[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 configurazione di rete generata da netplan in /run/systemd/network/10-netplan-wlp3s0.network è:

[Match]
Name=wlp3s0

[Network]
DHCP=ipv4

[DHCP]
UseMTU=true
RouteMetric=600

MODIFICA 2 :uno sguardo più da vicino a Wireshark mostra che quando si utilizza la configurazione systemd-networkd, non c'è attività IGMP, nessuna attività MDNS diversa da quella in cui il server è l'origine e l'unica attività ARP è tra gateway e server, finché il server tenta di eseguire il ping di un client. Una volta che il server tenta di eseguire il ping del client, il primo ARP è "chi ha l'IP del client comunica l'IP del server", quindi immediatamente successivo "chi ha l'IP del server, comunica l'IP del client" e infine il ping viene inviato al client. Da qui in poi, il client può eseguire il ping del server.

Correlati:Come realizzare un video Stop Motion o Time-lapse con la webcam?

Per tutto il tempo, il server può accedere a qualsiasi servizio di rete, interno ed esterno.

Risposta accettata:

Dopo aver realizzato che ero interessato da questo bug e averlo corretto, ho scoperto che networkctl mostrava l'interfaccia wireless come stato di "configurazione".

Ho quindi scoperto che NetworkManager era in esecuzione e interrompendolo tramite sudo systemctl stop NetworkManager , seguito da sudo systemctl restart systemd-networkd e infine eliminando la voce ARP sul mio client Windows prima di eseguire nuovamente il ping, tutto ha funzionato. Ho fatto sudo systemctl disable NetworkManager e riavviato per assicurarsi che la soluzione persistesse e non

Un'anima gentile nel canale IRC di Ubuntu mi ha guidato a fare:

sudo systemctl mask network-manager.service
sudo systemctl mask NetworkManager-dispatcher.service
sudo systemctl mask NetworkManager-wait-online.service

Questo ha risolto il problema e networkctl ora mostra lo stato di "configurato". Sembra che il gestore di rete e systemd-networkd litigassero per la configurazione dell'interfaccia wireless. Sospetto che la mia comprensione che il gestore di rete lo lascerebbe in pace sarebbe corretta se non ci fosse alcuna configurazione in /etc/NetworkManager/system-connections/ ma non ho testato questa teoria:sono solo sollevato che sia risolta.


Ubuntu
  1. Come connettersi a un server utilizzando la funzione di console remota BMC

  2. Ubuntu Server vs Desktop:qual è la differenza?

  3. Come verificare quale server locale è installato nella macchina?

  4. Come creare collegamenti a siti Web sul desktop / in una cartella utilizzando Chrome?

  5. Cartelle sincronizzate perse durante il riavvio di una macchina Vagrant utilizzando il provisioner Ansible

Come installare Plex Media Server su Ubuntu 16.04 Server/Desktop

Come installare il client BitTorrent di Deluge su desktop/server Ubuntu 20.04

Come installare Jellyfin Media Server su Ubuntu 20.04 LTS Server/Desktop

Come installare Plex Media Server su Ubuntu 20.04 LTS Server/Desktop

Perché Shotwell ha le posizioni X e Y invertite quando si utilizza Crop?

16.04 – Quando il coperchio del laptop è chiuso, il desktop passa al monitor esterno?