Debian 9 - po restartu nefunguje IPv6 konektivita

Debian 9 - po restartu nefunguje IPv6 konektivita
« kdy: 19. 05. 2020, 10:48:36 »
Dobré odpoledne.

Řešíme zapeklitý problém na (starší) virtuálce s Debianem 9.11. Po restartu nefunguje IPv6 konektivita. Ihned po spuštění když spustím
Kód: [Vybrat]
ping ipv6.google.com nebo ping nebezi.cz, zobrazí se resolvnutá IPv6, ale nepingá. Když to zkusím znovu za chvíli, vypíše se rovnou něco ve smyslu
Kód: [Vybrat]
connect: Síť není dostupná nebo tak nějak.

Dočasným řešením je příkaz
Kód: [Vybrat]
ip route add default via 2A01:0430:002E::1, nicméně toto nepřežije restart. Nastavení síti na Linuxu moc nerozumím, nicméně podle různých rad jsem se koukal do
Kód: [Vybrat]
/etc/network/interfaces a sledoval výstup příkazů
Kód: [Vybrat]
ip route a
Kód: [Vybrat]
ip -6 route, ale před i po spuštění uvedeného příkazu je vše stejné a routa vypadá, že je tam uvedena správně. Z návodů na webu jsem zkoušel https://serverfault.com/questions/526008/ipv6-default-gateway-route-disappear-after-reboot a https://serverfault.com/questions/477471/ipv6-only-works-after-pinging-the-default-gateway, které mi přišly relevantní, ale nijak nepomohly.

Nevím, jestli to spolu souvisí, nicméně
Kód: [Vybrat]
systemctl status networking prozrazuje nějakou chybu, ale nenašel jsem v žádném logu podrobnosti.
Kód: [Vybrat]
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2020-05-18 22:22:32 CEST; 12h ago
     Docs: man:interfaces(5)
  Process: 334 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
  Process: 327 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (code=exited, status=1/FAILURE)
 Main PID: 334 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/networking.service


Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #1 kdy: 19. 05. 2020, 11:21:42 »
zkuste:

sysctl -a |grep ipv6
lsmod |grep ip

jestli mate ipv6 stack zapnuty v kernelu.


Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #2 kdy: 19. 05. 2020, 11:35:04 »
Síť jsem nikdy neřešil, po čem se tam mám prosím koukat? První příkaz dá 415 řádků. Se sysctl jsem se snažil pracovat podle https://serverfault.com/questions/526008/ipv6-default-gateway-route-disappear-after-reboot. U druhého už je to méně, ale nepřijde mi to moc popisné. Mám sem vložit výstup?

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #3 kdy: 19. 05. 2020, 11:37:18 »
Kdyby ale bylo IPv6 vypnuté na úrovni kernelu, ten příkaz na přidání routy by asi nepomohl, což z nějakého důvodu pomáhá, nebo i tak by pomohl?

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #4 kdy: 19. 05. 2020, 12:01:38 »
Dejte sem konfiguraci /etc/network/interfaces (pripadne zamente IP, ale hure se to pak hleda).


SB

  • ****
  • 347
    • Zobrazit profil
    • E-mail
Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #5 kdy: 19. 05. 2020, 12:33:48 »
Tohle mi dělalo taky. Řešil jsem to umístěním onoho nastavení výchozí route do nějakého skriptu, to ale není koncepční.
Jedním z důvodů, proč se výchozí route nenastaví, by mohlo být chybějící nebo chybně zpracované router advertisement od routeru.

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #6 kdy: 19. 05. 2020, 12:58:30 »
Síť jsem nikdy neřešil, po čem se tam mám prosím koukat? První příkaz dá 415 řádků. Se sysctl jsem se snažil pracovat podle https://serverfault.com/questions/526008/ipv6-default-gateway-route-disappear-after-reboot. U druhého už je to méně, ale nepřijde mi to moc popisné. Mám sem vložit výstup?

pokud ukaze zaznamy typu:
root@hyp11:~# sysctl -a |grep ipv6 |grep disable
net.ipv6.conf.all.disable_ipv6 = 1  # 1 znamena ipv6 je vypnute, ale v kernelu je
net.ipv6.conf.all.disable_policy = 0
net.ipv6.conf.br0.disable_ipv6 = 1
net.ipv6.conf.br0.disable_policy = 0
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.default.disable_policy = 0

pokud neco ukaze znamena to ze v kernelu je zapnute.

ale pravda pokud vam pomuze manualne pridat routu, tak je zapnute.

jestli mate Network manager muze se mlatit s nastavenim interfaces v souboru /etc/network/interfaces

zkusil bych ho vypnout a disablovat v systemd.
pote pridat statickou konfiguraci do /etc/network/interfaces

iface eth0 inet6 static
    address 2001:db8:1234:5::1:1
    netmask 64
    # Disabling auto-configuration
    # autoconf 0
    # The router is auto-configured and has no fixed address
    # (accept_ra 1). If it had:
    # gateway 2001:db8:1234:5::1

ale priznam se ipv6 uplne nemusim.

pripadne by network manager mohl neco hlasit do logu

 journalctl -u NetworkManager.service
« Poslední změna: 19. 05. 2020, 13:06:12 od gril258 »

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #7 kdy: 19. 05. 2020, 13:26:19 »
Děkuji všem moc za tipy.

Dejte sem konfiguraci /etc/network/interfaces (pripadne zamente IP, ale hure se to pak hleda).

Klidně veřejně přiznám, že je to server openalt.org, na tomhle zrovna není nic moc tajného. Soubor vypadá takto a adresář /etc/network/interfaces.d/ je prázdný:
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
iface lo inet6 loopback

allow-hotplug ens3
iface ens3 inet static
    address 83.167.252.162
    netmask 255.255.255.0
    gateway 83.167.252.1
    dns-nameservers 83.31.33.19 80.79.16.5
 
iface ens3 inet6 static
    address 2A01:0430:002E::162
    netmask 64
    gateway 2A01:0430:002E::1

Takto vypadá po rebootu (kdy IPv6 nefunguje) i po spuštění v předhozím příspěvku zmiňovaného příkazu (kdy už to pak funguje).

pokud ukaze zaznamy typu:
root@hyp11:~# sysctl -a |grep ipv6 |grep disable
net.ipv6.conf.all.disable_ipv6 = 1  # 1 znamena ipv6 je vypnute, ale v kernelu je
net.ipv6.conf.all.disable_policy = 0
net.ipv6.conf.br0.disable_ipv6 = 1
net.ipv6.conf.br0.disable_policy = 0
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.default.disable_policy = 0

pokud neco ukaze znamena to ze v kernelu je zapnute.

Všechno je 0, až na jedno:
Kód: [Vybrat]
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.ens3.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.veth1.disable_ipv6 = 0
net.ipv6.conf.virbr0.disable_ipv6 = 1
net.ipv6.conf.virbr0-nic.disable_ipv6 = 0

jestli mate Network manager muze se mlatit s nastavenim interfaces v souboru /etc/network/interfaces

zkusil bych ho vypnout a disablovat v systemd.
pote pridat statickou konfiguraci do /etc/network/interfaces

iface eth0 inet6 static
    address 2001:db8:1234:5::1:1
    netmask 64
    # Disabling auto-configuration
    # autoconf 0
    # The router is auto-configured and has no fixed address
    # (accept_ra 1). If it had:
    # gateway 2001:db8:1234:5::1

Pokud tomu alespoň trochu rozumím (snažím se tak odhadnout, snažím se spíš odvodit smysl těch nastavení a souborů z kontextu), právě tak je to zřejmě nastavené, viz výše.

journalctl -u NetworkManager.service

Žel
Kód: [Vybrat]
-- No entries --.

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #8 kdy: 19. 05. 2020, 13:28:56 »
Tohle mi dělalo taky. Řešil jsem to umístěním onoho nastavení výchozí route do nějakého skriptu, to ale není koncepční.

Na Googlu jsem ještě mezitím našel, že někdo (z jiného důvodu) přidával do /etc/network/interfaces nějaké
Kód: [Vybrat]
post-up a podle všeho by tak měla jít přidat ta routa, abych to nemusel po rebootu volat ručně. Ale nevím, jaká je přesně syntaxe a nechci špatnou syntaxí přijít o síť úplně. Možná je to i ten zmiňovaný skript? Souhlasím s tím, že je to nekoncepční, ale nakonec to může být lepší než nic.

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #9 kdy: 19. 05. 2020, 13:43:17 »
Kód: [Vybrat]
allow-hotplug ens3
iface ens3 inet static
    address 83.167.252.162
    netmask 255.255.255.0
    gateway 83.167.252.1
    dns-nameservers 83.31.33.19 80.79.16.5
 
iface ens3 inet6 static
    address 2A01:0430:002E::162
    netmask 64
   
    up /sbin/ip -6 ro add default via 2A01:0430:002E::1 dev ens3
    down /sbin/ip -6 ro del default via 2A01:0430:002E::1 dev ens3

systemd-networkd:
ens3.network
Kód: [Vybrat]
[Match]
Name=ens3

[Network]
Address=83.167.252.162/24
Address=2A01:0430:002E::162/64
DNS=83.31.33.19
DNS=80.79.16.5

[Route]
Gateway=83.167.252.1
Destination=0.0.0.0/0

[Route]
Gateway=2A01:0430:002E::1
Destination=::/0


Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #10 kdy: 19. 05. 2020, 14:16:50 »
Kód: [Vybrat]
allow-hotplug ens3
iface ens3 inet static
    address 83.167.252.162
    netmask 255.255.255.0
    gateway 83.167.252.1
    dns-nameservers 83.31.33.19 80.79.16.5
 
iface ens3 inet6 static
    address 2A01:0430:002E::162
    netmask 64
   
    up /sbin/ip -6 ro add default via 2A01:0430:002E::1 dev ens3
    down /sbin/ip -6 ro del default via 2A01:0430:002E::1 dev ens3

systemd-networkd:
ens3.network
Kód: [Vybrat]
[Match]
Name=ens3

[Network]
Address=83.167.252.162/24
Address=2A01:0430:002E::162/64
DNS=83.31.33.19
DNS=80.79.16.5

[Route]
Gateway=83.167.252.1
Destination=0.0.0.0/0

[Route]
Gateway=2A01:0430:002E::1
Destination=::/0


Tyjo, díky. Vypadá to, že toto nastavení v /etc/systemd/networkd/ens3.network pomohlo, ale /etc/network/interfaces jsem musel nechat původní. Dohromady s tím up/down /sbin/ip -6 ro ... to nefungovalo. Ještě to trochu procvičím, ale myslím, že je vyřešeno.

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #11 kdy: 19. 05. 2020, 14:27:25 »
Bohužel, po dalším restartu už to opět nejede. S jednou drobnou změnou, ping zobrazí resolvnutou IPv6 a nepingá. Ale už se ani při dalším pokusu nezobrazuje žádné
Kód: [Vybrat]
connect: Síť není dostupná ani nic podobného.

Vracím to tedy vše do původního stavu, i když je možné, že toto byl krok správným směrem.

Re:Debian 9 - po restartu nefunguje IPv6 konektivita
« Odpověď #12 kdy: 19. 05. 2020, 15:17:21 »
Co se tyce toho sytemd-networkd, tak ja to pouzivam takto:

/etc/network/interfaces:
Kód: [Vybrat]
auto lo
iface lo inet loopback

Kód: [Vybrat]
systemctl disable networking
systemctl enable systemd-networkd

Zbytek sitove konfigurace jiz obsluhuje systemd-networkd. Akorat dualstack v jednom interface.network nepouzivam, mam pro ipv4 a ipv6 samostatne sitovky(vlany), tak je pripadne potreba si s tim pohrat, pokud bych tam mel nejakou chybku.

Pro kazde ladeni je vhodne pouzit, aby se odhalilo pripadne spatne nastavene routovani, cili chyba v konfigu:
Kód: [Vybrat]
ip -4 a
ip -4 ro
ip -6 a
ip -6 ro

Jeste bych upozornil, ze nekdy mi ipv6 sit nefungovala po restartu systemd-networkd, ale po rebootu to bylo ok.