NetworkManager - chybějící brána po restartu

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
NetworkManager - chybějící brána po restartu
« kdy: 10. 08. 2016, 12:33:18 »
Všiml jsem si nedávno, že po restartu PC (restartuji velmi zřídka) a přihlášení do KDE Network Manager hlásí, že síť je nakonfigurována, ale komunikovat nejde. Zjistil jsem, že chybí výchozí brána. Po kliknutí ve widgetu NM na odpojit a znovu připojit se síť nakonfigurovala správně a vše fungovalo. Připisoval jsem to nějaké chybě v konfiguraci NM či nějaké aktualizaci. Vždycky když se mi to po restartu (kterých je málo) stalo, věnoval jsem tomu chvíli pozornost - kontrola konfigurace NM, hledání obdobného problému na Internetu, odebrat konfiguraci sítě v NM a vytvoření nové. Nic nepomáhalo.

Dneska jsem se po restartu a nefunkční síti namíchl a řekl jsem si, že na to prostě přijdu. Jako viník se nakonec zdá se ukázal systemd 230, který nedávno přifrčel do backports Debian Jessie. V konfiguraci systemd pro síť jsem nic nenašel (protože žádná konfigurace neexistuje) a nakonec jsem přišel na to, že za to může zapnutá networking.service. Po jejím disablování je po restartu a přihlášení do desktopu síť OK a vše funguje jak jsem byl zvyklý.
Projevilo se to taky někomu? Není možné, že mám nějakou chybnou konfiguraci někde jinde? Jak se vám to chová na jiných distrech? A jak se to chová na serveru (tam jsem konzervativnější)? Nebo je to prostě tím, že někdo z vývojářů systemd usoudil, že nastavovat "nějak" síť je dobrý nápad, i když to má na starosti jiná služba a tím zase něco ve výchozím stavu bez rozmýšlení rozbili?
« Poslední změna: 10. 08. 2016, 19:37:07 od Petr Krčmář »


Sten

Re:network manager - chybějící default gw po restartu
« Odpověď #1 kdy: 10. 08. 2016, 13:30:25 »
networking.service spouští akorát ifup -a. Takže špatně nastavený /etc/network/interfaces? Pokud používáte NetworkManager, mělo by v /etc/network/interfaces být jen lo.

Mám Debian Stretch, systemd 230 a neděje se mi to.

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #2 kdy: 10. 08. 2016, 13:32:53 »
networking.service spouští akorát ifup -a. Takže špatně nastavený /etc/network/interfaces? Pokud používáte NetworkManager, mělo by v /etc/network/interfaces být jen lo.

Mám Debian Stretch, systemd 230 a neděje se mi to.


To mě napadlo taky, ale v interfaces mám jen lo:

Kód: [Vybrat]
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

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #3 kdy: 10. 08. 2016, 13:34:34 »
Mám Debian Stretch, systemd 230 a neděje se mi to.

Ještě upřesním, děje se mi to na desktopu s drátový připojením. Na notebooku s WiFi je to OK.

Sten

Re:network manager - chybějící default gw po restartu
« Odpověď #4 kdy: 10. 08. 2016, 14:09:44 »
Ještě upřesním, děje se mi to na desktopu s drátový připojením. Na notebooku s WiFi je to OK.

Mám to taky na desktopu s Ethernetem. Se zapnutým UEFI (ale to by snad nemělo mít na tohle vliv). networking.service se spouští. V NetworkManageru mám připojení nastavené jako systémové („Všichni uživatelé se smějí připojit k této síti“).

  • Co vypíše ifquery --list? Mělo by vypsat jen lo.
  • Co vypíše systemctl status networking.service, když je povolená? Nejsou tam nějaké chyby?
  • Co vypíše systemctl cat networking.service? Není tam nějaký drop-in, který tam spouští něco dalšího, než jen ifup?
  • Není něco v /etc/systemd/network?
  • Není v /etc/NetworkManager/system-connections nějaké rozhraní, které se spouští místo toho, který spustíte poté?


ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #5 kdy: 10. 08. 2016, 14:45:43 »
Ještě upřesním, děje se mi to na desktopu s drátový připojením. Na notebooku s WiFi je to OK.

Mám to taky na desktopu s Ethernetem. Se zapnutým UEFI (ale to by snad nemělo mít na tohle vliv). networking.service se spouští. V NetworkManageru mám připojení nastavené jako systémové („Všichni uživatelé se smějí připojit k této síti“).

  • Co vypíše ifquery --list? Mělo by vypsat jen lo.
  • Co vypíše systemctl status networking.service, když je povolená? Nejsou tam nějaké chyby?
  • Co vypíše systemctl cat networking.service? Není tam nějaký drop-in, který tam spouští něco dalšího, než jen ifup?
  • Není něco v /etc/systemd/network?
  • Není v /etc/NetworkManager/system-connections nějaké rozhraní, které se spouští místo toho, který spustíte poté?

ad 1) vypíše samozřejmě jen lo

ad 2)

Kód: [Vybrat]
$ sudo systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: active (exited) since St 2016-08-10 14:33:27 CEST; 2min 27s ago
     Docs: man:interfaces(5)                                                                                     
 Main PID: 2425 (code=exited, status=0/SUCCESS)                                                                 
    Tasks: 0                                                                                                     
      CPU: 199ms                                                                                                 
   CGroup: /system.slice/networking.service                                                                     
                                                                                                                 
srp 10 14:33:26 speedy systemd[1]: Starting Raise network interfaces...                                         
srp 10 14:33:26 speedy ntpdate[2516]: Can't find host 0.debian.pool.ntp.org: Name or service not known (-2)     
srp 10 14:33:26 speedy ntpdate[2516]: Can't find host 1.debian.pool.ntp.org: Name or service not known (-2)     
srp 10 14:33:27 speedy systemd[1]: Started Raise network interfaces.

ad 3)

Kód: [Vybrat]
# /lib/systemd/system/networking.service
[Unit]
Description=Raise network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target

[Install]
WantedBy=multi-user.target
WantedBy=network-online.target

[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle'
ExecStart=/sbin/ifup -a --read-environment
ExecStop=/sbin/ifdown -a --read-environment
RemainAfterExit=true
TimeoutStartSec=5min

# /run/systemd/generator/networking.service.d/50-insserv.conf-$network.conf
# Automatically generated by systemd-insserv-generator

[Unit]
Wants=network.target
Before=network.target

ad 4) Psal jsem, že žádná konfigugace v systemd ohledně network není

ad 5) Ne, je tam jen jedna konfigurace pro drátový ethernet, IPv4 auto, IPv6 auto. Žádné zvláštnosti nebo specialitky.

Všechny ty věci samozřejmě znám a kontroloval jsem. UEFI mám taky. Stalo se to až s novou verzí systemd, předtím problém nebyl. PC používám stále na stejné síti, nemám důvod s tím hýbat. To proč píšu na fórum je ta podivnost, že nemůžu nic najít, ale nechová se to tak jak by to mělo a řešení disablovat networking.service mi přijde ještě podivnější...

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #6 kdy: 10. 08. 2016, 15:22:36 »
To je proste novy impruvment. Prejdi na Devuan, stejne se nejspis jednou tak naseres, ze to udelas.

Sten

Re:network manager - chybějící default gw po restartu
« Odpověď #7 kdy: 10. 08. 2016, 16:28:57 »
Ta hláška ntpdate je dost divná. ntpdate se nespouští při nahazování lo. Zkusil by v /etc/default/networking nastavit VERBOSE=yes a podívat se do výpisu systemctl status networking.service, co se tam vlastně děje.

nobody(ten pravej)

Re:network manager - chybějící default gw po restartu
« Odpověď #8 kdy: 10. 08. 2016, 18:22:27 »
[...] v interfaces mám jen lo:

Kód: [Vybrat]
This file describes the network interfaces available on your system
[...]
source /etc/network/interfaces.d/*
[...]
[/quote]

a nemas jen tak nahodou neco separovane v /etc/network/interfaces.d/ ?

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #9 kdy: 11. 08. 2016, 00:31:41 »
[...] v interfaces mám jen lo:

Kód: [Vybrat]
This file describes the network interfaces available on your system
[...]
source /etc/network/interfaces.d/*
[...]
[/quote]

a nemas jen tak nahodou neco separovane v /etc/network/interfaces.d/ ?

Ne samozřejmě nemám... To vážně vypadám tak blbě? :-D

Kdybych měl, tak ifquery nebude vracet jen lo.

Ale je vidět, že nejsem sám, komu to vrtá hlavou a hledá v tom normální logické vysvětlení, protože z toho co se popisuje to je divné.

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #10 kdy: 11. 08. 2016, 00:58:46 »
Ta hláška ntpdate je dost divná. ntpdate se nespouští při nahazování lo. Zkusil by v /etc/default/networking nastavit VERBOSE=yes a podívat se do výpisu systemctl status networking.service, co se tam vlastně děje.

Souhlasím, že divná je, v tom ntpdate scriptu co je v /etc/network/ifup.d/ je při nastavování loopback method rovnou exit 0.

No a VERBOSE jak jsem si myslel nepomohlo:

Kód: [Vybrat]
$ sudo systemctl status networking.service
Password:
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: active (exited) since Čt 2016-08-11 00:51:06 CEST; 43s ago
     Docs: man:interfaces(5)
 Main PID: 2423 (code=exited, status=0/SUCCESS)
    Tasks: 0
      CPU: 198ms
   CGroup: /system.slice/networking.service

srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ethtool
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/mountnfs
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ntpdate
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openssh-server
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openvpn
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/tinc
srp 11 00:51:06 speedy ntpdate[2515]: Can't find host 0.debian.pool.ntp.org: Name or service not known (-2)
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/upstart
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/wpasupplicant
srp 11 00:51:06 speedy systemd[1]: Started Raise network interfaces.

BTW. systemd hlásí exit status 0/SUCCESS...

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #11 kdy: 11. 08. 2016, 01:22:26 »
To je proste novy impruvment. Prejdi na Devuan, stejne se nejspis jednou tak naseres, ze to udelas.

To si nemyslím. Když se naseru, tak spíš forknu poslední normální jednoduchou verzi systemd, která uměla paralelní start a nehrála si na to, že musí pohltit všechny možné věci do sebe a normálně udělám Poeteringovi konkurenci!

Sten

Re:network manager - chybějící default gw po restartu
« Odpověď #12 kdy: 11. 08. 2016, 01:27:20 »
No a VERBOSE jak jsem si myslel nepomohlo:

Kód: [Vybrat]
$ sudo systemctl status networking.service
Password:
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: active (exited) since Čt 2016-08-11 00:51:06 CEST; 43s ago
     Docs: man:interfaces(5)
 Main PID: 2423 (code=exited, status=0/SUCCESS)
    Tasks: 0
      CPU: 198ms
   CGroup: /system.slice/networking.service

srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ethtool
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/mountnfs
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ntpdate
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openssh-server
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openvpn
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/tinc
srp 11 00:51:06 speedy ntpdate[2515]: Can't find host 0.debian.pool.ntp.org: Name or service not known (-2)
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/upstart
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/wpasupplicant
srp 11 00:51:06 speedy systemd[1]: Started Raise network interfaces.

BTW. systemd hlásí exit status 0/SUCCESS...

Hmm, mohlo mě napadnout, že tam bude víc řádků než 10. Tak tedy systemctl status -n HODNĚ networking.service nebo rovnou journalctl -u networking.service.

Exit status je z ifup. ntpdate se z /etc/network/if-up.d/ntpdate spouští asynchronně, protože nemá smysl blokovat spuštění sítě čekáním na seřízení času, a tak se ifup o tom, že ntpdate selhal, nedozví.

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #13 kdy: 11. 08. 2016, 03:18:25 »
Hmm, mohlo mě napadnout, že tam bude víc řádků než 10. Tak tedy systemctl status -n HODNĚ networking.service nebo rovnou journalctl -u networking.service.

Exit status je z ifup. ntpdate se z /etc/network/if-up.d/ntpdate spouští asynchronně, protože nemá smysl blokovat spuštění sítě čekáním na seřízení času, a tak se ifup o tom, že ntpdate selhal, nedozví.

No já si zase myslel, že tam nebude nic ani při hoooodně:

Kód: [Vybrat]
journalctl -u networking.service
-- Logs begin at Čt 2016-08-11 00:51:04 CEST, end at Čt 2016-08-11 03:14:38 CEST. --
srp 11 00:51:05 speedy systemd[1]: Starting Raise network interfaces...
srp 11 00:51:05 speedy ifup[2423]: /bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/bridge
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/ethtool
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/tinc
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/vde2
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/wireless-tools
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
srp 11 00:51:05 speedy ifup[2423]: Configuring interface lo=lo (inet)
srp 11 00:51:05 speedy ifup[2423]: /bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/bridge
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/ethtool
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/tinc
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/vde2
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/wireless-tools
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
srp 11 00:51:05 speedy ifup[2423]: /bin/ip link set dev lo up
srp 11 00:51:05 speedy ifup[2423]: /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/000resolvconf
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/avahi-daemon
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ethtool
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/mountnfs
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ntpdate
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openssh-server
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openvpn
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/tinc
srp 11 00:51:05 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/upstart
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/wpasupplicant
srp 11 00:51:06 speedy ifup[2423]: /bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/000resolvconf
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/avahi-daemon
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ethtool
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/mountnfs
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/ntpdate
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openssh-server
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/openvpn
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/tinc
srp 11 00:51:06 speedy ntpdate[2515]: Can't find host 0.debian.pool.ntp.org: Name or service not known (-2)
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/upstart
srp 11 00:51:06 speedy ifup[2423]: run-parts: executing /etc/network/if-up.d/wpasupplicant
srp 11 00:51:06 speedy systemd[1]: Started Raise network interfaces.

Tuxik

  • *****
  • 1 473
    • Zobrazit profil
    • E-mail
Re:network manager - chybějící default gw po restartu
« Odpověď #14 kdy: 11. 08. 2016, 07:04:40 »
To je proste novy impruvment. Prejdi na Devuan, stejne se nejspis jednou tak naseres, ze to udelas.

To si nemyslím. Když se naseru, tak spíš forknu poslední normální jednoduchou verzi systemd, která uměla paralelní start a nehrála si na to, že musí pohltit všechny možné věci do sebe a normálně udělám Poeteringovi konkurenci!
Osobně si myslím, že je třeba tu implementaci windowsových nesmyslů zahodit a začít znovu.