Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: ondra05 22. 06. 2023, 11:51:45
-
Zdravím. Jelikož ne vždy jsem tam, kde mám přístup k IPv6 internetu (ať žije KarTel), tak jsem si řekl že si nastavím na serveru Wireguard, abych se mohl připojit domů, kde mám veřejnou jen IPv6. Následoval jsem návod zde, https://nixos.wiki/wiki/WireGuard (https://nixos.wiki/wiki/WireGuard). Připojím se, ale přístup k IPv6 síti ven nemám, jen v rámci počítače, stejně je to i na OpenWrt routeru u kamaráda, tam také IPv6 jen po LANce.
Celkově tomuto tématu moc nerozumím, tak úplně nevím co dělat. V příloze posílám konfigurační soubor ze serveru. Díky.
-
Málo informací. Potřebujeme vidět stav sítě na obou stranách. Bude tedy potřeba spustit tam příkazy:
# wg
# ip a
# ip rou
Těch šest výstupů sem pak pošli.
-
wg
interface: wg0
public key: ---
private key: (hidden)
listening port: 51820
peer: ---
preshared key: (hidden)
endpoint: xxx.xxx.xxx.xxx:17846
allowed ips: fd00:9::/64, 10.100.9.0/24
latest handshake: 33 seconds ago
transfer: 19.90 KiB received, 181.09 KiB sent
ip a
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
valid_lft forever preferred_lft forever
2: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN group default qlen 1000
link/gre 0.0.0.0 brd 0.0.0.0
3: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
4: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/ipip 0.0.0.0 brd 0.0.0.0
6: venet0@if123: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ae:c6:c5:b2:df:ec brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 185.8.165.172/32 scope global venet0
valid_lft forever preferred_lft forever
inet6 2a03:3b40:fe:12b::1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::acc6:c5ff:feb2:dfec/64 scope link
valid_lft forever preferred_lft forever
7: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.100.9.0/24 scope global wg0
valid_lft forever preferred_lft forever
inet6 fd00:9::/64 scope global
valid_lft forever preferred_lft forever
ip rou
default via 255.255.255.254 dev venet0
10.100.9.0/24 dev wg0 scope link
10.100.9.0/24 dev wg0 proto dhcp scope link src 10.100.9.0 metric 1007
255.255.255.254 dev venet0 scope link
Vypadá to že mi možná chybí route? ale jak jsem říkal, sítím moc nerozumím.
-
Vypadá to že mi možná chybí route? ale jak jsem říkal, sítím moc nerozumím.
Ne ten příkaz je chybně, pokud chcete IPv6 routy musíte si o ně říci s -6
https://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch07s01.html
Edit: jinak já bych si tipnul, že chyba bude na straně serveru, pokud se nepletu tak se musí povolit v forward v /etc/sysctl.conf a pak ve wg.conf udělat pár pravidel pro firewall aby se paktery korektně předávaly z interface wg na eth
-
Vypadá to že mi možná chybí route? ale jak jsem říkal, sítím moc nerozumím.
Ne ten příkaz je chybně, pokud chcete IPv6 routy musíte si o ně říci s -6
https://tldp.org/HOWTO/Linux+IPv6-HOWTO/ch07s01.html
Edit: jinak já bych si tipnul, že chyba bude na straně serveru, pokud se nepletu tak se musí povolit v forward v /etc/sysctl.conf a pak ve wg.conf udělat pár pravidel pro firewall aby se paktery korektně předávaly z interface wg na eth
2a03:3b40:fe:12b::/64 dev venet0 proto kernel metric 256 pref medium
fd00:9::/64 dev wg0 proto kernel metric 256 pref medium
fd00:9::/64 dev wg0 metric 1024 pref medium
fe80::fcba:a7ff:fee8:b3e9 dev venet0 metric 1024 pref medium
fe80::/64 dev venet0 proto kernel metric 256 pref medium
default via fe80::fcba:a7ff:fee8:b3e9 dev venet0 metric 1024 pref medium
-
Zdravím. Jelikož ne vždy jsem tam, kde mám přístup k IPv6 internetu (ať žije KarTel), tak jsem si řekl že si nastavím na serveru Wireguard, abych se mohl připojit domů, kde mám veřejnou jen IPv6. Následoval jsem návod zde, https://nixos.wiki/wiki/WireGuard (https://nixos.wiki/wiki/WireGuard). Připojím se, ale přístup k IPv6 síti ven nemám, jen v rámci počítače, stejně je to i na OpenWrt routeru u kamaráda, tam také IPv6 jen po LANce.
Celkově tomuto tématu moc nerozumím, tak úplně nevím co dělat. V příloze posílám konfigurační soubor ze serveru. Díky.
Pokud tomu moc nerozumíš, doporučuju radši nainstalovat Cloudflare WARP (https://developers.cloudflare.com/warp-client/get-started/linux/), který dělá přesně to, o co se snažíš. Ale samozřejmě, pokud na řešení přijdeš sám, určitě se víc naučíš.
-
Stačilo nastavit sysctl net.ipv6.conf.all.forwarding=1 :D
(což by mělo dle konfigurace být, ale nějak se to neaplikuje)
-
Aktualizace: NixOS VPSAdmin šablona má maskovaný systemd-sysctl, budu si to muset nějak obejít.
-
Tak hlavně tam asi musí být nějaký NAT6, který přeloží fd00:9::/64 na veřejnou. Není lepší rovnou pro wg vyhradit jednu veřejnou /64, teda za předpokladu, že ISP dává víc než /64?
-
Záleží na tom, co je cílem. Pokud se jen dostat do vnitřní sítě, pak budou stačit ty ULA adresy. Pokud je potřeba projít skrz tu síť ven, pak je potřeba přiřadit klientovi veřejnou adresu. Vůbec to nemusí být celý rozsah (třeba /64), ale přes tunel stačí poslat jednu adresu, kterou si koncový klient přidělí na rozhraní WG a projde s ní do sítě i pak ven.