Toon posts:

WireGuard in LXC container in ProxMox

Pagina: 1
Acties:

Vraag


  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 25-03 09:22
Ik ben aan het proberen om mijn werkende WireGuard VPN configuratie te migreren van een fysieke RPI4 naar een Proxmox PVE host in een LXC container. In't kort wat ik gedaan heb:

1) Extra poort geforward (51821) naar de container om naast de bestaande config de nieuwe config te kunnen testen.
2) debian template container gestart
3) apt update && apt upgrade -y && apt install wireguard tcpdump qrencode
4) rsync rpi4:/etc/wireguard /etc/wireguard
5) poort aangepast naar 51821 op server en peer config files
6) onderste 2 lijnen toegevoegd aan de configuratiefile (/etc/pve/lxc/105.conf) van de container op de PVE host:
code:
1
2
3
4
5
6
7
8
9
hostname: fqdn.example.org
memory: 512
net0: name=eth0,bridge=vmbr0,gw=IP-GATEWAY,hwaddr=11:22:33:44:55:66,ip=IP-PEER/24,type=veth
onboot: 1
ostype: debian
rootfs: local-lvm:vm-105-disk-0,size=4G
swap: 512
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir

7) container herstart.
8] wg show wg0 en de peer (android smartphone) zeggen een handshake te hebben uitgewisseld en ik zie traffiek lopen. Dat zeg mij toch dat er al niets mis kan zijn met de key configuratie. Als je daar iets mist, heb je geen handshake, nul noppes niets.

Wat me wel opviel is de discrepantie tussen Tx en Rx. Normaal is dat zonder surfen (alleen handshake-verkeer) min of meer in evenwicht. Ik zie tientallen kB Tx en maar enkele honderden bytes Rx. Dat wordt ook bevestigd door een tcpdump te doen op de wireguard server.

Ik heb al eens geprobeerd om de firewall van de ProxMox server uit te schakelen (pve-firewall stop) maar dat maakte geen verschil uit.

Ik vermoed dat de config nu (onbedoeld) verkeer toelaat tussen het IP adres van de peer en de server. Dat wordt me ook bevestigd door een ping te doen. Ik krijg ICMP replies van het IP van de WireGuard server interface, maar bijv. niet van mijn router (die ik dan weer wel kan pingen vanop de console op de wireguard server, ook 8.8.8.8).

Dus ik vermoed dat er iets mis is met routering. Routering is altijd mijn zwak punt geweest, dus ik zie het niet wat er mis is. Ook vermoed ik dat er in mijn /etc/wireguard/wg0.conf file routering (postroute/preroute) lijnen mogelijk zouden kunnen missen. Maar ik heb die wel gersynced van mijn werkende WireGuard server op de RPI. Dus waarom werkt het daar wel en in de LXC container dan niet?

code:
1
2
3
4
5
root@wireguard:~# ip r
default via [IP-GATEWAY] dev eth0 onlink 
[MIJNLANSUBNET]/24 dev eth0 proto kernel scope link src [IP-PEER] 
[WIREGUARD-SUBNET]/24 dev wg0 proto kernel scope link src [IP-WIREGUARD-SERVER] 
root@wireguard:~#

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
root@wireguard:~# tcpdump -nli any port 51821
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
11:35:40.599567 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 148
11:35:40.599948 eth0  Out IP [IP-SERVER].51821 > [IP-PEER].21805: UDP, length 92
11:35:40.678199 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:40.678308 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:41.499786 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:41.551730 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:43.544775 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:43.575748 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:47.644954 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:47.659427 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 96
11:35:50.893761 eth0  Out IP [IP-SERVER].51821 > [IP-PEER].21805: UDP, length 32
11:36:08.399493 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 112
11:36:13.420689 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 112
11:36:13.830532 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 112
11:36:18.541703 eth0  Out IP [IP-SERVER].51821 > [IP-PEER].21805: UDP, length 32
11:36:18.834705 eth0  In  IP [IP-PEER].21805 > [IP-SERVER].51821: UDP, length 112


code:
1
2
3
4
5
6
7
8
9
10
11
root@wireguard:~# cat /etc/wireguard/wg0.conf 
[Interface]
PrivateKey = REDACTED
Address = [IP-SERVER]/24
MTU = 1420
ListenPort = 51821

[Peer]
PublicKey = REDACTED
PresharedKey = REDACTED
AllowedIPs = [IP-PEER]/32

Alle reacties


  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 25-03 09:22
OK, ik ben al een pak verder geraakt nu. Ik heb iptables ook geïnstalleerd en de rules van mijn RPI4 geëxporteerd en terug geīmporteerd in de LXC container, en nu lijkt het wel te werken. Ik vermoed dat ik hier en daar nog wat werk ga hebben, maar de basis werkt :)

  • 3raser
  • Registratie: Mei 2008
  • Laatst online: 27-03 16:13

3raser

⚜️ Premium member

Je zegt veel maar niet wat nu daadwerkelijk het probleem is. Tussen de regels door lijk ik te lezen dat je via je VPN geen internetverbinding hebt. Dat zou met IP forwarding te maken kunnen hebben. Iets wat je mogelijk nu hebt opgelost door je firewall rules over te nemen.

Google daar eens naar als je er meer over wilt leren.

  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 25-03 09:22
@3raser : idd, verbinding tussen server en peer werkt. Handshake OK, ping van peer naar server OK maar alles daarbuiten werkte niet. dus ping naar de gateway (mijn thuis router) werkte niet.

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 27-03 21:16

Hero of Time

Moderator LNX

There is only one Legend

Had je ook in /etc/sysctl.conf ipv4.forward aangezet?

Commandline FTW | Tweakt met mate


  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 25-03 09:22
Yes die had ik ook al aan gezet.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee