openvpn: Zugang zum Internet aus einem LAN

Online-tutorials.net Forenübersicht/Tutorials/openvpn: Zugang zum Internet aus einem LAN

Antworten Neues Thema Bottom Seite 1 2 

Autor | Nachricht      nächster / vorheriger Thread

erne
Einsteiger

avatar

Registriert seit: 04.2008
Beiträge:5

openvpn: Zugang zum Internet aus einem LAN
Hallo,
vielen Dank zunächst mal für das hervorragende Tutorial.

Wir haben in unserer Schule ein offenes WLAN mit ca. 20 AP's. Aus rechtlichen Gründen und um den Traffic etwas zu begrenzen, wollen wir es möglichst einfach (partiell) sperren:
Registrierte clients (Notebooks für den Unterricht, Lehrerrechner, bei begründetem Bedarf auch Privatrechner der Schüler) sollen weiterhin Zugang zum Internet haben, der default-WLAN-Zugang soll aber lediglich auf das Intranet ("Schülernetz 128.1.1.255") sein. Verschlüsselung ist uns nicht wichtig.

Server: debian als web-/mail-/openvpn-/etc.-server
eth1: 128.1.1.250 Verbindung zum WLAN
eth2: 128.1.2.250 Verbindung zum router (128.1.2.1)
tun0: 10.8.0.1
server.conf: push "128.1.2.1", push "route 128.1.2.0 255.255.255.0" (laut Tutorial "Die schnelle, unsaubere Möglichkeit wenn wir kein vorhandenes iptables Script haben")
auf dem client: router=128.1.1.250

Das funktioniert:
Der server kann den client unter 10.8.0.6 anpingen, umgekehrt kann der client den router unter 10.8.0.1 anpingen, der Tunnel steht also.
Nach Öffnen des Tunnels läßt sich der router (128.1.2.1) vom client anpingen (sogar ohne irgendwelche Firewallregeln), ohne Tunnel nicht mehr (genau das, was wir wollen Lachend

Ein ping nach draussen liefert keine Fehlermeldung, aber auch keine Antworten cry

Mein Verdacht: Der router nimmt zwar Pakete aus dem 10.8.0.0/24-Netz an, leitet aber die Antworten zurück an das Netz nicht weiter.
Meine Hoffnung: Es fehlt nur eine iptables-Anweisung und Sie können sie mir nennen Lachend

Vielen Dank im voraus für jede Hilfe.

04.04.2008 21:44Profil >> Zitat >> IP gespeichert 
Keywords:openvpn

glua
Online-tutorials.net Team

avatar

Registriert seit: 08.2004
Wohnort:Schwarzach
Beiträge:389


bitte um folgende infos:
route -n
iptables -L
cat /proc/sys/net/ipv4/ip_forward

grüsse,
julian

07.04.2008 09:58Homepage >> icq status >>Profil >> Zitat >> IP gespeichert 

erne
Einsteiger

avatar

Registriert seit: 04.2008
Beiträge:5


route -n
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
128.1.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
128.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
128.1.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 128.1.2.1 0.0.0.0 UG 0 0
0 eth2

iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:afpovertcp
ACCEPT tcp -- anywhere anywhere tcp dpts:tcpmux:webmin
ACCEPT tcp -- anywhere anywhere tcp dpt:openvpn
ACCEPT udp -- anywhere anywhere udp dpt:openvpn
ACCEPT 0 -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- localhost/24 anywhere
ACCEPT udp -- localhost/24 anywhere
ACCEPT 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere

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

Den router kann ich wahrscheinlich anpingen, weil in der server.conf "push 128.1.2.1" eingetragen ist (muss ich morgen vor Ort ausprobieren).
Vielen Dank schonmal,
erne

07.04.2008 14:24Profil >> Zitat >> IP gespeichert 

glua
Online-tutorials.net Team

avatar

Registriert seit: 08.2004
Wohnort:Schwarzach
Beiträge:389


sorry, noch eine frage :)

was sagt iptables -t nat -L

08.04.2008 19:37Homepage >> icq status >>Profil >> Zitat >> IP gespeichert 

erne
Einsteiger

avatar

Registriert seit: 04.2008
Beiträge:5


Wenn ich die Firewall über das selbstgestrickte script starte:
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE 0 -- localhost/24 anywhere
MASQUERADE 0 -- localhost/24 anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Und über Shorewall:
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
tun0_masq 0 -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain tun0_masq (1 references)
target prot opt source destination
MASQUERADE 0 -- localhost/24 anywhere policy match dir out pol none

Funktioniert beides nicht.
Heute habe ich festgestellt, dass ich vom server den router unter seiner 2. IP aus dem 10er-Netzbereich nur anpingen kann, wenn openvpn gestoppt ist. ?????

Und vom client läßt er sich als 128.1.2.1 anpingen, wenn die server.conf den entsprechenden push-Eintrag enthält, sonst nicht. D.h. die Firewalls scheinen völlig wirkungslos zu sein, was masquerading angeht.

08.04.2008 22:20Profil >> Zitat >> IP gespeichert 

glua
Online-tutorials.net Team

avatar

Registriert seit: 08.2004
Wohnort:Schwarzach
Beiträge:389


hast du beim 'ping nach draußen' auf eine domain oder eine ip gepingt? ansonsten probier mal einen ping auf 62.2.100.201 zu machen.

mir scheint, deine iptable ist nicht ganz korrekt (wieso immer localhost als source?) - leer sie mal und probiers händisch:
iptables -t nat -A POSTROUTING -o <EXT_DEV> -s <VPN_NET> -j MASQUERADE
(z.b. iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE)

da ich bisher openvpn noch nicht als gateway verwendet habe, kann ich dir auch nicht sagen, ob meine vorschläge immer 100% richtig sind laugh

09.04.2008 09:13Homepage >> icq status >>Profil >> Zitat >> IP gespeichert 

erne
Einsteiger

avatar

Registriert seit: 04.2008
Beiträge:5


Ich habe schon einige IP's angepingt: ohne Erfolg

Der Firewallbefehl produziert auch wieder folgendes:
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE 0 -- localhost/24 anywhere
MASQUERADE 0 -- localhost/24 anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Keine Ahnung, wo das localhost her kommt.

Quote:

da ich bisher openvpn noch nicht als gateway verwendet habe, kann ich dir auch nicht sagen, ob meine vorschläge immer 100% richtig sind laugh



Niemand scheint openvpn LAN->WAN zu verwenden ist mein Eindruck.
Gibt es denn eine andere einfache Lösung meines Problems? (RADIUS-Server klappte nicht wg. Inkompatibilität mit einigen clients, WPA ohne RADIUS ist zu aufwändig bei 20 AP's ...)

11.04.2008 13:57Profil >> Zitat >> IP gespeichert 

glua
Online-tutorials.net Team

avatar

Registriert seit: 08.2004
Wohnort:Schwarzach
Beiträge:389


so..habs jetzt aus neugier selbst ausprobiert und es hat prima geklappt :)

auf dem server hab ich gemacht:

Code:


openvpn:/etc/openvpn# iptables -A POSTROUTING -t nat -o eth0 -s 10.0.0.0/24 -j MASQUERADE
openvpn:/etc/openvpn# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

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

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
openvpn:/etc/openvpn# cat /proc/sys/net/ipv4/conf/default/forwarding
1
openvpn:/etc/openvpn# cat /proc/sys/net/ipv4/ip_forward
1



in der client-config musste ich nur folgende Zeilen ergänzen:
route-gateway 10.0.0.1
redirect-gateway local

dinge wie 'push route' waren dabei nicht nötig.

als server hab ich debian 4 mit openvpn 2.0 und einer einzelnen netzwerkkarte verwendet, der client ist ein gentoo-test-pc mit openvpn 2.0.

grüße,
julian

12.04.2008 16:45Homepage >> icq status >>Profil >> Zitat >> IP gespeichert 
                   nächster / vorheriger Thread

Antworten Neues Thema Top Seite 1 2