Edgerouter X Wireguard + Klient Open VPN

Vår huvudtjänst.
Post Reply
tobee
Posts: 3
Joined: Fri 21 February 2020, 22:46

Edgerouter X Wireguard + Klient Open VPN

Post by tobee »

Jag har konfigurerat min Edgerouter X med Wireguard från https://github.com/Lochnair/vyatta-wireguard.

Jag hittade även en konfig till routern som tvingar all trafik genom Wireguard interfacet samt sätter integritys DNSer via DHCP. Även routern ska vara skyddad från DNS-leaks, inga googlednser eller liknande ska vara kvar. Verkar fungera bra tycker jag och trots att prestandan i Edgerouter X är rätt usel så maxar jag mitt bredband 100/100mbit. CPUn på routern går upp till 50-60% när jag tankar fullt så det verkar även finnas mer att plocka ut för den som är intresserad.

Sitter nu och funderar på om det skulle kunna tillföra något att även köra Open VPN på mina klienter? Alltså tunnla trafiken genom tunneln så att säga. Eller kan det vara så att jag istället tappar säkerhet?

Jag har testat även detta: IP-adressen jag får på Internet visar att jag kör Open VPN genom Integrity. Kopplar jag ner Open VPN på klienten så visar IPt att jag även tunnlar genom Wireguard i routern.

Jag inte ser några som helst bandbreddsförluster i att kombinera de båda.
Wireguard 100/100 mbit.
Open VPN 55/60 mbit
Open VPN + Wireguard 55/60 mbit

Båda går mot Integrity med samma konto ska tilläggas.
Markus
Posts: 85
Joined: Thu 10 January 2019, 12:17
Location: Stockholm

Re: Edgerouter X Wireguard + Klient Open VPN

Post by Markus »

Det går bra köra båda VPN på router samt på sina enheter bakom router.
Du bör inte tappa någon säkerhet om du gör så, snarare tvärom så blir det nog säkrare då även varje enhet i ditt nätverk bör vara skyddad mot eventuell man in the middle attack i ditt nätverk.
NiklasC
Posts: 1
Joined: Sun 23 February 2020, 18:07

Re: Edgerouter X Wireguard + Klient Open VPN

Post by NiklasC »

tobee, hur upplever du prestandan när du kör WG på Edgerouter? Jag hade det uppsatt tidigare men fick problem med prestandan efter några dagar. Vet inte om det var Edgerouter eller tjänsten i sig som hade problem. Tog bort det då och funderar nu på om jag ska sätta upp det igen.
tobee
Posts: 3
Joined: Fri 21 February 2020, 22:46

Re: Edgerouter X Wireguard + Klient Open VPN

Post by tobee »

Nu är det endast 4 dygn sen jag installerade Wireguard på Edgeroutern. Det är ju svårt att dra några slutsatser redan nu men prestandamässigt så ser jag inga försämringar varken på resursutnyttjande, svarstider eller bandbredd.

Faktum är att jag inte märker någon som helst skillnad mot tidigare när jag körde det mesta utan Integrity VPN. Jag har en hel del enheter av olika slag på mitt LAN som snackar med diverse molntjänster. Det finns inget som tyder på att något skulle varit nere under dessa 4 dygn. Så långt fungerar det stabilt och bra.
tobee
Posts: 3
Joined: Fri 21 February 2020, 22:46

Re: Edgerouter X Wireguard + Klient Open VPN

Post by tobee »

Något som också kan vara bra att veta då för den som vill testa med EdgeRouter är att min (enligt mig) fungerande konf ser ut på detta vis:

EdgeRouter: firmware v1.10.10
vyatta-wireguard 0.0.20191219
Drog en backup på min gamla konf och gjorde även en fabriksåterställning för att bli av med allt gammalt junk.

Bjuder på denna guide också som jag sparat åt mig själv. Den är copy pasted från nätet och justerad av mig för att fungera mot Integrity VPN. Tar ingen som helst ansvar för dålig konf eller om ni sabbar er EdgeRouter X. Men jag tycker den fungerar som jag vill =) Det enda man behöver som inte beskrivs här är att kopiera in sina integrityfiler med Win SCP eller liknande till EdgeRoutern. Samt att justera sin privata nyckel. Krävs lite grundkunskaper i hur allt funkar men det mesta går att googla sig fram till.

#Ladda ner Vyatta Wireguard(nuvarande release 0.0.20191219) på din EdgeRouter och installera. Kör SSH mot EdgeRoutern med Putty från din klient ex vis.
curl -qLs https://github.com/Lochnair/vyatta-wire ... 191219.deb -o wireguard.deb
Install
sudo dpkg -i wireguard.deb


I created what I believe to be a somewhat minimal configuration for setting up wireguard on my ER-X to act as a 'Comcast Condom' so to speak.
The goal: Route all ER-X client traffic to a hosted wireguard vpn service, don't leak DNS, fail open. I'm looking for any issues or feedback. I wanted to share because I feel like this is a common ask for people who generally aren't super familiar with the right way to set this up and because I didn't see many guides that directly catered to what I wanted which was a minimal changeset on top of the standard wizard WLAN/LAN2. In the blogs I read I noticed people solved this in a variety of ways, some of which seemed very complicated to me given my basic needs. I think their are definitely better ways to manage this if you want only very specific devices or traffic to use the VPN.
I am aware that there is (as I understand) no firewall between the WG interface and my VPN provider, I am OK with that for now, though I'm not positive I'm even right about this, I haven't tested.
# This is a reletively minimal change set to a standard ER-X WLAN-LAN-2 wizard
# setup to force all client traffic through a wireguard VPN. Integrity VPN in this case.
#
# https://github.com/Lochnair/vyatta-wireguard

configure

set firewall name WAN_LOCAL rule 30 action accept
set firewall name WAN_LOCAL rule 30 description wireguard
set firewall name WAN_LOCAL rule 30 protocol udp
set firewall name WAN_LOCAL rule 30 log disable
set firewall name WAN_LOCAL rule 30 destination port 51820
commit

# WG setup

set interfaces wireguard wg0 address 10.0.128.238/24
set interfaces wireguard wg0 listen-port 51820
set interfaces wireguard wg0 route-allowed-ips false
set interfaces wireguard wg0 peer ipW9/ysMc9vQbg/x7WK/udnl06+NJioWZZ4XIqz4PQY= endpoint wireguard.5july.net:48574
set interfaces wireguard wg0 peer ipW9/ysMc9vQbg/x7WK/udnl06+NJioWZZ4XIqz4PQY= allowed-ips 0.0.0.0/0
set interfaces wireguard wg0 private-key 'DinPrivataNyckel'=
commit

# WG Nat
set service nat rule 5000 description 'Integrity NAT'
set service nat rule 5000 outbound-interface wg0
set service nat rule 5000 source address 192.168.1.0/24
set service nat rule 5000 type masquerade
commit

# Routing to force connections through wg0 and fail open
set protocols static table 1 description 'table to force wg0:Integrity'
set protocols static table 1 interface-route 0.0.0.0/0 next-hop-interface wg0
set protocols static table 1 route 0.0.0.0/0 blackhole distance 255
commit

# Route anything DHCPing to ER-X through wireguard routing
set firewall modify integrity_route rule 10 description 'Integrity-vpn'
set firewall modify integrity_route rule 10 source address 192.168.1.0/24
set firewall modify integrity_route rule 10 modify table 1

set interfaces switch switch0 firewall in modify integrity_route
commit

# Set edgerouter to use our own choice of DNS server, not the ISP's DHCP setting
set interfaces ethernet eth0 dhcp-options name-server no-update
set system name-server 127.0.0.1
set name-server 98.128.186.86
set service dns forwarding system
commit

# Set client dns-server directly to a public IP to ensure we don't leak DNS requests
# Traffic originating from the er-x won't be routed to the firewall
set service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 dns-server 155.4.89.136

delete service dhcp-server shared-network-name LAN subnet 192.168.1.0/24 dns-server 192.168.1.1
commit
save

# Det är inte nödvändigt att göra commit efter varje steg. Man kan vara trevligt att få en bekräftelse på
# att det man skrivit fungerar.
Post Reply