Sie sind nicht angemeldet.

imase

User

  • »imase« ist männlich
  • »imase« ist der Autor dieses Themas

Beiträge: 618

Registrierungsdatum: 08.12.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Andere Betriebssysteme: CentOS, RedHat

  • Nachricht senden

1

26.06.2007, 08:25

[Gelöst] iptables NAT?

Guten Morgen,

ich brauche eure Hilfe. Ich habe zwei Netze 192.168.20.0/24 und 192.168.22.0/24 dazwischen eine Debian-Kiste als Router. Wenn ich in einem Rechner aus dem Client-Netz .20.0/24 explizit eine Route nach 192.168.22.0 eintrage, dann geht ping, ssh alles was ich habe will und nicht was ich nicht haben will ;)

Ich möchte jedoch nicht auf allen Rechnern im .20.0/24 Netz die Route eintrage. Ich dachte das kann man mithilfe von SNAT am Router. Sprich alle Pakete die aus Netz 192.168.22.0/24 kommen und nach 192.168.20.0/24 wollen sollen mit router-ip genattet werden.

Ich weiß, dass es ähnlich aussehen sollte:

Quellcode

1
iptables -A FORWARD (hier fehlt glaube ich etwas) -s 192.168.22.0/255.255.255.0 -d 192.168.20.0/255.255.255.0 (hier fehlt glaube ich auch was)


Könnt ihr mir helfen?

MFG

imase
?( ?( ?(

  • »hoschi78« ist männlich

Beiträge: 504

Registrierungsdatum: 07.02.2006

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

2

26.06.2007, 16:55

Du könntest zum einen Supernetting machen, dann hast du aber auch keine getrennten Netzwerke mehr.

Zum anderen, was du machen willst. befindet sich grundsätzlich in der Kette "PREROUTING" und nicht "FORWARD".

Du hast ip-forwarding auf der Debian-Kiste aktiviert ? Wenn ja, dann weiss doch die Debian-Kiste ansich schon, wo die Pakete hinmüssen, wenn sie von z.b. 192.168.22.20 an 192.168.24.50 adressiert werden.
Es sollte somit KEIN Problem sein, von Netz A in NEtz B zu kommen, es sei denn du hast mittels iptables irgendwas verboten.

imase

User

  • »imase« ist männlich
  • »imase« ist der Autor dieses Themas

Beiträge: 618

Registrierungsdatum: 08.12.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Andere Betriebssysteme: CentOS, RedHat

  • Nachricht senden

3

26.06.2007, 17:18

Hi,

danke für deine Hilfe, ich habe schon vor einigen Stunden eine Lösung für das Problem. Das Problem ist, dass wenn ich von 192.168.22.2 nach 192.168.20.7 ein Paket schicke, dann weiß Rechner 22.2 die Route, da er eine Route eingetragen hat. Rechner 20.7 weiß aber nicht wohin er das Antwortpaket schicken soll, da er nicht weiß wie er ins Netz 22.0 kommt. Eigentlich müsste ich den Route bei allen Rechnern als default-gateway eintragen. Das ist aber nicht möglich und teilweise unerwünscht, deswegen brauche ich SNAT. Damit beim Paßieren des Routers durch die Pakete, der Quell-IP durch die IP des Routers geändert wird. Und somit Antwortpakete auch von Rechner ohne Route/GW zum Router laufen und von da zum Zielrechner...

PS: Wenn man SNAT macht, dann muss man in Tabelle nat, chain POSTROUTING.

MFG

imase
?( ?( ?(

  • »hoschi78« ist männlich

Beiträge: 504

Registrierungsdatum: 07.02.2006

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

4

26.06.2007, 18:00

Solange deine Debian-Kiste beide Netze kennt ist das doch vollkommen egal, ob das 22-er Netz was vom 24-er Netz weiss, sobald beide wissen, dass w.x.y.z ihr beider Default GW ist. Ergo kümmert sich dich die Debiankiste um das Routing und solange du kein masquerading laufen hast, ändert sich doch auch die IP-Addy nicht oder steh ich da grad voll aufm Schlauch ?

22 will an 24 schicken, weiss aber nicht wo 24 ist, weil er 24 nicht kennt. Logische Schlussfolgerung, er schickt an GW. GE schaut, ob er 24 kennt, wenn ja, schickt er an 24, wenn nicht an SEIN default GW. Also wird das Paket einfach weitergeleitet. Die Antwort von 24 ist aber doch an 22 gerichtet, weil keine Adressumsetzung (NAT) stattfindet. Da 24 den Host 22 nicht kennt, schickt er es wiederum an sein default GW und das kennt 22 und leitet es weiter.
Egal ob gelöst oder nicht, ich sehe das Problem grade nicht wirklich.

imase

User

  • »imase« ist männlich
  • »imase« ist der Autor dieses Themas

Beiträge: 618

Registrierungsdatum: 08.12.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Andere Betriebssysteme: CentOS, RedHat

  • Nachricht senden

5

26.06.2007, 18:54

Hi,

das Problem ist, dass ich keine GW eintragen kann, das heißt manche Rechner keins GW bzw. ein anderes eingetragen haben, welches ebenfalls keine Ahnung von 24 bzw. 22 hat. Deswegen brauche ich SNAT. Aber es ist okay, das Problem ist gelöst, zumindest vorerst...

Danke!

MFG

imase
?( ?( ?(

  • »hoschi78« ist männlich

Beiträge: 504

Registrierungsdatum: 07.02.2006

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

6

26.06.2007, 19:52

Wenn einige Rechner kein oder ein anderes default GW haben, dann führt wohl kein sinniger Weg an Routensetzung auf den einzelnen Clients vorbei fürchte ich.
Müsst das Scenario selbst mal auf bauen und testen.. is im Moment eh pure Theorie ;-)