Fórum Root.cz
Hlavní témata => Sítě => Téma založeno: crown 24. 10. 2022, 15:57:24
-
Snazim se nastavit Wireguard na OpenWRT routeru (turris 1.1) a klienta na Androidu.
Takhle to vypada na strane routeru, rozhrani pro wireguard vypada, ze je zalozene, firewall ma povoleny vstup na port 51820.
Kdyz na Androidu zapnu wireguard, tak aplikace zobrazi zamecek, ale spis to vypada, ze se na server vubec nepripoji. Musim tam delat neco spatne.
-
A takhle to vypada na strane Android klienta.
Poradite nekdo, co mam zkusit ? Diky moc.
-
Nejsem si úplně jist, jak zrovna v Turrisu, že je to rozhraní česky diagnóze moc nepomáhá, ale možná by mě zajímala záložka "protistrany". Já mám u každého peera nastavené allowed ips specificky na jeho statickou adresu případně na další adresy pokud se přes něj něco routuje. A skoro mám dojem, že bez toho se WireGuard tvářil dost neochotně s peery komunikovat.
(Je to už ale docela doba, co jsem je konfiguroval, takže je možnost, že si to nepamatuju dobře.)
-
Podle těch nul u síťového rozhraní se to ani nespojilo. Problém bude ve špatné konfiguraci protistran, jak píše Martin, musíme vidět, jak vypadají protistrany na Turrisu. V první řadě je potřeba překontrolovat znovu veřejné klíče obou stran, stejně jako povolené IP adresy. Ty adresy musejí sedět k tomu, co budou jednotliví partneři skutečně odesílat, protože WireGuard po přijetí a vybalení zkontroluje, že odchozí adresy odpovídají. Pokud ne, tak je komunikace zahozena.
-
Takhle vypada nastaveni na turrisu. Do allowed IPs se vyplnuje vnitrni adresa v tunelu ?
Klice jsou vyplneny pomoci QR kodu, ktery generuje LUCI.
Nejaky napad? Diky.
root@turris:~# pgrep -f -a wg; wg show; wg showconf vpn
6189 wg-crypt-Wiregu
interface: Wireguard
public key: RjeGqFciYjXz5qTfWVyD2yxrsNdyDNZL8/tn6N+ryVI=
private key: (hidden)
listening port: 51820
peer: 6DVJICz645GVzqcyDiSZUKltYUJ8aS2Ay8QnHqTMRDY=
allowed ips: 10.0.1.2/32
Unable to access interface: No such device
root@turris:~# ip address show
28: Wireguard: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.0.1.1/24 brd 10.0.1.255 scope global Wireguard
valid_lft forever preferred_lft forever
root@turris:~# uci show network
network.Wireguard=interface
network.Wireguard.proto='wireguard'
network.Wireguard.private_key=XXX
network.Wireguard.addresses='10.0.1.1/24'
network.Wireguard.listen_port='51820'
network.@wireguard_Wireguard[0]=wireguard_Wireguard
network.@wireguard_Wireguard[0].public_key='6DVJICz645GVzqcyDiSZUKltYUJ8aS2Ay8QnHqTMRDY='
network.@wireguard_Wireguard[0].route_allowed_ips='1'
network.@wireguard_Wireguard[0].allowed_ips='10.0.1.2'
network.@wireguard_Wireguard[0].description='Mobil'
root@turris:~# uci show firewall | grep 10
firewall.@rule[10]=rule
firewall.@rule[10].src='wan'
firewall.@rule[10].name='wireguard'
firewall.@rule[10].dest='lan'
firewall.@rule[10].target='ACCEPT'
firewall.@rule[10].proto='udp'
firewall.@rule[10].dest_port='51820'
-
AllowedIPs určuje, jaké adresy z toho tunelu mohou lézt. Zároveň to vytváří v místní směrovací tabulce příslušné záznamy, aby ty rozsahy byly posílány správně do tunelu.
Záleží tedy na tom, jaké sítě za tím tunelem jsou, ty všechny je potřeba na protistraně povolit. Jinak tím tunelem provoz neprojde, protože ho na příjmu WireGuard zahodí, jelikož zdrojové adresy nejsou mezi povolenými.
Příklad: pokud jsem klient a na druhé straně mám i firemní síť 10.20.30.0/24, tak ji musím mít u sebe u příslušného partnera v allowed. Jinak s tou sítí nebudu komunikovat. Dá se tam samozřejmě uvádět víc různých sítí, což povolí další rozsahy a vytvoří příslušný počet rout v tabulce.
-
Jde nejak zapnout diagnostika, nebo kouknout nekam do logu, abych videl, jestli wireguard packety zahazuje a proc, pripadne, ze vubec nedorazi ?
-
Ano, modul v linuxovém jádře loguje do ring bufferu, který se pak prohlíží pomocí dmesg nebo journalctl. Zapíná se to takto:
# echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control