[fli4l] Separater VPN-serv?==?utf-8?Q?er hinter fli4l - ROUTE oder?==?utf-8?Q? FORWARD nötig?

K. Dreier usenetforum at gmx.net
Mo Nov 13 15:37:59 CET 2017


Hallo,

Situation ist wie folgt:
fli4l (4.0-testing) arbeitet als Ethernet Router hinter einem
Kabelmodem. Im LAN hängt ein Linux-OpenVPN Server. Ich habe also
_nicht_ auf dem fli4l ein VPN eingerichtet, sondern auf einem separaten
Rechner im LAN.

Das VPN funktioniert insofern, als daß sich ein client von aussen mit
dem VPN verbinden kann und eine VPN-IP bekommt im Stile von 10.8.0.x.
Auch kann ich - sobald mit dem VPN verbunden - vom remote-client aus via
SSH auf den fli4l oder VPN-Rechner zugreifen. Wohlgemerkt unter
Verwendung der "normalen" LAN-IP dieser Rechner, also im Stile von
192.168.1.yyy. 

Was nicht funktioniert ist, daß sämtlicher Traffic über den VPN
läuft. Sobald ich das auf dem VPN-Server einstelle, dann kann ich zwar
weiterhin via SSH auf die Rechner (siehe oben), aber der VPN-client
bekommt keinen Zugriff mehr ins Internet. Ich vermute mal, daß es an
einer fehlenden Route für das VPN-Netz (10.8...) liegt.

Einstellungen sind wie folgt:

- auf der VPN-Maschine in der VPN config:
-- dev tun (also routing mode und nicht bridge mode; würde mir evtl
bridge mode helfen?)
-- push "route 192.168.1.0 255.255.255.0"
-- push "redirect-gateway def1 bypass-dhcp" (<-- das aktiviert führt
zum beschriebenen Problem)
-- push "dhcp-option DNS 208.67.222.222" (oder auch fli4l-IP als
DNS-Server, aber macht keinen Unterschied für den Moment)
-- client-to-client aktiv
-- fixe IP für VPN-clients via ccd-Einträgen; also "client-config-dir"
aktiv und dann eine Datei für den jeweiligen client mit einem Eintrag
von, z.B. "ifconfig 10.8.0.3 255.255.255.0". Keine weiteren Einträge
dort, und der route-Eintrag in der Standard-OpenVPN-config an dieser
Stelle unter der Angabe des config-dir ist inaktiv. Der VPN-client
jedenfalls bekommt die IP wie gewünscht. Evtl aber muss ich hier zur
Lösung noch etwas ergänzen, ich weiss es nicht.

- allgemein auf der VPN-Maschine:
-- /etc/sysctl.conf mit "net.ipv4.ip_forward=1"
-- Firewall fürs testen deaktiviert
-- IPv6 ist erstmal deaktiviert, da das anderweitig verschiedene Fehler
produziert hat

Ich vermute jetzt, daß ich in der fli4l-config einen Eintrag bei
IP_ROUTE setzen muß?
Also jetzt
IP_ROUTE_N='1'
IP_ROUTE_1='10.8.0.0/24 192.168.1.249' # .249 = VPN-Server im LAN2 des
fli4l
oder etwas derartiges?
Wäre das in der Tat so nötig: brauche ich dann noch eine default route
wie es in der Doku steht? Bisher hatte ich _gar_ keinen Eintrag bei
IP_ROUTE_ und das hat einwandfrei funktioniert.

Brauche ich noch Einträge bei POSTROUTING? Eigentlich doch nicht, da
der VPN-server ja im LAN2 liegt und damit via das allgemeine
LAN2-POSTROUTING erfasst wird - oder? Ich habe dort:
PF_POSTROUTING_N='2'     				# number of POSTROUTING rules
PF_POSTROUTING_1='IP_NET_2 IP_NET_3 ACCEPT BIDIRECTIONAL'	# no
masquerading between NET_2 and NET_3
PF_POSTROUTING_2='if:any:IP_NET_1_DEV MASQUERADE'		# masquerade traffic
leaving the WAN-NIC
(LAN3 ist ein weiteres internes LAN, das mit dem VPN nix zu hat/haben
soll)

Ist noch irgendetwas bei den FORWARD-Regeln nötig? Ich möchte
eigentlich vom remote-client auf z.B. LAN-interne Webinterfaces
zugreifen können, welche dann über 192.168.1.yyy erreichbar wären.
Andererseits ist der VPN-Server ja im LAN2 in welchem jene clients auch
hingen.

Danke für Feedback,

Gruß
Klaus


Mehr Informationen über die Mailingliste Fli4L