Über uns
Know-how
FAQ
Projektverlauf
Technikbereich
Ip-Vergabe
Organisation / Termine
Community
Forum
Karte
Gästebuch
Partner
Sonstiges
Downloads
Gallery
Spenden-Topf
Forum Startseite Wiki Karte Forum
WLanhsh & WLanwse Foren-Übersicht WLanhsh & WLanwse
Forum des WLan Hohenschönhausen und des WLan Weißensee
wlanhsh.freifunk.net
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

VPN auf der Freifunkfirmware

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    WLanhsh & WLanwse Foren-Übersicht -> WLan Technik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Patrick



Anmeldedatum: 01.11.2004
Beiträge: 88
Wohnort: Berlin Marzahn

BeitragVerfasst am: 09.04.2005, 13:00    Titel: VPN auf der Freifunkfirmware Antworten mit Zitat

hallo...

ich hab mich die letzen wochen sehr intensiv mit VPN
auf PPTP-basis für unseren WRT beschäftigt.
auf dem treffen gestern ist mir aufgefallen daß das thema
sicherheit von großem interesse ist und möchte hier mal kurz
von meiner vorgehensweise berichten. is alles nich so schwer wenn man mal weiss wie es geht.Smilie

alsoo

nach dem aufspielen der freifunkfirmware 0.6.8 müssen einige pakete über
die commandshell ssh per "wget" und "ipkg install" nachinstalliert werden.

http://212.91.225.42/sven-ola/ipkg/freifunk-pppoecd-de_0.6.8_mipsel.ipk
http://openwrt.org/ipkg/ppp_2.4.2-1_mipsel.ipk
http://openwrt.org/ipkg/pptp-server_1.1.3-1_mipsel.ipk
http://openwrt.org/ipkg/kmod-ppp-mppe-mppc_2.4.20-1_mipsel.ipk
http://openwrt.org/ipkg/kmod-ppp-async_2.4.20-1_mipsel.ipk

hilfreich ist vieleicht auch ein kleiner ftpserver auf dem notebook um die pakete
von dort auf den wrt zu bekommen.

http://www.pablovandermeer.nl hat einen sehr guten

danach müssen einige files auf dem wrt editiert werden.
das macht man mit dem editor "vi" in der shell. wie dieser editor und weitere
kommandos zu handhaben sind sollte man sich ergoogeln.

die datei "/etc/ppp/pptp-server-options"

#debug
#logfile /tmp/pptp-server.log
192.168.2.1: #ip des vpn-servers
auth
name "pptp-server"
lcp-echo-failure 3
lcp-echo-interval 60
default-asyncmap
mtu 1480 #pakete sollten nich größer
mru 1480 #als 1492 sein
nobsdcomp
nodeflate
#noproxyarp
#nomppc
nomppe-40
nomppe-56
nomppe-stateful
require-mppe
require-mppe-128
require-mschap-v2
refuse-chap
refuse-mschap
refuse-eap
refuse-pap
ms-dns 192.168.1.1
ms-wins 192.168.1.1
#plugin radius.so
#radius-config-file /etc/radius.conf

die datei "/etc/ppp/chap-secrets"

#folgendes format
#username server password remoteip
#
#es können auch mehr als ein user gleichzeitig connecten
#und jeder bekommt eine feste remoteip
#
#beispiel

sven pptp-server hastenichjesehn 192.168.2.2
alfred pptp-server alfredspasswort 192.168.2.3
#usw

die datei "/etc/ppp/ip-up" ist besonders wichtig weil hier normalerweise die default route gesetzt
und die firewallregeln für jede ppp-verbindung eingerichtet werden
zu unterscheiden sind jetz das pppoe-device und das pptp-device
beide fangen blöderweise mit ppp an Smilie


das ist der auszug für die pppoe-regeln

# set default route
route add default gw $IPREMOTE dev $IFNAME
iptables -t nat -A POSTROUTING -o $IFNAME -j MASQUERADE

if [ "$(nvram get fw_disable)" != "1" ]; then

iptables -I INPUT -i $IFNAME -j DROP
iptables -I INPUT -i $IFNAME -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i $IFNAME -m state --state INVALID -j DROP

iptables -I OUTPUT -o $IFNAME -j ACCEPT

iptables -I FORWARD -i $ETDEV -o $IFNAME -j DROP
iptables -I FORWARD -i $ETDEV -o $IFNAME -s $ETNET -d ! $ETNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $ETDEV -o $IFNAME -m state --state INVALID -j DROP

iptables -I FORWARD -i $IFNAME -o $ETDEV -d $ETNET -j DROP
iptables -I FORWARD -i $IFNAME -o $ETDEV -s ! $ETNET -d $ETNET -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $IFNAME -o $ETDEV -m state --state INVALID -j DROP

if [ -n "$WLADR" ]; then

iptables -I FORWARD -i $WLDEV -o $IFNAME -j DROP
iptables -I FORWARD -i $WLDEV -o $IFNAME -s $WLNET -d ! $WLNET -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $WLDEV -o $IFNAME -m state --state INVALID -j DROP

iptables -I FORWARD -i $IFNAME -o $WLDEV -d $WLNET -j DROP
iptables -I FORWARD -i $IFNAME -o $WLDEV -s ! $WLNET -d $WLNET -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $IFNAME -o $WLDEV -m state --state INVALID -j DROP

fi
fi

# PPPoE MTU/MRU issue
iptables -I FORWARD -o $IFNAME -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

hier muss jetzt eine bedingung eingebaut werden. denn für den vpn-kanal gibt es ja andere regeln.

if [ "$IPLOCAL" = "192.168.2.1" ];then #frag ob der ppp-kanal zum pptp-server gehört

#wir setzen hier keine default route und andere firewallregeln
#diese sind noch nich optimal und vieleicht etwas unsicher
#weil ich selbst noch am testen bin
#surfen und der zugriff auf das homelan sind damit aber erstmal möglich
#korrekturen an dieser stelle sind ausdrücklich erwünscht

iptables -t nat -A POSTROUTING -i $ETDEV -o $IFNAME -j MASQUERADE #nat für diesen kanal setzen

iptables -I INPUT -i $IFNAME -j ACCEPT #alles was vom pptp-kanal kommt darf rein
iptables -I OUTPUT -o $IFNAME -j ACCEPT #alles was zum pptp-kanal geht darf raus

iptables -I FORWARD -i $ETDEV -o $IFNAME -s $ETNET -d $IPREMOTE -j ACCEPT #direkte verbindung vom homelan zum remotehost
iptables -I FORWARD -i $IFNAME -o $ETDEV -s $IPREMOTE -d $ETNET -j ACCEPT #und umgekehrt

iptables -I FORWARD -i $IFNAME -j ACCEPT #sollte vieleicht geändert werden
iptables -I FORWARD -o $IFNAME -j ACCEPT #aber damit funzt auch das surfen

else #für pppoe-kanal

#hier kommt der erste auszug rein ^^^^

fi #nich vergessen!!!

die datei "/etc/ppp/ip-down" muss natürlich auch geändert werden damit
nach beenden der verbindung alles wieder entfernt wird.
sieht zwar alles aus wie oben. aber man beachte "-D" für "delete" in jeder zeile.

if [ "$IPLOCAL" = "192.168.2.1" ];then

iptables -t nat -D POSTROUTING -i $ETDEV -o $IFNAME -j MASQUERADE

iptables -D INPUT -i $IFNAME -j ACCEPT
iptables -D OUTPUT -o $IFNAME -j ACCEPT

iptables -D FORWARD -i $ETDEV -o $IFNAME -s $ETNET -d $IPREMOTE -j ACCEPT
iptables -D FORWARD -i $IFNAME -o $ETDEV -s $IPREMOTE -d $ETNET -j ACCEPT

iptables -D FORWARD -i $IFNAME -j ACCEPT
iptables -D FORWARD -o $IFNAME -j ACCEPT

else

#hier der passende abschnitt für pppoe

fi


edit:
hab ich fast vergessen. der server muss natürlich noch gestartet werden.
in der shell müssen wir noch folgende befehle ausführen.

cd /etc/init.d
mv pptp-server S54pptp-server #für autostart
/etc/init.d/S54pptp-server start

so.....ferdisch:)

vpn verbindung auf dem laptop einrichten und die olsr-ip des "wrt mit dem pptp-server" anwählen.
unter windows wird nach erfolgreichem verbindungsaufbau ein neuer standartgateway gesetzt
und alles was nich ans olsrnetz geht flutscht jetz durch den vpn-tunnel

unter suse linux geht das leider nich so einfach da die passenden verschlüsselungsverfahren im kernel fehlen
dafür gibt es aber patches die man nachinstallieren kann. jedenfalls bei suse 9.1

für fragen und korrekturen bin ich natürlich offen. wir sind hier ja in einem forum.
ok.. und nun viel spass beim ausprobieren. Smilie
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
glockman



Anmeldedatum: 21.09.2004
Beiträge: 2097
Wohnort: suermondtstr/degnerstr ... ohne AP

BeitragVerfasst am: 09.04.2005, 14:37    Titel: Antworten mit Zitat

respect ... das is, was wir brauchen ...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick



Anmeldedatum: 01.11.2004
Beiträge: 88
Wohnort: Berlin Marzahn

BeitragVerfasst am: 12.04.2005, 21:03    Titel: Antworten mit Zitat

ok. weil ich immer wieder änderungen an "ip-up" und "ip-down" vornehme werde ich es an dieser stelle mal editieren. sonst wirds zu unübersichtlich.

die datei "/etc/ppp/ip-up" auszug für PPTP

PPPOEDEV=$(nvram get wan_iface)

iptables -t nat -A POSTROUTING -i $ETDEV -o $IFNAME -j MASQUERADE

#alles darf rein und raus
iptables -I INPUT -i $IFNAME -j ACCEPT
iptables -I OUTPUT -o $IFNAME -j ACCEPT

#zugriff vom homelan auf remotehost
iptables -I FORWARD -i $ETDEV -o $IFNAME -j DROP
iptables -I FORWARD -i $ETDEV -o $IFNAME -s $ETNET -d $IPREMOTE -j ACCEPT

#zugriff vom remotehost aufs homelan
iptables -I FORWARD -i $IFNAME -o $ETDEV -j DROP
iptables -I FORWARD -i $IFNAME -o $ETDEV -s $IPREMOTE -d $ETNET -j ACCEPT

#wenn pppoe aktiv
if [ -n "$PPPOEDEV" ]; then
#zugriff vom remotehost aufs internet
iptables -I FORWARD -i $IFNAME -o $PPPOEDEV -j DROP
iptables -I FORWARD -i $IFNAME -o $PPPOEDEV -s $IPREMOTE -d ! $IPREMOTE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $IFNAME -o $PPPOEDEV -m state --state INVALID -j DROP

#zugriff vom internet auf remotehost. nur bestehende verbindungen
iptables -I FORWARD -i $PPPOEDEV -o $IFNAME -j DROP
iptables -I FORWARD -i $PPPOEDEV -o $IFNAME -s ! $IPREMOTE -d $IPREMOTE -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -i $PPPOEDEV -o $IFNAME -m state --state INVALID -j DROP
fi

#wenn wlan aktiv
if [ -n "$WLADR" ]; then
#wlan sperren
iptables -I FORWARD -i $WLDEV -o $IFNAME -j DROP
fi

im part fürs pppoe. also der standartauszug hinter der variablendefinition sollten wir uns noch das aktuelle pppoe-device merken. weil es ja jetzt vareieren könnte.

#ppp-device im nvram merken
nvram set wan_iface=$IFNAME
nvram set pppoe_ifname0=$IFNAME

das gleiche muss wie gesagt in die datei "/etc/ppp/ip-down"
mit "iptables -D ..." "route del ..." "nvram unset ..."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    WLanhsh & WLanwse Foren-Übersicht -> WLan Technik Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de