Warum stellt OpenVPN eine Verbindung her, funktioniert aber nicht?

Warum stellt OpenVPN eine Verbindung her, funktioniert aber nicht?

Ich habe eine Ubuntu-Maschine, die als OpenVPN-Server in einer anderen Stadt läuft. Ich kann per SSH darauf zugreifen. Ich versuche, das VPN von einem Mac aus mit Tunnelblick zu verwenden.

Das lokale Subnetz des Servers ist 192.168.80.x. Das des Clients ist 192.168.0.x. Wenn der Client eine Verbindung herstellt, ist seine IP-Adresse 10.8.0.5.

Tunnelblick stellt eine Verbindung her, aber ich kann weder ping 8.8.8.8eine Webseite laden noch auf die Geräte im Remote-LAN zugreifen, außer auf den VPN-Server mit der Adresse 10.8.0.1.

Die Konfigurationsdatei des Clients:

client
dev tun
proto udp
remote [my server's external IP address] 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
redirect-gateway local def1

Der Server:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.80.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

Was muss ich ändern?

Bearbeiten: Auf dem Server:

$ cat /proc/sys/net/ipv4/ip_forward
1

$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

$ ip route
default via 192.168.80.1 dev enp2s0  proto static  metric 100
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1
169.254.0.0/16 dev tun0  scope link  metric 1000
192.168.80.0/24 dev enp2s0  proto kernel  scope link  src 192.168.80.5  metric 100

Bearbeitung 2:

$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  10.0.0.0/8           anywhere

/etc/default/ufw enthält DEFAULT_FORWARD_POLICY="ACCEPT".

/etc/ufw/before.rules enthält:

*nat
:POSTROUTING ACCEPT [0:0] 
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT

Antwort1

Mein Problem bestand darin, dass ich in die falsche Schnittstelle angegeben hatte /etc/ufw/before.rules. Ich hätte -A POSTROUTING -s 10.8.0.0/8 -o enp2s0 -j MASQUERADEstatt haben müssen -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE. Ich habe es unachtsam aus einer Anleitung kopiert und eingefügt.

verwandte Informationen