PPTP Gateway (NAT, aber wie anstellen?)

TheBadFish

Neuer User
Mitglied seit
10 Sep 2006
Beiträge
69
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

Ich habe hier zwei Fritzboxen.

1: FBF7270 als Hauptbox mit der IP 192.168.179.1. Diese stellt die Verbindung über DSL her, macht VOIP, DECT, und aller Kram. Sie läuft unter Freetz 1.1rc mit 70er Image.

2: FBF7141 als PPTP Gateway, betrieben als reiner IP Client mit der IP 192.168.179.2. Ebenfalls mit Freetz 1.1rc und 70er Image

Die zweite Box wurde notwendig, da auf der 7270 der pptp Client nicht richtig läuft.

Auf der 7141 habe ich den pptp Client wunderbar am laufen, ich kann Server im entfernten Netz anpingen. Aber wie schaffe ich es, dass ich diese VPN Connection aus dem kompletten LAN verwenden kann? Quasi eine LAN2LAN Kopplung?

Im Moment habe ich in der Routingtabelle der 7414 folgendes stehen:

Code:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.178.142 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 ppp0
192.168.179.0   0.0.0.0         255.255.255.0   U     0      0        0 lan
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 lan
0.0.0.0         192.168.179.1   0.0.0.0         UG    9      0        0 lan

Wobei 178.0 das entfernte Netz ist, auf der IP 178.142 läuft der VPN Server.
Somit werden doch sämtliche Anfragen an das Netz 178.0 zum Interface ppp0 rausgeschickt. Wie gesagt, auf dieser Box ist soweit noch alles toll.

Um jetzt aus dem kompletten LAN, also 192.168.179.0 auf dieses VPN zugreifen zu können, muss ich ja ein NAT an den Start bringen. Nur wie stell ich das an? iptables laufen doch nicht auf der FBF, oder?
 
Zuletzt bearbeitet:
Wer sagt dass du Nat dafür brauchst? Wie sieht die Routingtabelle am anderen Ende der verbindung aus? Was funktioniert an iptables nicht?
 
Am anderen Ende der Leitung wird nichts groß geroutet. Ist ein Windows Server mit PPTP, also eigentlich für Client2LAN Verbindungen gedacht.

Routing auf Serverseite fällt also flach.

Was für Möglichkeiten habe ich denn dann noch, doch eigentlich nur ein NAT auf meiner Seite, oder?

Was nehm ich da am besten?

/Edit: (Um den Aufwand möglichst gering zu halten.)
 
Am anderen Ende MUSS geroutet werden, sonst wissen die Clients nicht, wohin sie die Pakete schicken sollen, und die Daten gehen dann, falls eine internetverbindung besteht, dorthin.
Aus welchem Grund meinst du, dass Routing nicht möglich ist? Wegen Windows-Server?
 
Du hast recht, da wird geroutet. Irgendwie müssen die Pakete an die einzelnen Clients und Server im Zielnetz kommen.

Aber das ist eigentlich zweitrangig, ich kann am Zielnetz nichts ändern, das gehört nicht mir. Alles was ich habe ist eine Adresse und Zugangsdaten. Es muss also zwangsläufig alles auf meiner Seite gemacht werden.
 
Ich formuliere es mal anderst: Habe ich eine Alternative zu iptables?
 
Die Frage stellte ich auch schon mal. Resultat: keine Alternative zu iptables.
 
Doch, ich habe TheBadFish schon über drei Lösungsmöglichkeiten die mir dazu einfallen informiert. Wenn Ihm zwei davon nicht gefallen wird es die dritte vermutlich auch nicht.
 
Diese Lösungsmöglichkeiten würden mich auch interessieren, magst du mich aufklären ;-)?
 
Ja, die waren:

1. Routing, wie auch immer auf Serverseite
2. NAT auf Clientseite -> iptables
3. Bridge

1. fällt flach weil ich da drauf keinen Einfluss habe. Von "nicht gefallen kann da nicht die Rede sein.

2. Da sind wir gerade.

3. Versteh ich nicht. Wenn das einfacher geht wie mich mit iptables rumzuschlagen gerne. Klärt mich auf was da passiert. Ich habe dann eine Brücke zwischen ppp0 und lan. Was läuft dann mit den IPs? Behält mein lokales Netz die 179.0? Die IPs des entfernten Netzes kann ich genausowenig wie seine Routen beeinflussen.


Mir kommt es so vor, als wären iptables für meinen Zweck wie Kanonen auf Spatzen. OK, ich müsste eine Adressübersetzung machen, aber ich brauche dazu keinerlei Regeln. Ich will nichts sperren, nichts umleiten, nichts sichern. Das entfernte Netz ist ebenso wie meins eines, dem ich vertraue.
 
Du brauchst dich mit überhaupt nichts "rumschlagen", bitte den Admin des VPN-Servers das er dein Netz 192.168.179.0/24 über den Tunnel routet und gut is. Wenn das vom Admin nicht gewünscht ist gibt es von mir auch keine Unterstützung für 2. und 3.
 
Du machst deinem Nick alle Ehre.

Vielen Dank für die Unterstützung.

Und von "rumschlagen" schreibt hier gar niemand was. Also bitte bleib mal auf dem Teppich.
 
Hab die iptables auf die Box gebaut.

Code:
-A INPUT -s 192.168.178.0 -d 192.168.178.0 -p all   -i ppp0 -j ACCEPT
-A FORWARD -s 192.168.178.0 -d 0.0.0.0 -p all   -i ppp0 -j ACCEPT
-A FORWARD -s 0.0.0.0 -d 192.168.178.0 -p all   -i ppp0 -j ACCEPT
-A OUTPUT -s 0.0.0.0 -d 192.168.178.0 -p all    -j ACCEPT
-A POSTROUTING -t nat  -o ppp0 -j MASQUERADE 
-A POSTROUTING -t nat  -o lan  -j MASQUERADE

Ich hoffe ich hab keine groben Schnitzer drin, es funktioniert nämlich. :mrgreen:

Heute Mittag wurde meine 7270 von einem Blitzeinschlag zermalmt. :mad: Die 7141 hat es wie durch ein Wunder überlebt. Deshalb macht die 7141 grad auch das DSL. Sobald ich meine 7270 wieder habe, (1und1 tauscht sie ohne zu meckern), wird die 7141 wieder zum Client und auf die 7270 kommt ne Kernelroute.

Wenn ich schlimme Sachen in den iptables treibe, dann weisst mich bitte drauf hin.
 
OK, IP-Routing ist natürlich klar, aber da hier von NAT die Rede ist, war mir eigentlich klar, dass das kein gangbarer Weg ist. Bridgiong wir für zwei verschiedene Subnet's nicht funktionieren.

@TheBadFish
Auf deiner 7141 läuft der alte 2.6.13.er Kernel, da wirst du mit iptables, dem contrack-Kernelmodul nach ein paar Stunden keinen Spass mehr haben (Absturz!). Dazu gibt es einige Threads hier im Forum, jedoch keine endgültig funktionierende Lösung.
 
Ich weiss, grad eben hat sie nen Reboot gemacht. So wie ich das kapier, muss ich doch nur das ip_conntrack modul entladen.

Ich verwende das eigentlich nicht, warum wird das dann überhaupt geladen? bzw, wo steht denn welche Module geladen werden? Hab irgendwo gelesen, dass einer alle Module mit ins image gepackt hat und dann bei Bedarf die jeweiligen lädt. Das hab ich auch so gemacht, aber ich hab noch nicht rausgekriet wo steht welche Module er lädt. Im Freetz WebIf unter Einstellungen -> Modules steht nichts drin.

Trotzdem:
Code:
/var/mod/root # lsmod
Module                  Size  Used by    Tainted: P
ppp_mppe_mppc          15504  2
ppp_deflate             5440  0
ppp_async              10048  1
crc_ccitt               1664  1 ppp_async
ppp_generic            27584  7 ppp_mppe_mppc,ppp_deflate,ppp_async
slhc                    7040  1 ppp_generic
sha1                    2240  2
arc4                    1440  2
ipt_REDIRECT            1536  0
ipt_MASQUERADE          2496  2
iptable_nat            22096  3 ipt_REDIRECT,ipt_MASQUERADE
ipt_iprange             1600  0
ipt_multiport           2176  0
ipt_mac                 1504  0
ip_conntrack_ftp       71552  0
ipt_state               1312  0
iptable_filter          2112  1
ipt_LOG                 7328  0
ip_conntrack           42288  4 ipt_MASQUERADE,iptable_nat,ip_conntrack_ftp,ipt_         state
ip_tables              21088  9 ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,ipt_ipra         nge,ipt_multiport,ipt_mac,ipt_state,iptable_filter,ipt_LOG
sch_sfq                 5088  4
sch_llq                 8896  1
sch_tbf                 5888  1
usblp                  11936  1
tiap                  452800  0
kdsldmod              841776  2
usbahcicore            26064  0
usbcore               113328  4 usblp,usbahcicore
capi_codec            136960  0
isdn_fbox_fon4        894576  1 capi_codec
ubik2                  85712  2 capi_codec,isdn_fbox_fon4
tiatm                 112544  1 ubik2
jffs2                 108832  0
Piglet                 10656  0

Und wie darf ich das hier verstehen?
Code:
/var/mod/root # rmmod ip_conntrack
rmmod: ip_conntrack: Resource temporarily unavailable
 
rmmod geht nur wenn die in deiner Tabelle "Used by" nicht mehr geladen sind.
Es werden grundsätzlich keine Module geladen. Man kann dies auf dem WIF bei "Module" machen. Ich glaub das iptables-cgi lädt ein paar beim Start (das cgi braucht man nicht unbedingt)
 
ip_contrack wirtd zwingend für NAT benötigt. Allerdings hast du viel zu viele andere aunnötige Module geladen. Wenn du iptables gestartet hast, schau mit lsmod nach, welche Module verwendet werden (Used by > 0). Den Rest kannst du dann weglassen.

Ich würde sagen, du brauchst
ip_conntrack, ip_tables, iptable_nat, ipt_MASQUERADE, iptable_filter
 
Aber nochmal: Solange die Route am entfernte Server nicht richtig konfiguriert ist, können die Clients hinter diesem nicht erreicht werden. Ob mit oder ohne Nat.
Das hilft dir bei deinem Problem also kein bisschen
 
Die Routen auf der anderen Seite sind da. Ich komm an alle Services auf der anderen Seite ran. Beim Exchange Server hakt es noch ein bisschen, muss ich mal schauen woran das liegt.

Und wie lass ich die restlichen Module weg? Das ist ja grad das, was ich nicht kapier. Im WebIf unter "modules" steht nix drin.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.