Nefunkční routing na WAN v IPv6

Nefunkční routing na WAN v IPv6
« kdy: 13. 12. 2023, 09:17:19 »
Ahoj,

rad bych pozadal o pomoc s na prvni pohled s velmi jednoduchou veci, bohuzel nejsem schopen prijit na to proc to nefunguje...

situace:
server - brana (fedora) ipv4 lan/wan (nat)
klient (win10) ipv4

Pres ipv4 vse funguje/routuje.

Zridil jsem si ipv6 wireguard /48 tunel a na serveru pro nej nastavil inet6 rozhrani s adresami:
2a03:3b40:xxx:1::/64 a 2a03:3b40:200::xxx/128,
pro lan rozhrani jsem nastavil 2a03:3b40:xxx::/64 a pro radvd stejny prefix a dns.

Klient dostane ipv6 adresu, internet ipv6 krasne funguje jak na serveru i na klientu.
Nefunguje jen jedna vec: klient se nedostane na wan rozhrani serveru (ping, web...) na 2a03:3b40:xxx:1::
Nechapu proc, ip forwarding zapnut, routovani by melo byt spravne, na fw zadne omezeni neni.
Pakety od klienta jsou videt na lan rozhrani, ale na wan se nedostanou.

Kód: [Vybrat]
$ip -6 r
unreachable ::/96 dev lo metric 1024 pref medium
unreachable ::ffff:0.0.0.0/96 dev lo metric 1024 pref medium
unreachable 2002:a00::/24 dev lo metric 1024 pref medium
unreachable 2002:7f00::/24 dev lo metric 1024 pref medium
unreachable 2002:a9fe::/32 dev lo metric 1024 pref medium
unreachable 2002:ac10::/28 dev lo metric 1024 pref medium
unreachable 2002:c0a8::/32 dev lo metric 1024 pref medium
unreachable 2002:e000::/19 dev lo metric 1024 pref medium
2a03:3b40:200::xxx dev inet6 proto kernel metric 256 pref medium
2a03:3b40:xxx::/64 dev lan proto kernel metric 256 pref medium
2a03:3b40:xxx:1::/64 dev inet6 proto kernel metric 256 pref medium
unreachable 3ffe:ffff::/32 dev lo metric 1024 pref medium
fe80::/64 dev inet proto kernel metric 256 pref medium
fe80::/64 dev lan proto kernel metric 256 pref medium
fe80::/64 dev tap0 proto kernel metric 256 pref medium
fe80::/64 dev tun0 proto kernel metric 256 pref medium
fe80::/64 dev tun1 proto kernel metric 256 pref medium


Predem dekuji za pomoc.
« Poslední změna: 13. 12. 2023, 09:26:07 od Petr Krčmář »


Re:Nefunkční routing na WAN v IPv6
« Odpověď #1 kdy: 13. 12. 2023, 10:33:50 »
Chápu správně, že na serveru je ukončený ten wireguardový tunel?

A ten prefix 2a03:3b40:xxx:1::/64 je nastavený na tom wireguardovém rozhraní? Jaký to má význam?

Adresa se samými nulami v posledních 64 bitech má speciální význam, takže je lepší vybrat nějakou jinou. Ale to by nemělo představovat velký problém.

Pakety od klienta jsou videt na lan rozhrani, ale na wan se nedostanou.
Pokud jsou ty pakety cílené na IP adresu, která patří serveru, je jasné, že se na wan rozhraní neobjeví, když už tím, že přišly do serveru dorazily do svého cíle.

Nicméně, proč daná adresa neodpovídá, není úplně jasné. Může to být spousta důvodů.

Re:Nefunkční routing na WAN v IPv6
« Odpověď #2 kdy: 13. 12. 2023, 13:26:22 »
Chápu správně, že na serveru je ukončený ten wireguardový tunel?
Ano.

A ten prefix 2a03:3b40:xxx:1::/64 je nastavený na tom wireguardovém rozhraní? Jaký to má význam?
Dobrá otázka. Myšlenka byla mít jeden rozsah ipv6 na wan (inet6) a druhý na lan (lan).

Adresa se samými nulami v posledních 64 bitech má speciální význam, takže je lepší vybrat nějakou jinou. Ale to by nemělo představovat velký problém.
Díky, neznal jsem, opraveno na 2a03:3b40:xxx::1/64.

Pokud jsou ty pakety cílené na IP adresu, která patří serveru, je jasné, že se na wan rozhraní neobjeví, když už tím, že přišly do serveru dorazily do svého cíle.

Nicméně, proč daná adresa neodpovídá, není úplně jasné. Může to být spousta důvodů.
Prozatím jsem to vyřešil tím, že jsem na wg rozhraní nechal jen 2a03:3b40:200::xxx/128 a vnější adresu serveru 2a03:3b40:xxx::1/64 přesunul na lan, kam klient vidí.

Jose D

  • *****
  • 898
    • Zobrazit profil
Re:Nefunkční routing na WAN v IPv6
« Odpověď #3 kdy: 13. 12. 2023, 13:48:18 »
Jak máš udělanout ipv6 konektivitu - ta je nativní po WAN, nebo ji dostáváš přes nějaký tunel taky?
Když uděláš obrázek, tak nejen, že asi dostaneš lepší radu, ale během kreslení na to asi rovnou přijdeš.

Re:Nefunkční routing na WAN v IPv6
« Odpověď #4 kdy: 13. 12. 2023, 14:08:12 »
IPv6 je pres Wireguard tunel od vpsFree.
Bohuzel, badal jsem nad tim hodne dlouho a na nic racionalniho jsem neprisel :D


Jose D

  • *****
  • 898
    • Zobrazit profil
Re:Nefunkční routing na WAN v IPv6
« Odpověď #5 kdy: 13. 12. 2023, 14:32:34 »
IPv6 je pres Wireguard tunel od vpsFree.

oki.

jestli je to recentní fedora, tak tam máš asi firewalld, že... ten používá zóny..

Chceš si zkontrolovat:

* jestli máš (ipv4) uplink v public zóně
* jestli máš interface wg tunelu do vpsFree taky v public zóně

pak

* jestli máš lan interface v nějaké trusted/internal zóně

v tomhle momentě ten základ je celkem ok.

Pak si v /etc/firewalld/firewalld.conf

nastav

LogDenied=unicast a otoč firewalld.

A teď si zkus poslat nějaký traffic (curl, wget) na ten public interface. Projde to? A když ne, máš v dmesg nějaký návodný deny?

Re:Nefunkční routing na WAN v IPv6
« Odpověď #6 kdy: 13. 12. 2023, 15:06:47 »
Chceš si zkontrolovat:

* jestli máš (ipv4) uplink v public zóně
* jestli máš interface wg tunelu do vpsFree taky v public zóně

pak

* jestli máš lan interface v nějaké trusted/internal zóně

v tomhle momentě ten základ je celkem ok.

Pak si v /etc/firewalld/firewalld.conf

nastav

LogDenied=unicast a otoč firewalld.

A teď si zkus poslat nějaký traffic (curl, wget) na ten public interface. Projde to? A když ne, máš v dmesg nějaký návodný deny?

Nemám firewalld, používám Shorewall. Ale přesně tohle jsem ověřoval, zóny, atd., všechno vypadá ok.
Nicméně jsem zkusil na to inet6 rozhraní dát adresu 192.168.3.1/24 a světe div se, na tu se z klienta dostanu, takže firewall by měl být ok.
dmesg nic zahozeného neukáže.
Bude to nějaká kulišárna, úplná blbost řekl bych. Vždycky to tak je, jen to člověk na první pohled hned nevidí.
« Poslední změna: 13. 12. 2023, 15:08:48 od waclaw »

Re:Nefunkční routing na WAN v IPv6
« Odpověď #7 kdy: 13. 12. 2023, 15:43:35 »
Tohle ukáže wireshark...

Jose D

  • *****
  • 898
    • Zobrazit profil
Re:Nefunkční routing na WAN v IPv6
« Odpověď #8 kdy: 13. 12. 2023, 16:11:11 »
Nemám firewalld, používám Shorewall.

Shorewall byl dřív oblíbenou nastavbou iptables, ale současné EL-like systémy už iptables nemají - je tam command iptables který je ale jen nějaký alias..? Není možný, že ta chyba je v tom?

Re:Nefunkční routing na WAN v IPv6
« Odpověď #9 kdy: 13. 12. 2023, 16:30:41 »
Na zkoušku jsem kompletně odstranil všechna pravidla pro firewall a nechal vše na ACCEPT, stejně nefunguje, pes bude zakopán jinde :(

Re:Nefunkční routing na WAN v IPv6
« Odpověď #10 kdy: 13. 12. 2023, 16:39:42 »
Routovací tabulka se mi zdá v pořádku...

Kód: [Vybrat]
2a03:3b40:200::xxx dev inet6 proto kernel metric 256 pref medium
2a03:3b40:xxx::/64 dev lan proto kernel metric 100 pref medium
2a03:3b40:xxx:1::/64 dev inet6 proto kernel metric 256 pref medium
fe80::/64 dev tap0 proto kernel metric 256 pref medium
fe80::/64 dev tun0 proto kernel metric 256 pref medium
fe80::/64 dev tun1 proto kernel metric 256 pref medium
fe80::/64 dev inet proto kernel metric 1024 pref medium
fe80::/64 dev lan proto kernel metric 1024 pref medium

tak tedy jinak, packet požadavku na 2a03:3b40:xxx:1::1 přijde ze sítě 2a03:3b40:xxx::/64, ten přijme rozhraní lan (na tom je ještě vidět ve wiresharku), co se s ním děje pak, jak se dostane na inet6 v jehož rozsahu je adresa požadavku? Ke službě se, jak to vypadá, nedostane.

Jose D

  • *****
  • 898
    • Zobrazit profil
Re:Nefunkční routing na WAN v IPv6
« Odpověď #11 kdy: 13. 12. 2023, 17:13:12 »
Routovací tabulka se mi zdá v pořádku...

hmmm, a máš to rozhraní inet6 - tedy endpoint tunelu, a lan opravdu v jiných sítích?
Není třeba jedna omylem podsítí druhé..?

Re:Nefunkční routing na WAN v IPv6
« Odpověď #12 kdy: 13. 12. 2023, 17:18:39 »
Routovací tabulka se mi zdá v pořádku...

hmmm, a máš to rozhraní inet6 - tedy endpoint tunelu, a lan opravdu v jiných sítích?
Není třeba jedna omylem podsítí druhé..?

To by neměly, lan (2a03:3b40:xxx::/64) i wan (2a03:3b40:xxx:1::/64) mají různý prefix /64, tunel je pro /48.

Nemůže být problém, že wg inet6 rozhraní nemá jako jediné přiřazenu link-local adresu?

Jose D

  • *****
  • 898
    • Zobrazit profil
Re:Nefunkční routing na WAN v IPv6
« Odpověď #13 kdy: 13. 12. 2023, 17:24:37 »
...

prosímtě hoď sem výstup ip a s
a tvoje specifický čtveřice nahraď třeba "beef". ať z toho není IPv6 coming out. Ale stejný 4-byty nahraď stejnou náhradou, a jiný jinou, ať je z toho jasný, co je stejný, a co je jiný.

Asi všichni tady tušíme, jakej má prefix VPSfree, takže ten začátek cenzurovat nemusíš.

Re:Nefunkční routing na WAN v IPv6
« Odpověď #14 kdy: 13. 12. 2023, 17:33:53 »
Kód: [Vybrat]
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: inet: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:e0:4c:ab:37:be brd ff:ff:ff:ff:ff:ff
    altname enp5s0
    inet 46.11.11.18/29 brd 46.11.11.23 scope global noprefixroute inet
       valid_lft forever preferred_lft forever
    inet 46.11.11.19/29 brd 46.11.11.23 scope global secondary noprefixroute inet
       valid_lft forever preferred_lft forever
    inet 46.11.11.20/29 brd 46.11.11.23 scope global secondary noprefixroute inet
       valid_lft forever preferred_lft forever
    inet 46.11.11.21/29 brd 46.11.11.23 scope global secondary noprefixroute inet
       valid_lft forever preferred_lft forever
    inet6 fe80::16a6:140d:67e4:3984/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1b:21:98:44:aa brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute lan
       valid_lft forever preferred_lft forever
    inet6 2a03:3b40:beef::1/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::884b:fc92:16a6:2fb6/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
25: inet6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet6 2a03:3b40:beef:1::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 2a03:3b40:200::beef/128 scope global
       valid_lft forever preferred_lft forever