LXC als openvpn-Server keine Netzwerkverbindung

Banis

Member
Feb 20, 2019
5
0
21
44
Hallo zusammen,

ich versuche derzeit in einem Linux Container einen openvpn Server ans laufen zu bekommen.

Das hat soweit auch funktioniert und ich kann von meinem Handy aus eine Verbindung aufbauen. Leider komme ich dann aber mit dem Handy weder ins Netzwerk vom VPN Server noch ins Internet.

Folgende Configurationen habe ich
Openvpn config
Code:
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/1.crt
key /etc/openvpn/easy-rsa/keys/1.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push "redirect-gateway def1 bypass-dhcp"
#set the dns servers
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
log-append /var/log/openvpn
comp-lzo
duplicate-cn
keepalive 10 120
Mit dieser Konfiguration habe ich einem openvpn-Server auf einem Raspberry ohne Probleme am laufen. Deshalb gehe ich nicht davon aus dass es hieran liegt.

in der lxc config habe ich folgendes ergänzt:
Code:
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,optional,create=file
lxc.cgroup.devices.allow: c 10:200 rwm
#lxc.hook.autodev: sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"

Kann mein Problem daran liegen, dass ich die untere Zeile wieder auskommentieren musste?

Oder habt ihr sonst eine Idee die mein Problem lösen könnte?
 
Ich habe in der Fritzbox den Port 1194 für den lxc Container freigegeben.

Wie kann ich nat aktivieren?
 
Du musst das Nat auf dem Container aktivieren sowie ip forward

Code:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -j MASQUERADE
 
Super, das war die Lösung. Vielen Dank.

Jetzt hat sich schon eine neue Frage ergeben

Der Befehl
sysctl -w net.ipv4.ip_forward=1

kann ich in
/etc/sysctl.conf
dauerhaft, also auch nach dem Neustarkt aktivieren.

wo kann ich
iptables -t nat -A POSTROUTING -j MASQUERADE

so hinterlegen, dass er auch nach dem Neustart des Containers automatisch ausgeführt wird?

In /etc/rc.local? Die Datei hat bei mir nicht existiert, hab sie zwar angelegt aber funktioniert leider nicht
 
in der sysctl:
Code:
net.ipv4.ip_forward=1
iptables z.b per crontab:
Code:
crontab -e

@reboot /sbin/iptables -t nat -A POSTROUTING  -j MASQUERADE
 

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!