In ein privates Netz hinter OpenVPN-Server routen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
lebenskuenstler
Beiträge: 8
Registriert: 15.07.2011 19:47:31

In ein privates Netz hinter OpenVPN-Server routen

Beitrag von lebenskuenstler » 12.02.2012 20:00:12

Hallo,

ich hoffe, meine Frage ist nicht zu dämlich, aber ich komme gerade nicht weiter. Ich habe einen OpenVPN-Server mit einer öffentlichen IP a.b.c.d und einem privatem Netz 10.0.1.0/24, desen Bestandteil er ist. Mein VPN hat das private Netz 172.16.10.0/24.

Ich möchte von meinem Client aus auf Rechner des Netzes 10.0.1.0/24 zugreifen können, weil die teilweise keine öffentliche IP haben.

Meine server.conf (grep -vE '#|;' /etc/openvpn/server.conf)

Code: Alles auswählen

port 48048
proto udp
dev tun
ca /etc/openvpn/easy-rsa2/keys/ca.crt
cert /etc/openvpn/easy-rsa2/keys/server.crt
dh /etc/openvpn/easy-rsa2/keys/dh1024.pem
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.1.0 255.255.255.0"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append  /var/log/openvpn.log
verb 3
mute 20
Routen auf dem Server (route -n)

Code: Alles auswählen

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.10.2     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
a.b.c.d    0.0.0.0         255.255.255.255 UH    0      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.16.10.0     172.16.10.2     255.255.255.0   UG    0      0        0 tun0
0.0.0.0         a.b.c.d    0.0.0.0         UG    0      0        0 eth0
client.conf (grep -vE '#|;' /etc/openvpn/client.conf)

Code: Alles auswählen

client
dev tun
proto udp
remote a.b.c.d 48048
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 3
Routen auf dem Client (route -n)

Code: Alles auswählen

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth0
10.0.1.0        172.16.10.5     255.255.255.0   UG    0      0        0 tun0
172.16.10.1     172.16.10.5     255.255.255.255 UGH   0      0        0 tun0
172.16.10.5     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
Mit diesem Stand kann ich über desen private Adresse (10.0.1.10) den SSH-Dienst auf dem Server ansprechen, aber nichts was nicht auf dem Tunnelendpunkt liegt.

Meine Firewall funkt nicht dazwischen, die habe ich für den Test deaktiviert. Ach ja, ip_forwarding ist auf dem Server auch aktiviert.
Die eingesetzte Debian Version ist 6.0.4 mit dem Standard-Kernel.

Wo liegt also mein Fehler? Haue mir bitte jemand auf den Hinterkopf :)

Dank im Voraus.

Dank im Voraus.

lebenskuenstler
Beiträge: 8
Registriert: 15.07.2011 19:47:31

Re: In ein privates Netz hinter OpenVPN-Server routen

Beitrag von lebenskuenstler » 13.02.2012 03:21:13

Aha, das hier war das fehlende Quentchen:

Der OpenVPN-Server muss noch zum Gateway gemacht werden:

Code: Alles auswählen

iptables -t nat -A POSTROUTING -s 172.16.10.0/24 -j SNAT --to-source 10.0.1.10

Antworten