Autor
|
|
Nachricht nächster / vorheriger Thread
|
erne Einsteiger
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
Ein ping nach draussen liefert keine Fehlermeldung, aber auch keine Antworten
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
Vielen Dank im voraus für jede Hilfe.
|
04.04.2008 21:44 | Profil >> Zitat >> IP gespeichert |
Keywords:openvpn |
---|
glua Online-tutorials.net Team
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:58 | Homepage >> >>Profil >> Zitat >> IP gespeichert |
erne Einsteiger
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:24 | Profil >> Zitat >> IP gespeichert |
glua Online-tutorials.net Team
Registriert seit: 08.2004 Wohnort:Schwarzach Beiträge:389
| sorry, noch eine frage :)
was sagt iptables -t nat -L
|
08.04.2008 19:37 | Homepage >> >>Profil >> Zitat >> IP gespeichert |
erne Einsteiger
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:20 | Profil >> Zitat >> IP gespeichert |
glua Online-tutorials.net Team
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
|
09.04.2008 09:13 | Homepage >> >>Profil >> Zitat >> IP gespeichert |
erne Einsteiger
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
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:57 | Profil >> Zitat >> IP gespeichert |
glua Online-tutorials.net Team
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:45 | Homepage >> >>Profil >> Zitat >> IP gespeichert |
|
nächster / vorheriger Thread
|