Proxmox Wireguard vmbr1

JasonBorn

Member
Mar 4, 2021
28
2
8
36
Hallo zusammen,
ich hoffe ihr könnt mir helfen. Und zwar versuche ich einen Wireguard Host in einem LXC aufzubauen, der eine anderes Gateway verwendet.
Die Bridge vmbr1 ist folgend konigurier und hat auch Zugang zum Internet:
/etc/pve/lxc/108.conf:
Code:
arch: amd64
cores: 2
features: keyctl=1
hostname: wireguard2
memory: 2048
net0: name=eth0,bridge=vmbr1,gw=192.168.1.1,hwaddr=xx:xx:xx:xx:xx:xx,ip=192.168.1.2/24,type=veth
onboot: 1
ostype: ubuntu
rootfs: local-lvm:vm-108-disk-0,size=12G
swap: 2048
unprivileged: 1
lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir


/etc/network/interfaces:
Code:
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE

/etc/wireguard/wg0.conf:
Code:
# Do not alter the commented lines
# They are used by wireguard-install
# ENDPOINT ***cam.spdns.eu

[Interface]
Address = 10.7.0.1/24
PrivateKey = ****
ListenPort = 51821
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE


# BEGIN_PEER test
[Peer]
PublicKey = ****
PresharedKey = ****
AllowedIPs = 10.7.0.2/32
# END_PEER test

test.conf:
Code:
 GNU nano 6.2                                                                      test.conf                                                                             
[Interface]
Address = 10.7.0.2/24
DNS = 192.168.178.1
PrivateKey = ****

[Peer]
PublicKey = ****
PresharedKey = ****
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = ***cam.spdns.eu:51821
PersistentKeepalive = 25



Port 51821 (ja 1, ist gewollt) ist weitergereicht auf der Fritzbox.
Wenn ich einen LXC mit der vmbr0 Brigde erstelle, funktioniert es tadellos. Da ich aber von einer entfernten Fritzbox mit der gleichen DNS (192.168.178.1) zugreifen will, funktioniert dies nicht. Darum benötige ich eine andere DNS Range.
 
Last edited:
Was jetzt, .178.1 oder .179.1?
Gibt es jeweils auch eine Route da hin?
 
Bleibt die Frage nach der Route. Wie kommt 10.7.0.1 nach draußen? Über welches Gateway?
 
ip a bzw. ip route oder, bei installiertem net-tools, route. Sowohl in der vm als auch auf dem host.
ip a pve (ist das normal, dass das so viel sind?):
Code:
root@pve:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 24:6e:96:0a:dc:a4 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f0
3: enp3s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b4:96:91:d3:f4:58 brd ff:ff:ff:ff:ff:ff
4: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 24:6e:96:0a:dc:a6 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f1
5: enp3s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b4:96:91:d3:f4:59 brd ff:ff:ff:ff:ff:ff
6: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 24:6e:96:0a:dc:a8 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f2
7: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 24:6e:96:0a:dc:aa brd ff:ff:ff:ff:ff:ff
    altname enp1s0f3
8: enp3s0f2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b4:96:91:d3:f4:5a brd ff:ff:ff:ff:ff:ff
9: enp3s0f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000
    link/ether b4:96:91:d3:f4:5b brd ff:ff:ff:ff:ff:ff
10: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b4:96:91:d3:f4:5b brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.58/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::b696:91ff:fed3:f45b/64 scope link
       valid_lft forever preferred_lft forever
11: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether a2:dd:29:05:fb:35 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::a0dd:29ff:fe05:fb35/64 scope link
       valid_lft forever preferred_lft forever
12: tap101i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr101i0 state UNKNOWN group default qlen 1000
    link/ether 22:2d:ea:ad:1c:d8 brd ff:ff:ff:ff:ff:ff
13: fwbr101i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d6:a2:80:f0:6a:18 brd ff:ff:ff:ff:ff:ff
14: fwpr101p0@fwln101i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 7a:2d:cb:c5:73:97 brd ff:ff:ff:ff:ff:ff
15: fwln101i0@fwpr101p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr101i0 state UP group default qlen 1000
    link/ether 8a:bd:b8:25:5b:dd brd ff:ff:ff:ff:ff:ff
16: veth104i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr104i0 state UP group default qlen 1000
    link/ether fe:14:10:08:70:f6 brd ff:ff:ff:ff:ff:ff link-netnsid 0
17: fwbr104i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b6:93:7d:18:5a:6a brd ff:ff:ff:ff:ff:ff
18: fwpr104p0@fwln104i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 4e:c9:23:ee:4f:8a brd ff:ff:ff:ff:ff:ff
19: fwln104i0@fwpr104p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr104i0 state UP group default qlen 1000
    link/ether 8e:0f:75:83:2f:b5 brd ff:ff:ff:ff:ff:ff
20: veth105i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr105i0 state UP group default qlen 1000
    link/ether fe:f5:a8:2d:d9:80 brd ff:ff:ff:ff:ff:ff link-netnsid 1
21: fwbr105i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1e:34:38:f4:85:d8 brd ff:ff:ff:ff:ff:ff
22: fwpr105p0@fwln105i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 0a:71:48:03:69:9b brd ff:ff:ff:ff:ff:ff
23: fwln105i0@fwpr105p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr105i0 state UP group default qlen 1000
    link/ether 7e:f2:ab:9d:67:77 brd ff:ff:ff:ff:ff:ff
24: veth106i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr106i0 state UP group default qlen 1000
    link/ether fe:b3:90:32:45:a6 brd ff:ff:ff:ff:ff:ff link-netnsid 2
25: fwbr106i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3a:84:bd:b4:8d:44 brd ff:ff:ff:ff:ff:ff
26: fwpr106p0@fwln106i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 22:40:28:98:5d:8c brd ff:ff:ff:ff:ff:ff
27: fwln106i0@fwpr106p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr106i0 state UP group default qlen 1000
    link/ether d2:85:4c:23:58:21 brd ff:ff:ff:ff:ff:ff
28: veth107i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr107i0 state UP group default qlen 1000
    link/ether fe:0d:77:cc:3b:50 brd ff:ff:ff:ff:ff:ff link-netnsid 3
29: fwbr107i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 66:01:66:f1:41:62 brd ff:ff:ff:ff:ff:ff
30: fwpr107p0@fwln107i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 46:ee:b4:34:4f:0f brd ff:ff:ff:ff:ff:ff
31: fwln107i0@fwpr107p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr107i0 state UP group default qlen 1000
    link/ether 86:bc:96:d3:99:3b brd ff:ff:ff:ff:ff:ff
32: veth108i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr1 state UP group default qlen 1000
    link/ether fe:de:4f:9c:a9:47 brd ff:ff:ff:ff:ff:ff link-netnsid 4
41: veth100i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr100i0 state UP group default qlen 1000
    link/ether fe:7a:1a:1a:d9:9c brd ff:ff:ff:ff:ff:ff link-netnsid 5
42: fwbr100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b2:52:ae:de:21:79 brd ff:ff:ff:ff:ff:ff
43: fwpr100p0@fwln100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
    link/ether 46:38:eb:03:26:cd brd ff:ff:ff:ff:ff:ff
44: fwln100i0@fwpr100p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr100i0 state UP group default qlen 1000
    link/ether 9a:dd:34:fe:d1:1b brd ff:ff:ff:ff:ff:ff
root@pve:~#

ip a LXC:
Code:
root@wireguard2:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0@if32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 86:10:74:19:e0:73 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::8410:74ff:fe19:e073/64 scope link
       valid_lft forever preferred_lft forever
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.7.0.1/24 scope global wg0
       valid_lft forever preferred_lft forever

ip route pve:
Code:
root@pve:~# ip route
default via 192.168.178.1 dev vmbr0 proto kernel onlink
192.168.1.0/24 dev vmbr1 proto kernel scope link src 192.168.1.1
192.168.178.0/24 dev vmbr0 proto kernel scope link src 192.168.178.58

ip route LXC:
Code:
root@wireguard2:~# ip route
default via 192.168.1.1 dev eth0 proto static
10.7.0.0/24 dev wg0 proto kernel scope link src 10.7.0.1
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2

net-tools ist nicht installiert
 
Hallo,

Ein Wireguard-Client hat keine Möglichkeit, auf deinen Wireguard-LXC zuzugreifen. Deine wg.conf hat als Endpoint
REDACTED:51821 eingetragen, das wird auf eine öffentliche IP-Adresse zeigen. Pakete, die "von außen" an diese IP versendet werden müssen irgendwie an deinen Container kommen, entweder weil dieser diese IP selbst hält (und entsprechend ein Interface direkt im WAN besitzt) oder weil diese IP von einem Router/Firewall gehalten wird und entsprechende Portweiterleitungen an deinen LXC eingerichtet sind.

ip a pve (ist das normal, dass das so viel sind?):
Ja, das ist normal, denn Proxmox erstellt für jedes virtuelle Interface (VM-Netzwerkkarte oder LXC-Interface) einen entsprechenden EIntrag. Zum Beispiel entspricht tap101i0 der ersten Netzwerkkarte deiner VM mit Nummer 101 .
 
Last edited:
Hallo,

Ein Wireguard-Client hat keine Möglichkeit, auf deinen Wireguard-LXC zuzugreifen. Deine wg.conf hat als Endpoint
REDACTED:51821 eingetragen, das wird auf eine öffentliche IP-Adresse zeigen. Pakete, die "von außen" an diese IP versendet werden müssen irgendwie an deinen Container kommen, entweder weil dieser diese IP selbst hält (und entsprechend ein Interface direkt im WAN besitzt) oder weil diese IP von einem Router/Firewall gehalten wird und entsprechende Portweiterleitungen an deinen LXC eingerichtet sind.


Ja, das ist normal, denn Proxmox erstellt für jedes virtuelle Interface (VM-Netzwerkkarte oder LXC-Interface) einen entsprechenden EIntrag. Zum Beispiel entspricht tap101i0 der ersten Netzwerkkarte deiner VM mit Nummer 101 .
Ok, wo setze ich jetzt genau an? Möglich muss es ja irgendwie sein. Mein Vorhaben ist eigentlich auch nicht so Umfangreich. Ich möchte nur einen VPN Tunnel auf einen LXC, welcher einen anderen IP Adressenbereich als mein pve hat. Dieser LXC sollte halt die anderen Container und VMs auch erreichen können und dürfen. Im gleichen Adressenbereich habe ich keine Einstellungsprobleme.
 
VPN ist aber nun einmal dafür gedacht, daß Du alles im gleichen Adreßbereich hast. Wenn nicht, wird's kompliziert, dann landest Du bei Double- oder gar Triple-NAT, und das ist alles sehr eklig.
 
VPN ist aber nun einmal dafür gedacht, daß Du alles im gleichen Adreßbereich hast. Wenn nicht, wird's kompliziert, dann landest Du bei Double- oder gar Triple-NAT, und das ist alles sehr eklig.
ok, verstanden. Würde es eine Alternative für mein Problem geben? Ich brauche einen anderen Adressbereich, da ich vom gleichen Adressbereich (192.168.178.x) zugreifen will.
 
Hallo,

Ein Wireguard-Client hat keine Möglichkeit, auf deinen Wireguard-LXC zuzugreifen. Deine wg.conf hat als Endpoint
REDACTED:51821 eingetragen, das wird auf eine öffentliche IP-Adresse zeigen. Pakete, die "von außen" an diese IP versendet werden müssen irgendwie an deinen Container kommen, entweder weil dieser diese IP selbst hält (und entsprechend ein Interface direkt im WAN besitzt) oder weil diese IP von einem Router/Firewall gehalten wird und entsprechende Portweiterleitungen an deinen LXC eingerichtet sind.


Ja, das ist normal, denn Proxmox erstellt für jedes virtuelle Interface (VM-Netzwerkkarte oder LXC-Interface) einen entsprechenden EIntrag. Zum Beispiel entspricht tap101i0 der ersten Netzwerkkarte deiner VM mit Nummer 101 .
Habe ein aehnliches Setup, nur das vmbr0 bei mir die oeffentliche root-server ip ist.
vmbr1 ist 10.0.0.0/24. Ich habe auch mit
-A PREROUTING -i vmbr0 -p udp -m udp --dport 51280 -j DNAT --to-destination 10.0.0.105:51820
von der oeffentlichen IP weitergeleitet, aber kriege keine verbindung hin, weder unter clients in der wg0 10.6.0.1/24 noch zum internet.
Ich will weder auf irgendwelche VMs oder sonst noch was mit dem VPN zugreifen.
Ich moechte nur mit dem VPN in's Internet gehen koennen und dass sich die WireGuard CLients untereinander erreichen koennen.

Hier meine genaue Issue auf github bei pivpn.

https://github.com/pivpn/pivpn/issues/1718
 
Habe ein aehnliches Setup, nur das vmbr0 bei mir die oeffentliche root-server ip ist.
vmbr1 ist 10.0.0.0/24. Ich habe auch mit
-A PREROUTING -i vmbr0 -p udp -m udp --dport 51280 -j DNAT --to-destination 10.0.0.105:51820
von der oeffentlichen IP weitergeleitet, aber kriege keine verbindung hin, weder unter clients in der wg0 10.6.0.1/24 noch zum internet.
Ich will weder auf irgendwelche VMs oder sonst noch was mit dem VPN zugreifen.
Ich moechte nur mit dem VPN in's Internet gehen koennen und dass sich die WireGuard CLients untereinander erreichen koennen.

Hier meine genaue Issue auf github bei pivpn.

https://github.com/pivpn/pivpn/issues/1718
Loesbar in dem man die wg0.conf aendert mit unter [Interfaces] aber vor [Peers]:
Code:
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
 
  • Like
Reactions: mow

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!