VPN Server via pptpd

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

VPN Server via pptpd

Beitrag von bagalude » 17.08.2004 21:19:49

Hi Leute,

seit einigen Tagen plage ich mich jetzt mit meinem VPN Server rum, ohne wirklich weiter zu kommen... :roll:

Die Situation ist folgende:
Auf meinem Router mit Woody 2.4 soll zukünftig ein VPN Server laufen, über welchen sich verschiedene Clients einloggen sollen, um dann Zugriff auf das dahinter befindliche Netz zu erhalten.

Dafür habe ich pptpd installiert, konfiguriert und den Firewall (port 1723) angepasst. Es ist auch problemlos möglich eine VPN-Verbindung herzustellen. Durch den Tunnel erreiche ich dann aber leider nur den Router/VPN Server, nicht aber das Netz dahinter...

Kurz:

xxClient(192.168.0.100-110)<-->(tunnel)<-->Router(192.168.0.1)<-->Netz 192.168.0.0/24

Router:
P200 MMX
128 MB RAM

Dienste:
LAMP
Routing(forwarding) mit IPTABLES
DHCP
Squid
DDNS
PPTPD

Für Hilfe wäre ich sehr Dankbar! Habe nämlich langsam das Gefühl mich mit HowTo´s und Foren im Kreis zu drehen... :lol:

*lg*
Bagalude
Try and find out...
Und Rettet die GNU´s!

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 18.08.2004 10:08:05

Hallo,
hast du auf den VPN-Clients die Routen für das Netz drin mit dem VPN-Router als Gateway?

Code: Alles auswählen

route print
für Windoof...
Ciao, Hendri

Benutzeravatar
HelsAett
Beiträge: 749
Registriert: 18.03.2003 18:25:00

Beitrag von HelsAett » 18.08.2004 12:38:12

die route passt so wie es aussieht, zum einen könnte noch fehlen

1: ip_forward aktivieren

und dann mal pingen zu einem rechner im netz, nachdem verbindung zum vpn besteht.

und wie sieht den deine pptpd.conf aus

Benutzeravatar
thorben
Beiträge: 722
Registriert: 14.09.2003 23:23:49

Beitrag von thorben » 18.08.2004 13:22:36

moin,
ist der vpn gateway der standardgateway der clients? wenn nein musst du die routen am client händisch hinzufügen (route add netzwerk gateway) wenn der vpn-gw dein standardgateway ist kontrollieren ob hier die routen stimmen (route -n)

und halt die vorherigen tips beachten

gruß
thorben

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 18.08.2004 17:10:52

Ein

Code: Alles auswählen

for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do
echo 0 > $f
done
könnte auch in deinem Firewall Script helfen...
Ciao, Hendri

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Beitrag von bagalude » 18.08.2004 19:37:09

Danke erstmal für die vielen Antworten!
Werde Mal versuchen alles abzuhandeln... :D
Also erstmal ein paar weitere Fakts:

Netz:
192.168.0.1 Server(Squid LAMP PPTPD ip_forwarding Firewall etc.)
192.168.0.2-10 Lokales LAN (worstations win XP)
192.168.0.100 vpnclient (workstation ein XP)

Also:
1. Henri

Code: Alles auswählen

route print
Auf den Windoofclients ergibt sich nur das Standardgateway 192.168.0.1, wenn ich die option "Standartgateway des Remotenetzes verwenden" ausstelle? 8O
(Wobei natürlich das Standartgateway des Clientnetzes auch 192.168.0.1 ist...:-( )
Ansonsten bekommt der clinet die 192.168.0.100 (was seiner eigenen IP entspricht...??)

2. HelsAett
Ja klar, ist ja ein Router;-)

3. thorben
Leider windoofclients... Das hat das Adden noch nicht gelernt;-)

4. Henri
Was sagt die Regel denn allgemein aus?? Verstehe sie nicht so ganz... :lol:

Ansonsten war ich auch nicht ganz untätig... Also die beiden durch den Tunnel direkt verbunden PC´s (VPN Server und Client) lassen sich pingen. Nur das Netz dahinter nicht.

Nach einigem Stöbern bin ich dann auf folgendes gestoßen:

http://www.debianforum.de/forum/viewtop ... ight=pptpd

Scheint aber leider auch nicht zu gehen...
Zur Sicherheit poste ich hier noch mal meine pptpd.conf pptpd-options und einen Auszug aus meinem Firewallscript...

Firewall

Code: Alles auswählen

#!/bin/bash
#Based on rc.firewall script 
FWVER=0.80 
echo -e "\n\nLoading space firewall version $FWVER..\n" 
IPTABLES=/sbin/iptables 
DEPMOD=/sbin/depmod 
INSMOD=/sbin/insmod 
EXTIF="ppp0" 
INTIF="eth0"
VPNTIF="ppp1"

#LAN
TAN="192.168.0.8"
PEDE="192.168.0.7"
FRED="192.168.0.9"

echo " External Interface: $EXTIF" 
echo " Internal Interface: $INTIF" 
 
$IPTABLES -P INPUT ACCEPT 
$IPTABLES -F INPUT 
$IPTABLES -P OUTPUT ACCEPT 
$IPTABLES -F OUTPUT 
$IPTABLES -P FORWARD DROP 
$IPTABLES -F FORWARD 
$IPTABLES -t nat -F 

echo " Allow all connections OUT and only existing and related ones IN" 
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT 
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT 
$IPTABLES -A FORWARD -j LOG

echo " Setting up Webservices... "

#Webserver
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp --dport 443 -j ACCEPT
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp --dport 80 -j ACCEPT
#VPN
$IPTABLES -A INPUT -i $EXTIF -p tcp -m multiport --dport 1723 -j ACCEPT
#FTP
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp --dport 23 -j ACCEPT
#SSH
#$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp --dport 22 -j ACCEPT
#IRC
$IPTABLES -A INPUT -i $EXTIF -m state --state NEW -p tcp --dport 6667 -j ACCEPT

echo " Setting up VPN-Gateway... "

# Aus dem PPTP VPN: alles aus einen privaten Netzwerk erlauben 
$IPTABLES -A INPUT -i $VPNTIF -s 192.168.0.0/24 -j ACCEPT
# Ins PPTP VPN:  alles ins private Netz erlauben 
$IPTABLES -A OUTPUT -i $VPNTIF -d 192.168.0.0/24 -j ACCEPT
echo " Setting up Forwarding... "
...
Produziert aber derzeitig einen Fehler wegen OUTPUT -i (siehe link).
Hatte es auch schon mit

Code: Alles auswählen

#$IPTABLES -A POSTROUTING -t nativ -j MASQUERADE -o $VPNTIF
probiert. Hier bekam ich eine Fehlermeldung, daß mein IPTABLES kein nativ kenne...

Die pptpd-options:

Code: Alles auswählen

name vpnGate
domain xyz.homelinux.com
auth
-chap
#-mschap
#+mschap-v2
+chap
#+chapms
#+chapms-v2
#Verschlüsselung kommt mit dem 300 Prozessor...;-)
#mppe-40
#mppe-128
#mppe-stateless
ms-wins 192.168.0.1
netmask 255.255.255.0
defaultroute
proxyarp
lock
Und nun zu guter Letzt die pptpd.conf:

Code: Alles auswählen

#
speed 115200
#
option /etc/ppp/pptpd-options
#
localip 192.168.0.1
remoteip 192.168.0.100-110
Vielen Dank nochmal und ich hoffe Ihr könnt mir weiter Helfen!

PS. An die Väter des Forums: kürzer ging echt nicht! :lol:
Try and find out...
Und Rettet die GNU´s!

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 18.08.2004 21:28:05

Mit rp_filter kann man den IP-Spoofing Schutz (Gefälschte Interne IP von extern..) des Kernel deaktivieren was sich schon mal bei VPN's quer legen kann...

PS.: Gibt es im Log von iptables Hinweise?

PPS.: Um in der Forward Chain alle Pakete von deinem VPN Device durch zu lassen...

Code: Alles auswählen

 iptables -A FORWARD -i $VPNTIF -o $INTIF -j ACCEPT
Ciao, Hendri

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Beitrag von bagalude » 04.09.2004 20:39:39

Hi Leute,

Sorry hatte aber die letzte Zeit etwas viel um die Ohren. Konnte mich daher auch erst heute mit dem Problem erneut auseinander setzten...

Nun ja, was die IPTABLE log´s betrifft, geben diese darüber Auskunft, daß nichts in das interne Netz gelangen kann. Die IP-Adresse kann nicht aufgelöst werden... (muß erst wieder "mitloggen" zum posten...:-( Kaum Platz auf der HDD.)

Ich glaube aber auch mit der Hilfe von Hendri dem Problem näher gekommen zu sein. Denn nach Einfügen der folgenden Zeile in das Firewallscript:

Code: Alles auswählen

$IPTABLES -A FORWARD -i $VPNTIF -o $INTIF -j ACCEPT
erhalte ich beim Ausführen folgende Fehlermeldung:

Code: Alles auswählen

Setting up VPN-Gateway...
iptables v1.2.6a: can't initialize iptables table `-nativ': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Was mir aber im Moment leider nicht viel sagt, da es in der modconf leider keinen IPTABLE -nativ zum einfügen gibt...

Liegt es evtl. an meiner IPtabels version?
Oder am Kernel 2.4??
Try and find out...
Und Rettet die GNU´s!

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 05.09.2004 01:28:06

Was sagt

Code: Alles auswählen

lsmod
??
Ciao, Hendri

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Beitrag von bagalude » 05.09.2004 03:52:11

Danke für die schnelle Antwort...

Code: Alles auswählen


Module                  Size  Used by    Tainted: P
ipt_MASQUERADE          1216   1  (autoclean)
ip_conntrack_irc        2496   0  (unused)
ipt_LOG                 3136   1  (autoclean)
ipt_state                608   5  (autoclean)
iptable_filter          1728   1  (autoclean)
ppp_deflate            38944   0  (autoclean)
bsd_comp                3936   0  (autoclean)
ppp_async               6464   1  (autoclean)
ppp_generic            18728   3  (autoclean) [ppp_deflate bsd_comp ppp_async]
slhc                    4432   0  (autoclean) [ppp_generic]
ip_nat_ftp              2944   0  (unused)
ip_conntrack_ftp        3200   0  (unused)
ipip                    6080   0  (unused)
ip_gre                  7264   0  (unused)
ip_nat_irc              2368   0  (unused)
iptable_nat            12660   3  [ipt_MASQUERADE ip_nat_ftp ip_nat_irc]
ip_tables              10432   7  [ipt_MASQUERADE ipt_LOG ipt_state iptable_filter iptable_nat]
ip_conntrack           12684   4  [ipt_MASQUERADE ip_conntrack_irc ipt_state ip_nat_ftp ip_conntrack_ftp ip_nat_irc iptable_nat]
eepro100               17264   1
Ich hoffe es hilft.
(fühle mich langsam wie ein DAU... :lol:)
Try and find out...
Und Rettet die GNU´s!

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 05.09.2004 16:39:00

Ähm, ist diese Regel von einem vorangegangenen Post

Code: Alles auswählen

$IPTABLES -A POSTROUTING -t nativ -j MASQUERADE -o $VPNTIF
noch im Script? Würde diese Fehlermeldung erlären...
Ciao, Hendri

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Beitrag von bagalude » 11.09.2004 03:00:55

Das mir das nicht aufgefallen ist?!:-)
Bin wohl doch etwas überarbeitet...:-(

Fehler berichtigt!
Werde es die Tage mal ausprobieren und berichten...
Try and find out...
Und Rettet die GNU´s!

Benutzeravatar
Hendri
Beiträge: 586
Registriert: 23.08.2003 12:17:43
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Hendri » 11.09.2004 14:50:29

Von innen nach Außen nicht vergessen auch durch zu lassen...

Code: Alles auswählen

iptables -A FORWARD -i $INTIF -o $VPNTIF -j ACCEPT
Ciao, Hendri

Benutzeravatar
kairo
Beiträge: 175
Registriert: 04.02.2004 13:41:03
Wohnort: Sachsen

Beitrag von kairo » 15.09.2004 20:34:19

Vielleicht solltest du in der /etc/ppp/pptpd-options die Option defaultroute in nodefaultroute ändern...

kleine Ursache, große Wirkung ;)

freakfly

Routing aktivieren....

Beitrag von freakfly » 20.09.2004 15:49:52

Wieso nicht einfach

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
sollten funzten. Much Phun.----

Freakfly

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Re: Routing aktivieren....

Beitrag von bagalude » 01.10.2004 01:22:37

Danke Leute, werde Beides mal probieren und berichten...
freakfly hat geschrieben:Wieso nicht einfach

Code: Alles auswählen

echo "1" > /proc/sys/net/ipv4/ip_forward
sollten funzten. Much Phun.----

Freakfly
Was macht diese Einstellung genau?

Greez der Bagalude
Try and find out...
Und Rettet die GNU´s!

freakfly

Beitrag von freakfly » 05.10.2004 11:36:30

Hallo!

Der Befehl macht das IP_Forwarding ein. Das brauchen die Clients um untereinander (nicht nur vom Client zum Server) kommunizieren können.
Hmm, weitere Infos sollte google kennen :lol:

Gruß, freak|fly

Benutzeravatar
bagalude
Beiträge: 44
Registriert: 02.11.2003 22:50:04
Wohnort: Hamburg

Beitrag von bagalude » 05.10.2004 13:44:00

An sich war das doch auch schon vorher aktiviert... Der Server hat ja schon vorher geroutet mittels IP_FORWARDING...:-)

Das Problem ist aber auch mit diesen Einstellungen das selbe geblieben. Komme einfach nicht via VPN ins netz hinter dem Server.
Das Einzige was jetzt neu ist, ist die Tatsache, daß selbst das eigene Netz bei einer VPN einwahl von Aussen nicht mehr ins Internet geroutet wird.
Zudem beendet sich ppp1 nicht, sobald der Client des VPN beendet?! Versuche ich es nun per poff ppp1 zu beenden meldet er, daß die Verbindung nicht aktiv ist und er sie somit nicht beenden kann??

Fazit: Sobald sich einer via VPN bei mir eingewählt hatte, komme ich nicht mehr ins Web ohne den Router neu zu starten:-(
Try and find out...
Und Rettet die GNU´s!

Antworten