MS VPN Server durch iptables Firewall erreichbar machen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
gpeter73
Beiträge: 77
Registriert: 02.02.2004 08:39:00

MS VPN Server durch iptables Firewall erreichbar machen

Beitrag von gpeter73 » 02.03.2004 08:50:22

Hi,

ich muss für einen Kunden einen MS VPN Server durch eine iptables Firewall erreichbar machen.
Nach etwas suchen habe ich hier im Forum einen Beitrag gefunden der dazu ein Script angeboten hat.
"
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.200.99
iptables -A FORWARD -i eth0 -m state --state NEW -p tcp -d 192.168.200.99 --dport 1723 -j ACCEPT

iptables -A FORWARD -i eth0 -m state --state NEW -p 47 -d 192.168.200.99 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to-destination 192.168.200.99

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
"
Es läuft auch fast, dei Verbindung zum VPN Server wird aufgebaut, und die Benutzerdaten werden verifiziert.
Doch danach passiert lange nichts, und dann kommt die Fehlermeldung das der VPN Server nicht antwortet.
Im lokalen LAN gehts problemlos, also muss es an der Firewall liegen.
Was muss nocht an Ports aufgemacht werden?

Gruss Peter

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 02.03.2004 09:28:31

Guten Morgen!

Also du mußt auch die Verbindung vom VPN zurück durchlassen.
Mit dem Script werden nur Pakete mit dem Status NEW durchgelassen.

richte mal für die andere Richtung erlaubenden Verkehr mit state related,established ein.

MfG
BSO

gpeter73
Beiträge: 77
Registriert: 02.02.2004 08:39:00

Beitrag von gpeter73 » 02.03.2004 10:41:05

BlackSword hat geschrieben:Guten Morgen!

richte mal für die andere Richtung erlaubenden Verkehr mit state related,established ein.

MfG
BSO
Ich habe das FW Script nun wie folgt abgeändert:
---SNIP---
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.200.99
iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.200.99 --dport 1723 -j ACCEPT

iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p 47 -d 192.168.200.99 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to-destination 192.168.200.99

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

Doch der fehler bleibt!

Gruss Peter

Benutzeravatar
nesnu
Beiträge: 25
Registriert: 04.02.2003 21:28:29

Beitrag von nesnu » 02.03.2004 14:18:48

Hallo!

Welche VPN-Sprache spricht denn Dein MS-VPN. Ist es PPTP oder die neuere L2TP?
Beides kan man unter Linux ansprechen. Schau mal unter http://poptop.org hier findet mal alles zu den beiden Sprachen.

nesnu

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 02.03.2004 14:39:26

Hallo!

Meinte eigentlich du solltest eine Regel hinzufügen, damit auch die Pakete zurückfinden und nicht Pakete zum VPN Server.

---SNIP---
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1723 -j DNAT --to-destination 192.168.200.99
iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p tcp -d 192.168.200.99 --dport 1723 -j ACCEPT

iptables -A FORWARD -i eth0 -m state --state NEW,ESTABLISHED,RELATED -p 47 -d 192.168.200.99 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p 47 -j DNAT --to-destination 192.168.200.99

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

sondern so:
iptables -A FORWARD -i eth? -m state ESTABLISHED,RELATED -p tcp -s 192.168.200.99 --sport 1723 -j ACCEPT

eth? müßtest du die Netzwerkkarte von der Firewall angeben, die zum VPN führt.

MfG
BSO

TIP:
Ich würde immer input und output Device in den Regeln verwenden.

Gruß
BS

gpeter73
Beiträge: 77
Registriert: 02.02.2004 08:39:00

Beitrag von gpeter73 » 02.03.2004 15:23:11

Brauche ich eventuell nocht folgende Module:
ip_conntrack_proto_gre
ip_conntrack_pptp
ip_nat_pptp

Gruss Peter

gpeter73
Beiträge: 77
Registriert: 02.02.2004 08:39:00

Beitrag von gpeter73 » 02.03.2004 15:41:41

BlackSword hat geschrieben:Hallo!

sondern so:
iptables -A FORWARD -i eth? -m state ESTABLISHED,RELATED -p tcp -s 192.168.200.99 --sport 1723 -j ACCEPT

eth? müßtest du die Netzwerkkarte von der Firewall angeben, die zum VPN führt.


Gruß
BS
Es klappt immernoch nicht, mit netstat bekomme ich folgendes zu sehen:
# netstat-nat -d 192.168.x.x
Proto NATed Address Foreign Address State
tcp p42821a5e.dip.t-dialin.ne:4394 192.168.x.x:1723 ESTABLISHED
tcp p42821a5e.dip.t-dialin.ne:4392 192.168.x.x:1723 TIME_WAIT


Gruss Peter

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 02.03.2004 15:46:15

also wie willst du auf den VPN zugreifen?!
gib mal einige Background infos...

Gruß
BS

Benutzeravatar
el_cattivo
Beiträge: 177
Registriert: 25.09.2003 02:36:16
Wohnort: Bonn
Kontaktdaten:

Beitrag von el_cattivo » 02.03.2004 15:51:04

Habe ähnliches Problem, will mich vot einer Win2K WS hinter einem Debian Router auf einen FLI4L VPN Server einwählen, direkt klappt es, mit Router sagt er jedoch immer 619, Ports habe ich gernerell weitergeleitet, meine Fraga damals im Forum blieb unbeantwortet, wenn das hier was bringt wäre es schön ;-)

Die Module findet er übrigens alle nicht, habe bei der Kernel Konfiguration alles was mit GRE zu tun hat aktiviert...

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 02.03.2004 16:03:04

also was mich interessiert ist:

welche Methode (PPTP / L2TP)?
Einsatz von NAT?

@el_cattivo: was meinst du mit 619?

Gruß
BS

Benutzeravatar
el_cattivo
Beiträge: 177
Registriert: 25.09.2003 02:36:16
Wohnort: Bonn
Kontaktdaten:

Beitrag von el_cattivo » 02.03.2004 16:18:17

OK mein Problem besser in dem alten Thread wo bis jetzt keiner geantwortet hat, passt nicht so ganz hierher weils nicht das selbe Problem ist ;-)

Wollt mich nur mal melden wenn einmal VPN Profis am Werk sind ;-)

http://www.debianforum.de/forum/viewtopic.php?t=8968

gpeter73
Beiträge: 77
Registriert: 02.02.2004 08:39:00

Beitrag von gpeter73 » 02.03.2004 16:24:56

BlackSword hat geschrieben:also was mich interessiert ist:

welche Methode (PPTP / L2TP)?
Einsatz von NAT?

Gruß
BS
Also es ist PPTP und die firewall macht NAT.

W2k PC -> INTERNET -> IPTABLES FW -> W2k VPN Server

Gruss Peter

arzie
Beiträge: 134
Registriert: 17.02.2002 15:51:03

Beitrag von arzie » 02.03.2004 21:26:11

Kennt der Netfilter für GRE eigentlich Zustände wie NEW und ESTABLISHED?

Ich kenne nur "iptables -A INPUT -p 47 -j ACCEPT" also ohne --state.

Arzie

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 03.03.2004 10:22:19

Guten Morgen!

Also Problem ist ja, dass die Verbindung zum VPN funzt.
Aber nicht zurück.

@arzie
da ja PPTP über TCP läuft, sind auch alle eigenschaften von TCP vorhanden.
Oder irre ich mich?!

die state Option bei Iptables analysiert die pakete nach dem Status.
Versuch mal, dass du alle Pakete mit dem state ESTABLISHED,RELATED vom VPN durch die Firewall zuläßt.

iptables -A FORWARD -i eth1 -o eth2 --state ESTABLISHED,RELATED -j ACCEPT
(eth anpassen)

Sonst schau mal im RFC 2637 http://www.ietf.org/rfc/rfc2637.txt?number=2637 nach, dort wird PPTP beschrieben. Vielleicht ist dort noch etwas beschrieben.


Gruß
BS

arzie
Beiträge: 134
Registriert: 17.02.2002 15:51:03

Beitrag von arzie » 03.03.2004 17:27:04

BlackSword hat geschrieben: @arzie
da ja PPTP über TCP läuft, sind auch alle eigenschaften von TCP vorhanden.
Oder irre ich mich?!
Du irrst, der Tunnel selbst läuft nicht über TCP sondern über GRE.
GRE ist das IP Protokoll 47.
Was dachtest Du was das -p 47 in "iptables -A INPUT -p 47 -j ACCEPT" bedeutet? ;-)

Arzie

BlackSword
Beiträge: 25
Registriert: 14.01.2004 16:29:58
Wohnort: Südliches Münsterland

Beitrag von BlackSword » 04.03.2004 10:16:43

@arzie
stimmt da war was... THX
dann ist das doch wohl komplizierter als von mir gedacht.

werde mal in nem VPN-Buch nach schauen...

Gruß
BS

Antworten