snat und dnat auf einem Host

Sven Broeckling sven at broeckling.de
Tue Apr 15 12:07:02 CEST 2003


Hi zusammen, 


Nach einigen erfolglosen Versuchen, auf einem Single-Host Firewall/Router
snat und dnat gleichzeitig zu machen, jetzt mal ne vorsichtige Frage, ob
das überhaupt möglich ist. Alle Dokumentationen/Anleitungen, die ich
gefunden habe, beziehen sich nämlich nur auf eines von beiden. Mal kurz
zur Situation : 

Ich hab ein internes Netz (192.168.0.0/24) und ein offizielles (/26).
Dazwischen steht z.Zt. so ein embedded-Gerät, dass filtert und
forwarded. Dieses Gerät möchte ich gerne ablösen. Im folgenden
Bildchen stehen an den Rechnern die Bezeichnungen, die ich auch
im iptables-Script verwendet habe. 

 

     +--------+
     | Cisco  | $CISCO
     +--------+
        |
        | $OME $OWWW $OPROX $OWEBH
     +--------+
     | Firew. |
     +--------+
        | $IME
        |
        |    $IWWW $IWEBH
        |    +-----------+
        X----| WebServer |
        |    +-----------+
        |
        | $IPROX
     +--------+
     | WebSer.|
     +--------+ 

Der Firewall-Rechner macht DNAT auf das $OME Interface, was auch wie
erwartet ohne Probleme funktioniert. Wenn ich jetzt allerdings
versuche, eingehende Anfragen (http, smtp, ..) via SNAT auf die
internen Rechner (die auch nur interne IP's haben) zu bringen,
geht die Anfrage zwar durch, aber die Antwort verliert sich irgendwo.
Kann es sein, dass ich dann "nach innen" auch noch DNAT machen
muss? Wenn ja, hab ich damit irgendwas falsch gemacht, das brachte
nämlich auch nicht den gewünschten Erfolg. 

Das Script hab ich mal an die Mail angehängt, damit die Umbrüche
nicht durch das Webmail Interface vernichtet werden. Im Script
sind lediglich die Adressen des offiziellen Netzes geändert, alles
weitere (incl. der Hostadressen im 26er Netz) ist im Original. 

Ist das überhaupt möglich (ob es sinnvoll ist, ist eine andere
Frage), snat und dnat in dieser Weise auf einem Rechner zu machen?
Und ja, bislang wird "alles" forwarded, das hatte ich zum Testen
erstmal so eingerichtet. Wenns läuft, wollte ich nur einzelne
Ports weiterleiten. 

Vielleicht sieht ja jemand den Wald auf Anhieb, den ich nicht sehe :) 

TIA
 Sven 




More information about the Linux mailing list