Nastavení WireGuardu na OpenWRT a Androidu

crown

  • ****
  • 383
    • Zobrazit profil
Nastavení WireGuardu na OpenWRT a Androidu
« kdy: 27. 11. 2020, 13:40:53 »
Ahoj,

snazim se podle navodu nastavit wireguard na openwrt (tourris) a na mobilu. Cil je, aby mobil pri aktivnim pripojeni tuneloval vse pres wireguard.

Nastavil jsem to na obou zarizenim - viz prilozene obrazky. na mobilu se mi objevuje klicek a pise "device connected to wireguard". Nezda se ale, ze by skutecne bylo. To same to psalo i kdyz jsem mel porty spatne.

Nevite, co mam spatne ?

Diky


« Poslední změna: 27. 11. 2020, 14:27:44 od Petr Krčmář »


by_cx

  • ****
  • 290
    • Zobrazit profil
    • E-mail
Re:Nastaveni wireguard openwrt+android
« Odpověď #1 kdy: 27. 11. 2020, 14:23:46 »
Na mobilu by allowed ips mělo být 0.0.0.0/0.

crown

  • ****
  • 383
    • Zobrazit profil
Re:Nastaveni wireguard openwrt+android
« Odpověď #2 kdy: 27. 11. 2020, 15:22:40 »
Na mobilu by allowed ips mělo být 0.0.0.0/0.

Po zmene se to zacalo chovat jinak. Po zapnuti wireguardu se nejde pripojit ani na vnitrni server, ani na internet.

Jde nekde videt nejake logy, idealne na mobilu i na openwrt?

by_cx

  • ****
  • 290
    • Zobrazit profil
    • E-mail
Re:Nastavení WireGuardu na OpenWRT a Androidu
« Odpověď #3 kdy: 27. 11. 2020, 18:23:52 »
Připojit na vnitřní server znamená, že nejde pingnout WireGuard IP adresa druhé strany?

Re:Nastavení WireGuardu na OpenWRT a Androidu
« Odpověď #4 kdy: 28. 11. 2020, 00:25:18 »
Konfigurační soubor pro připojení z mobilu nebo z počítače je stejnej => vyzkoušej z počítače, jenodušeji se testuje než z mobilu.

Rozdíl jestli jdu full provoz přes Wireguard nebo jen vybrané IP adresy je v položce AllowedIPs.
Moje konfigurace z mobilu pro plnej provoz přes Wireguard spojení je:
Kód: [Vybrat]
[Interface]
# Which networks does my interface belong to? Notice: /24 and /64
Address = 10.10.10.11/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = Uxxx....xxxx=

# Server
[Peer]
PublicKey = SExxxx...xxxx=
# I want to route everything through the server, both IPv4 and IPv6. All IPs are
# thus available through the Server, and I can expect packets from any IP to
# come from that peer.
AllowedIPs = 0.0.0.0/0

# Where is the server on the internet? This is a public address. The port
# (:51820) is the same as ListenPort in the [Interface] of the Server file above
Endpoint = 80.xxx.xxx.xxx:51820
# Usually, clients are behind NAT. to keep the connection running, keep alive.
PersistentKeepalive = 25

Neuvádíš jakej adresní prostor pro co používáš, tj. jestli máš lokální síť  10.x.x.x a ve stejným rozsahu tam dáváš WG ?
Já třeba používám pro Turrise adresní rozsah 172.20.xxx.xxx, a pro VPNky pak dávám 10.x.x.x.
Používám Turris Omnia aktuálně s verzí FW 15.05 a ty obrazovky co printscreenuješ mám vzhledově trochu jiný, zkus sem dát výpis z příkazu
Kód: [Vybrat]
uci show | grep WIREGUARD  
to bude jednodušší na porovnání.

Minimálně máš podle mě blbě ten blok Síťové rozhraní >> Wireguard - Obecné nastavení. Do toho pole IP adresy máš dát pouze jednu IP adresu a to jakou bude mít konec tvého tunelu na straně Turrise, ty tam máš daný 4, já  tam mám: 10.10.10.1/24.
A v záložce protistrany pak máš mít povolený provoz v tomhle spojení tj. typicky IP adresu kterou si přiřadil mobilu v mém případě je to:  10.10.10.11/32




crown

  • ****
  • 383
    • Zobrazit profil
Re:Nastavení WireGuardu na OpenWRT a Androidu
« Odpověď #5 kdy: 30. 11. 2020, 17:38:23 »
Diky za pomoc.

Mam tourris 1.1 a nove v nem TOS 5.1
Linux turris 4.14.206 #0 SMP Fri Nov 13 05:23:40 2020 ppc GNU/Linux

Adresni rozsah, ktery turris prideluje do domaci site je 10.0.0.x, DHCP dava od 150 vyse
Muj puvodni plan byl, ze by klienti pres wireguard byli ve stejne siti 10.0.0.x mimo rozsah DHCP
Pokud to musi byt nezavisly segment, tak ok.

root@turris:~# uci show | grep Wireguard
firewall.@zone[0].network='lan Wireguard'
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=XXX
network.@wireguard_Wireguard[0].route_allowed_ips='1'
network.@wireguard_Wireguard[0].allowed_ips='10.0.1.2'


Takhle je nastaveny firewall
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'


Je to takhle ok? (A stale mi to nejde, takze nekde neco dobre neni.)


Re:Nastavení WireGuardu na OpenWRT a Androidu
« Odpověď #6 kdy: 01. 12. 2020, 00:12:53 »
Neumím potvrdit jestli takhle přesně je to ok, ale vypadá to lépe než minule.
Každopádně otevření UDP portu na Firewallu pro přístup zvenku ok tj. firewall.@rule[10]*
Pokud si dám u sebe příkaz "uci show firewall" tak mám nastaveno pro Wireguard ještě:
Kód: [Vybrat]
firewall.@zone[4]=zone
firewall.@zone[4].name='wg'
firewall.@zone[4].input='ACCEPT'
firewall.@zone[4].forward='ACCEPT'
firewall.@zone[4].output='ACCEPT'
firewall.@zone[4].masq='1'
firewall.@zone[4].network='wg0'

Graficky to vypadá viz příloha Firewall.png .

Co vám ukazuje příkaz
Kód: [Vybrat]
wg show z jedné a z druhé strany tunelu ?

Mělo by to vypadat nějak takhle:
Kód: [Vybrat]
interface: wg0
  public key: SERxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  private key: (hidden)
  listening port: 51820

peer: Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  endpoint: 176.xxx.xxx.xxx:51027
  allowed ips: 10.10.10.11/32
  latest handshake: 33 seconds ago
  transfer: 40.93 MiB received, 10.55 MiB sent

Co vám vypíše 'ping' na adresy 10.0.1.1 a 10.0.1.2 ?
Co vám vypíše 'route' ?