Portál AbcLinuxu, 11. května 2025 06:52
Řešení dotazu:
Kde dělám chybu?
Podle mě přesně tady:
Síťové rozhraní mám konfigurované jako bridge s eth0.
To, co máš, je naprosto standardní konfigurace, jakou používají prakticky všichni operátoři — tvůj přidělený rozsah s prefixem kratším než /64 je zcela disjunktní s tvou vnější adresou z jiného rozsahu v síti operátora. K tomu se bridge přes všechna rozhraní prostě nehodí; musel bys explicitně nadefinovat u všech strojů, že příslušné rozsahy jsou taky „on link“.
Konfigurace, kterou potřebuješ, je asi tak tohle:
Jo a nezapomeň zkontrolovat sysctl -a | grep forwarding
— častá chyba je, že to není povolené.
Jestli tam máš nftables nebo zastaralé iptables, je dobré je (čistě pro zjištění či vyloučení možné příčiny problému) při debuggování na chvíli vypnout — a pak doladit, co v nich mohlo být špatně.
Další tip na závěr: Můj operátor například vyžaduje, abych si sjednal DHCPv6 prefix delegation — a to i přesto, že můj prefix je stálý a předem známý. Prostě pokud nemám platný DHCPv6 lease a dohodnutý /48 prefix, operátor do mojí přidělené podsítě velikosti /48 vůbec neroutuje! To může být při přístupu zvenku matoucí. U tvého operátora to může být samozřejmě jinak.
Používám DHCPv6 klienta Dibbler, protože žádný jiný klient neumí dohodnout prefix delegation — spousta jich to sice slibuje, ale sliby chyby a bugy nakonec převládnou nad dobrými úmysly. Takhle vypadá moje konfigurace:
log-mode short log-level 7 downlink-prefix-ifaces "none" iface "eth1" { pd }
Tedy nic se tam ve skutečnosti nenastavuje — protože jak vnější adresa v síti operátora, tak i všechny vnitřní adresy v mém /48 rozsahu jsou stálé a předem známé. Jediné, co tohle opravdu dělá, je oznámení operátorovi, že má ke mně routovat a že můj server funguje. Prefix, který to vrátí (i adresu, na kterou se vůbec neptám) znám předem a nastavuji fixně.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.