Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

PPTP Server auf Linux Rootserver Defaulroute Probleme

Frage Linux

Mitglied: 49110

49110 (Level 1)

23.01.2009, aktualisiert 11:01 Uhr, 4886 Aufrufe, 5 Kommentare

PPTPD läuft, Anmeldung per MS-Chap V2 128 bit funktioniert ebenfalls, Clients können Server pingen, Server kann Clients pingen...Jedoch können die Clients sich nicht untereinander pingen / erreichen, auch das surfen über den PPTP Tunnel ist nicht möglich wenn Standardgateway verwendet wird über den VPN Tunnel.

Beispielhaftes Szenario mit einem Rootserver, einer öffentlichen IP wo die Defaultoute nicht funktioniert:

Bei meinem Rootserver habe ich ein eth interface mit einer festen öffentlichen IP Adresse, diese ist auch extern aus dem internet von überall aus auf der Welt erreichbar und kann deswegen nicht für die Konfiguration des PPTP Servers verwendet werden, hier ein Beispiel. Ihr habt die externe IP Adress 95.95.95.95 unter dieser ist euer Rootserver erreichbar, diese könnt ihr ja schlecht für den PPTP Server verwenden, also verwende ich hier nun z.B. die IP 192.168.0.1 (IP Adresse des PPTP Servers) und den Bereich für die Clients die connecten (192.168.0.2-166). Wie oben beschrieben wählen sich nun zwei Windows XP Cleints ein und bekommen die IP Adressen 192.168.0.2 und 192.168.0.3, beide können den Server 192.168.0.1 pingen, der Server kann auch beide Clients pingen aber untereinander finden sich die zwei Kollegen innerhalb des Tunnels nicht, meine Vermutung, das routing stimmt nicht weil er nicht aus dem 192.168.0.0 netz einfach mal das Gateway für das 95.95.95.1 setzen kann

Beispielhaftes Szenario mit einem Heimnetz, wo die Defaulroute richtig gesetzt wird:

Ihr habt z.B. eine DynDNS Adresse schiessmichtot.dyndns.biz diese zeigt auf euren Router, dort habt ihr GRE und den PPTP Port auf eure Heimische Linuxkiste geforwarded, Diese befindet sich im Netz 192.168.0.0 und hat die IP 192.168.0.2, der Gateway hier ist die 192.168.0.1 also wird im PPTP Server lokale Server IP 192.168.0.2 genommen und die Clients dürfen im bereich 192.168.0.3-166 eine IP belegen. So, nun wählen sich 2 Clients ein, bekommen die 192.168.0.3 und die 192.168.0.4. Beide können den Server pingen, der Server kann die Clients pingen und untereinander können sich die Clients ebenfalls pingen! Hier wird die Defaultroute richtig gesetzt, ich kann auch surfen über den VPN Tunnel wenn ich den Standardgateway des Tunnels nutze.

Meine Frage ist nun, wie kann ich dies auf meinem Rootserver umsetzen? Mit einer Bridge!? Mit iptables und NAT? Ich steh etwas auf dem schlauch wo ich anfangen soll und wie. Ich kann ja nicht einfach auf dem root den Gateway in dem Netzwerk verwenden und irgendeine 95.95.95.0 IP weil diese direkt öffentlich geschaltet ist!
Mitglied: aqui
23.01.2009 um 11:26 Uhr
Du machst einen Denkfehler beim Thema PPTP Server !! Natürlich muss dein PPTP Server über die 95.95.95.95 erreichbar sein, denn sonst könntest du niemals von überallher einen VPN Tunnel auf bauen...logisch ! Wie du ja sicher selber weisst ist das IP Netz 192.168.0.0 /24 ein RFC 1918 IP Netz was im Internet gar nicht geroutet wird bzw. nicht vorhanden ist !!!
Intern vergibt der VPN Server dann 192.168.0.0 /24 als internes LAN. Vermutlich über eine Loopback Adresse bei dir im Server ???

Dazu eine wichtige Anmerkung zum Thema VPN: Es zeugt nicht gerade von Intelligenz und Nachdenken bei der Planung bei der Einrichtung von VPN als internes Netzwerk die 192.168.0.0 /24 zu wählen !!! Sorry...
Grund: Jeder dumme DSL Router vom Blödmarkt vom Grabbeltisch, jedes Hotelnetz und jeder der sich NICHT mit IP Adressen auskennt nimmt als Default dieses Netzwerk.
Bei mindestens jedem 2ten VPN Zugriff stürzt dich das dann in große Probleme, denn wenn du lokal 192.168.0.0 /24 als Netzwerk hast und dann in deinem VPN nochmal das gleiche IP Netz bekommst ist dir auch klar, das damit keine saubere VPN Verbindung funktioniert, da du nun 2mal das gleiche IP Netz am Client hast und kein Client damit umgehen kann

Es wäre also weitaus intelligenter bei einem VPN Netz serverseitig etwas exotischeres als IP Netz aus dem RFC 1918 Pool:
http://de.wikipedia.org/wiki/Private_IP-Adresse
zu verwenden, damit es nicht zu lokalen IP Konflikten im Client Netz kommt !!!
Also solltest du besser sowas verwenden wie 172.28.7.0 /24 mit einer 24 Bit Maske 255.255.255.0 um dem sicher vorzubeugen !!

Vermutlich ist das auch die Ursache deines Problems...doppelte IP Netzemit der 192.168.0.0 !!??
Wenn nicht, dann ist es die Firewall der Clients, die nur IPs aus dem lokalen Netz zulässt, niemals aber IPs aus dem VPN Netz !!
Du musst also die lokale Firewall entsprechend customizen und öffnen für das VPN IP Netz, dann wirds auch was mit der Client zu Client Verbindung !!
Ein route print oder tracert zeigt dir immer die Wege im Netz an !!
Bitte warten ..
Mitglied: 49110
23.01.2009 um 12:04 Uhr
Danke für deine Antwort aqui klar habe ich einen denkfehler sonst würde es ja auch funktionieren, eins vorweg, klar setze ich für das VPN netz nicht die 192.168.0.0 oder 192.168.1.0 ein das war nur ein Beistpiel für eine IP Adresse um mal schnell zu erklären um was es hier überhaupt geht!

RFC 1918 IP Netz hin oder her, folgendes:

Auf dem Rootserver hat das eth0 Interface eine IP die direkt ohne Router oder Firewall im WAN / GAN hängt, sinngemäß ohne Hardware Firewall oder Router, man ist bei einem Rootserver selbst verantwortlich eine Firewall zu betreiben, Grundsätlich steht die Linuxkiste also direkt im Netz, so wie wenn du deinen Linux PC direkt ohne Router per PPOE einwählst. Das ist das Grundprinzip eines Rootservers ;) klar du musst ja auch alles selbst machen können. Noch einen schritt weiter...es gibt ein riesiges Routingproblem wenn ich mich also z.B. mit dem PPTP ins das 95.95.95.0 klinken würde. Weil z.B. auf 95.95.95.2 dein rootserver liegt und sich mein Win XP client jetzt die IP Adresse innerhalb des Tunnels reserviert also könnte ich deinen Root nicht mehr erreichen ;)

Nun zu einem Heimischen Linuxrechner,der hat das eth0 Interface, eben eine IP in einem LAN hinter einem Router und hängt nicht direkt im Internet, also ein Himmelweiter unterschied. Der Router bringt dich mittels Gateway erst ins WAN / GAN. In diesem Sinne hast du beim Rootserver kein LAN sondern hängst direkt im WAN, verstehst du was ich meine?

Ich bin in der Materia schon etwas fitter, traceroute, route unter linux oder auch tracert und route print unter Windows sind mir durchaus gängige Begriffe. Auf den Clients sind alle Firewalls deaktiviert damit eben mittels traceroute und ping getestet werden kann.

Nun, es geht also nach wie vor um die Defaultroute auf dem Rootserver. Ich bin mir sicher dass es hier jemand gibt der mir gleich sagen wird dass dies mittels IPTables machbar ist, oder einer virtuell Konfigurierten eth1 und oder eine bridge...In die Richtung geht das, bin ich mir fast sicher, hab ich aber noch nie gemacht ausser bei VMWare / VBox, so schwierig kanns nicht sein!
Bitte warten ..
Mitglied: aqui
23.01.2009 um 12:20 Uhr
Scheinbar ist dir die Funktion von PPTP nicht wirklich bekannt.
Der Tunnel hat niemals eine Verbindung ins 959595.0er Netz und stellt auch niemals so eine her...da bleibt es bei deinem Denkfehler !! Der auch klar wird, liest man mal dieses:
http://technet.microsoft.com/en-us/library/cc768084.aspx

Die 95.95.95.2 stellt lediglich den Tunnelendpunkt her, hat aber mit dem eigentlichen VPN nichts zu tun. Innerhalb dieses Tunnels vergibt dein Linux Server dann ein RFC 1918 IP Netz, welches auch immer du intelligent auswählst.....
Dein Client bekommt auch eine Interface IP Adresse aus diesem RFC 1918 Bereich, was du auch ganz klar mit ipconfig am Client sehen kannst wenn der Tunnel steht.
Das VPN Netz verhält sich also routingtechnisch wie eine direkte Kabelverbindung zwischen Client und Server ! Logischerweise muss der Server dafür ein Loopback Interface in diesem VPN Netzwerk haben !

Das 95er Netz ist dabei völlig irrelevant und spielt für den Client keine Rolle, denn dahin geht er ja über die normale öffentliche Verbindung sei es DSL oder was auch immer....niemals aber über die VPN Verbindung !!!
Deinen Server kannst du also über die öffentliche verbindung und 95er Adresse erreichen oder über den VPN Tunnel über die Loopback Adresse ! Die Loopback ist ja ein weitere virtueller Adapter.

Stellst du nun den VPN Client so ein das bei aktivem Tunnel das VPN Gateway (sprich der Server) dann sein default Gateway ist schickt der PPTP Client ALLES was nicht für sein lokales Netz am LAN ist in den Tunnel.

Das macht man ja normalerweise nicht, nur wenn man den Internetzugang wirklich komplett über den Tunnel abwickeln will, was ja auch geht...keine Frage.

Logischerweise muss nun natürlich der Server mit IP Tables NAT machen auf sein 95.95.95.2er Interface, damit der Traffic aus dem VPN Tunnel ins Internet kann.
DAS musst du also customizen am Server !! Mit Routen hat das nix zu tun, das das VPN Interface ja direkt am Server hängt und er es folglich also kennt und dafür nicht routen muss !!
Bitte warten ..
Mitglied: 49110
23.01.2009 um 15:39 Uhr
Okey, danke für die infos. Demnach ein NAT mit source 192.168.0.0/24 auf destination 95.95.95.0/24 !?

Meinst es reicht als Beispiel ein:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j DNAT --to-destination 95.95.95.0/24
Bitte warten ..
Mitglied: 49110
29.01.2009 um 11:33 Uhr
Also ich komm kein stück weiter mit den "iptables" hab jetzt 3 tage mit googeln verbracht und irgendwie komm ich nicht zurecht, die tcpdumps aufm root hauen mir kilometerlange logs um die ohren, ich hab ungefähr 10x den Server neu starten müssen (hab zusätzlich noch versucht ne VMWare mit bridge/host/nat zum laufen zu bringen, vergeblich, aber das ist ne andere geschichte)...dabei sind das bestimmt 2 zeilen die reichen würden das es funktioniert....zumindest hab ich es niemals hinbekommen dass sich die PPTP Clients untereinander finden (egal ob ping oder sonst was 2x windows xp OHNE FIREWALL), da scheint mir ebenfalls ein iptables eintrag zu fehlen, wenn ich meine iptables basierende firewall abschalte können sich die pptp clients untereinander auch nicht pingen, die defaultroute funktioniert ebenfalls immer noch nicht ;) also könnte ich innerhalb des tunnels (wenn man den standardgateway des tunnels verwendet) kein google.de oder sonstiges auflösen weil das RFC 1918 IP Netz nicht richtig genattet wird. Hier mal meine IPTables Firewall...: klar fehlen ein paar einträge diese wurden absichtlich entfernt und die IP's sind andere (Zeile 91 bis 98)....:

01.
#!/bin/bash 
02.
# ---- My Ruley Firewall xD ---- 
03.
 
04.
case "$1" in 
05.
  start) 
06.
    echo "Starte IP-Paketfilter" 
07.
    echo "1" > /proc/sys/net/ipv4/ip_forward 
08.
    echo "1" > /proc/sys/net/ipv4/ip_dynaddr 
09.
 
10.
    # iptables-Modul 
11.
    modprobe ip_tables 
12.
    # Connection-Tracking-Module 
13.
    modprobe ip_conntrack 
14.
    # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar 
15.
    modprobe ip_conntrack_irc 
16.
    modprobe ip_conntrack_ftp 
17.
 
18.
    # Tabelle flushen 
19.
    iptables -F 
20.
    iptables -t nat -F 
21.
    iptables -t mangle -F 
22.
    iptables -X 
23.
    iptables -t nat -X 
24.
    iptables -t mangle -X 
25.
 
26.
    # Default-Policies setzen 
27.
    iptables -P INPUT DROP 
28.
    iptables -P OUTPUT DROP 
29.
    iptables -P FORWARD DROP 
30.
 
31.
    # MY_REJECT-Chain 
32.
    iptables -N MY_REJECT 
33.
 
34.
    # MY_REJECT fuellen 
35.
    iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP " 
36.
    iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset 
37.
    iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP " 
38.
    iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable 
39.
    iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP " 
40.
    iptables -A MY_REJECT -p icmp -j DROP 
41.
    iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER " 
42.
    iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable 
43.
 
44.
    # MY_DROP-Chain 
45.
    iptables -N MY_DROP 
46.
    iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP " 
47.
    iptables -A MY_DROP -j DROP 
48.
 
49.
    # Alle verworfenen Pakete protokollieren 
50.
    iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID " 
51.
    iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID " 
52.
 
53.
    # Korrupte Pakete zurueckweisen 
54.
    iptables -A INPUT -m state --state INVALID -j DROP 
55.
    iptables -A OUTPUT -m state --state INVALID -j DROP 
56.
 
57.
    # Stealth Scans etc. DROPpen 
58.
    # Keine Flags gesetzt 
59.
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP 
60.
 
61.
    # SYN und FIN gesetzt 
62.
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP 
63.
 
64.
    # SYN und RST gleichzeitig gesetzt 
65.
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP 
66.
 
67.
    # FIN und RST gleichzeitig gesetzt 
68.
    iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP 
69.
 
70.
    # FIN ohne ACK 
71.
    iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP 
72.
 
73.
    # PSH ohne ACK 
74.
    iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP 
75.
 
76.
    # URG ohne ACK 
77.
    iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP 
78.
 
79.
    # Loopback-Netzwerk-Kommunikation zulassen 
80.
    iptables -A INPUT -i lo -j ACCEPT 
81.
    iptables -A OUTPUT -o lo -j ACCEPT 
82.
 
83.
    # Connection-Tracking aktivieren 
84.
    iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 
85.
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
86.
 
87.
 
88.
 
89.
 
90.
 
91.
    #Erlaube PPTP / GRE 
92.
    iptables -A INPUT -d 95.95.95.95 -m state --state NEW -p gre -j ACCEPT 
93.
    iptables -A OUTPUT -d 95.95.95.95 -m state --state NEW -p gre -j ACCEPT 
94.
    iptables -A INPUT -d 95.95.95.95 -m state --state NEW -p tcp --dport 1723 -j ACCEPT 
95.
 
96.
    #Erlaube Datenverkehr PPTP VPN 
97.
    iptables -A INPUT -d 192.168.0.0/24 -s 192.168.0.0/24 -j ACCEPT 
98.
    iptables -A OUTPUT -d 192.168.0.0/24 -s 192.168.0.0/24 -j ACCEPT 
99.
 
100.
 
101.
 
102.
 
103.
 
104.
    #Default-Policies mit REJECT 
105.
    iptables -A INPUT -j MY_REJECT 
106.
    iptables -A OUTPUT -j MY_REJECT 
107.
 
108.
    # Max. 500/Sekunde (5/Jiffie) senden 
109.
    echo 5 > /proc/sys/net/ipv4/icmp_ratelimit 
110.
 
111.
    # Speicherallozierung und -timing füDe/-Fragmentierung 
112.
    echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh 
113.
    echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh 
114.
    echo 30 > /proc/sys/net/ipv4/ipfrag_time 
115.
 
116.
    # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen 
117.
    echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout 
118.
 
119.
    # Maximal 3 Antworten auf ein TCP-SYN 
120.
    echo 3 > /proc/sys/net/ipv4/tcp_retries1 
121.
 
122.
    # TCP-Pakete maximal 15x wiederholen 
123.
    echo 15 > /proc/sys/net/ipv4/tcp_retries2 
124.
 
125.
    ;; 
126.
 
127.
  stop) 
128.
    echo "Stoppe IP-Paketfilter" 
129.
    # Tabelle flushen 
130.
    iptables -F 
131.
    iptables -t nat -F 
132.
    iptables -t mangle -F 
133.
    iptables -X 
134.
    iptables -t nat -X 
135.
    iptables -t mangle -X 
136.
    echo "Deaktiviere IP-Routing" 
137.
    echo 0 > /proc/sys/net/ipv4/ip_forward 
138.
 
139.
    # Default-Policies setzen 
140.
    iptables -P INPUT ACCEPT 
141.
    iptables -P OUTPUT ACCEPT 
142.
    iptables -P FORWARD ACCEPT 
143.
    ;; 
144.
 
145.
  status) 
146.
    echo "Tabelle filter" 
147.
    iptables -L -vn 
148.
    echo "Tabelle nat" 
149.
    iptables -t nat -L -vn 
150.
    echo "Tabelle mangle" 
151.
    iptables -t mangle -L -vn 
152.
    ;; 
153.
 
154.
  restart) 
155.
    /etc/init.d/firewall stop 
156.
    sleep 2 
157.
    /etc/init.d/firewall start 
158.
    ;; 
159.
 
160.
  *) 
161.
    echo "Fehlerhafter Aufruf" 
162.
    echo "Syntax: $0 {start|stop|restart|status}" 
163.
    exit 1 
164.
    ;; 
165.
 
166.
esac
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Exchange Server
Exchange Server 2010 - Mehrere spezielle Probleme (5)

Frage von JeekJeek zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (22)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...