Vraag


Acties:
  • 0 Henk 'm!

  • m-snel
  • Registratie: Februari 2002
  • Laatst online: 08-03 13:24
Op mijn wat oudere USG-3P heb ik wireguard aan de gang gekregen (zie onderin of link de config).

Dit werkt perfect als ik de client (Android telefoon) configureer met enkel LAN verkeer (in mijn geval 192.168.1.x) door de tunnel en internet direct. Ook na provisionen blijft dit prima werken met onderstaande config.gateway.json in de controller).

Client configuratie:
code:
1
2
3
4
5
6
7
8
9
10
[Interface]
PrivateKey = ***private user key***
ListenPort = 51820
Address = 10.8.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = ***public server key***
AllowedIPs = 10.8.0.0/24, 192.168.1.0/24
Endpoint = ***WAN IP adres of domein***:51820


Nu wil ik op mijn telefoon ook een 2e optie van full VPN hebben (dat al het verkeer erdoor gaat) en heb hierbij deze client configuratie gebruikt:

code:
1
2
3
4
5
6
7
8
9
10
[Interface]
PrivateKey = ***private user key***
ListenPort = 51820
Address = 10.8.0.2/32
DNS = 192.168.1.1 (My USG)

[Peer]
PublicKey = ***public server key***
AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1
Endpoint = ***WAN IP adres of domein***:5182


Met deze configuratie werkt het verkeer naar mijn LAN nog steeds prima (ook bijvoorbeeld een lokale webinterface) echter internet niet.

Als ik op mijn telefoon een ping doe naar een URL krijg ik netjes een IP (dus verkeer komt aan door de tunnel en ook de DNS server reageert met het IP).
Afbeeldingslocatie: https://tweakers.net/i/2sVmJGfJkEgUDWj4EWOi8MOz9AE=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/56M1reyQJNZMwlF1tqCbWRQK.png?f=user_large

Ping ik echter een IP dan geen antwoord (direct zonder WG aan geeft hetzelfde adres wel resultaat dus ik weet dat het IP reageert op ping's).
Afbeeldingslocatie: https://tweakers.net/i/mwCP8t0Os0axd2k0IsJKPAs9oUs=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/orRU3o5x4gWOnzW3WbSFNDYW.png?f=user_large

Het verkeer van de tunnel komt via interface wg0 dus bij de Gateway (die ook DNS is) en lokaal verkeer gaat dus prima, echter bij een IP-range buiten het LAN wordt de boel niet doorgezet naar VDSL internet (PPPoE).

Waarschijnlijk iets simpels dat ik nog moet doen op de gateway/controller (een route, config.gateway.json of firewall setting) dus als iemand me een duwtje in de rug kan geven graag :)
Config:

Ip routes LAN
code:
1
2
3
4
5
6
7
8
    @USG3P:~$ show ip route
    Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
          I - ISIS, B - BGP, > - selected route, * - FIB route
    S>* 0.0.0.0/0 [1/0] is directly connected, pppoe0
    C>* 10.8.0.0/24 is directly connected, wg0
    C>* 127.0.0.0/8 is directly connected, lo
    C>* 172.25.132.1/32 is directly connected, pppoe0
    C>* 192.168.1.0/24 is directly connected, eth1


Firewall/interface
code:
1
2
3
4
5
6
7
8
9
10
11
configure
set interfaces wireguard wg0 private-key /home/ubnt/wireguard/server_keys/privatekey
set interfaces wireguard wg0 address 10.8.0.1/24
set interfaces wireguard wg0 route-allowed-ips true
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 peer ****hier public user key plaatsen***= allowed-ips 10.8.0.2/32
set interfaces wireguard wg0 peer ****hier public user key plaatsen***= description wireguard_user
set firewall name WAN_LOCAL rule 30 action accept
set firewall name WAN_LOCAL rule 30 protocol udp
set firewall name WAN_LOCAL rule 30 destination port 51820
set firewall name WAN_LOCAL rule 30 description 'WireGuard USG


Config.gateway.json op de controller
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
   "firewall":{
      "name":{
         "WAN_LOCAL":{
            "rule":{
               "30":{
                  "action":"accept",
                  "description":"WireGuard USG",
                  "destination":{
                     "port":"51820"
                  },
                  "protocol":"udp"
               }
            }
         }
      }
   },
   "interfaces":{
      "wireguard":{
         "wg0":{
            "address":[
               "10.8.0.1/24"
            ],
            "listen-port":"51820",
            "mtu":"1420",
            "peer":{
               "***public server key***":{
                  "allowed-ips":[
                     "10.8.0.2/32"
                  ],
                  "description":"wireguard_user"
               }
            },
            "private-key":"/home/ubnt/wireguard/server_keys/privatekey",
            "route-allowed-ips":"true"
         }
      }
   }
}

Alle reacties


Acties:
  • 0 Henk 'm!

  • Michiel313
  • Registratie: December 2009
  • Laatst online: 28-05 15:18
Ik ben niet helemaal thuis met een USG-3P maar mijn vermoeden is dat de firewall het Wireguard verkeer naar het internet tegenhoudt. Expliciet toestaan dat poort 80 en 443 naar het internet mogen vanuit de WG0 interface? DNS lijkt inderdaad correct te werken.

LAAG8 Blog


Acties:
  • 0 Henk 'm!

  • gwabber
  • Registratie: September 2020
  • Nu online
Ook hier geen expert van de USG, maar heb je een NAT rule aangemaakt voor het subnet van je wireguard naar je WAN?

Acties:
  • +1 Henk 'm!

  • Yariva
  • Registratie: November 2012
  • Nu online

Yariva

Moderator Internet & Netwerken

Power to the people!

Als eerst ben ik niet helemaal thuis in dit platform maar waarom doe je
code:
1
AllowedIPs = 0.0.0.0/1, 128.0.0.0/1, ::/1, 8000::/1

en niet
code:
1
AllowedIPs = 0.0.0.0/0, ::/0

?

Verder kunnen dit volgens mij weinig dingen zijn. En het troubleshooten blijft in de basis simpel voor dit soort problemen:

Check met je client of je inderdaad door de tunnel gaat met bijv. een traceroute (volgens mij is dit wel het geval anders zou je verkeer niet worden gedropped.)
Check of je een route naar buiten heb op de VPN terminatie. Check ook of je reverse path correct is anders zou hij het pakket nog wel eens kunnen droppen (is volgens mij ook niet het geval, dat scheelt je bent al redelijk ver :) )
Controleer of er een stateful firewall policy is voor verkeer vanuit de VPN tunnel naar het interface waar je default route naar toe staat.
Controleer of er een NAT regel is voor verkeer vanuit de VPN naar buiten (default route). Anders ga je RFC1918 verkeer het internet op gooien wat gegarandeerd gedropped gaat worden.

[ Voor 3% gewijzigd door Yariva op 12-08-2024 13:05 ]

Mensen zijn gelijk, maar sommige zijn gelijker dan andere | Humans need not apply


Acties:
  • +2 Henk 'm!

  • m-snel
  • Registratie: Februari 2002
  • Laatst online: 08-03 13:24
Allen zeer veel dank voor de input!

Ik vermoed dan dat het de NAT is dan inderdaad. Helaas ben ik een paar dagen weg dus kan niet gelijk kijken. Maar als ik terug ben, zal ik er even induiken hoe dat bij de USG precies zit. Ben ik eruit laat ik dat hier uiteraard weten, ook voor anderen die hier tegenaan (kunnen) lopen en in dit topic terecht komen.