Probleme mit IPTables Postrouting, ip_forward und PPTP GRE

virtual2

Registered User
Hallo Zusammen,

mein Problem ist folgendes, ich kann auf einem Client PC welcher über eine Eigenbau DSL Gateway eine PPTP GRE Verbindung auf Port 47 erstellen soll keine PPTP Verbindung aufbauen da GRE connections durch meine Konfiguration anscheinend nicht möglich sind.

Meine IPTables sehen so aus:

Code:
#!/bin/bash

iptables -F

##########
#Postrouting#
#########

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

############
#Port forwarding#
############
#Minecraft
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 25565 -j DNAT --to 192.168.178.91:25565
iptables -A INPUT -p tcp -m state --state NEW --dport 25565 -i eth1 -j ACCEPT

Das Script ist selbst geschrieben, nicht wie Hushi in einem vorherigen Thread meinte aus einem HowTo entnommen, ich bin jedenfalls mittlerweile mit meinem Latein am Ende angelangt.

/proc/sys/net/ip4/ip_forward ist durch /etc/sysctl.conf auf 1 gestellt:

Code:
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additonal system variables
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 4 4 1 7

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line to enable TCP/IP SYN cookies
# This disables TCP Window Scaling (http://lkml.org/lkml/2008/2/5/167),
# and is not recommended.
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Ignore ICMP broadcasts
#net.ipv4.icmp_echo_ignore_broadcasts = 1
#
# Ignore bogus ICMP errors
#net.ipv4.icmp_ignore_bogus_error_responses = 1
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
# The contents of /proc/<pid>/maps and smaps files are only visible to
# readers that are allowed to ptrace() the process
# kernel.maps_protect = 1

Möglicherweise kennt ja von euch jemand die Lösung auf mein Problem ;)

Grüße,

virtual2

PS: Ich melde keine Benutzer einfach so aus Jux oder Tollerei, ich melde Personen die Müll posten, dies bezieht sich auf:
 
Soweit ich das richtig verstanden habe, willst Du folgendes ...

Windows Client ----> (( INTERNET )) ----> [DSL-Gateway] ----> [VPN-Server]

Windows Client ===================== VPN Connection ======> [VPN-Server]

... und Du hast bereits verifiziert, dass die Pakete gar nicht erst am VPN-Server aufschlagen sondern bereits am DSL-Gateway versickern.

Die Module ip_conntrack_pptp & ip_nat_pptp sind geladen?


Für das Durchrouten des PPTP-Traffics müssten diese Rules reichen ...

Code:
$IPTABLES points to the iptables binary
$EXTERNALIF is the external interface

# vpn
$IPTABLES -A INPUT -p 47  -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p 47 -i $EXTERNALIF -j DNAT --to
IP-VPN-Server
$IPTABLES -A FORWARD -i $EXTERNALIF -p 47 -d IP-VPN-Server -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 1723 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTERNALIF --dport 1723 -j
DNAT --to IP-VPN-Server:1723

$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d IP-VPN-Server --dport 1723
-j ACCEPT

Alternativ kannst Du auch das probieren: http://www.mgix.com/pptpproxy/

Wieso das Routing bei Deinem DSL-Gateway überhaupt funktioniert, ist mir schleierhaft bei der geposteten IP-Tables-Konfig.

http://www.debian-administration.org/articles/23
 
Es geht um einen VPN Client der durch das Gateway eine Verbindung herstellen soll nicht um einen Server.

Lies meinen Post nochmal - ich beziehe mich genau darauf, dass das Routing am Gateway zum VPN-Server bei Dir offensichtlich noch nicht wie gewünscht funktioniert, weshalb letztlich auch der Client streikt, denn PPTP-Verbindungen benötigen beim Routing etwas mehr Aufmerksamkeit inkl. u.U. zusätzliche Kernelmodule.

Das ist auch die Kritik, die Dir im vorherigen Thread aufgezeigt wurde. Man kann aus Deiner Problembeschreibung nicht präzise erkennen, wo es nun wirklich hängt. Dafür wären Angaben zum Client, Routing-/Netzwerk-Konfig des DSL-Gateway und zur Konfig des pptp-demons auf dem VPN-Server erforderlich (inkl. Routing/Firewall-Konfig). Dazu auch Angaben zu verschiedenen Testfallstellungen (Komponententests) und deren Ergebnisse.
 
Lies meinen Post nochmal


Sorry, missverstanden, lag wohl an der Übermüdung, ich hätte meinen Schwachsinn den ich brabbel schon an den destinations erkennen sollen / können.

So, laut modprobe sind ip_nat_pptp & ip_conntrack_pptp als Kernelmodule geladen.

//Edit: Danke für deine Hilfe! Der Verbindungsaufbau klappt nun ;)
 
Last edited by a moderator:
Back
Top