Hallo,
erstmal vornweg: Die Suche hab ich schon bemüht und bin nicht so richtig fündig geworden.
Ich habe follgendes Szenario:
Rechner poseidon - 192.168.123.1 (ip von eth0) ist Internet-Gateway/NAT-Router: internet -- ppp0 - eth0 -- lan
ppp0=xxx.homeunix.org
Rechner hera - 192.168.123.2 ist MailServer wo IMAP über SSL auf Port 993 läuft
Der Port 993 soll von poseidon nach hera weitergeleitet werden.
Hier die dazugehörige iptables von poseidon http://nopaste.debianforum.de/7662
Von einem externen Rechner kann ich mich problemlos auf den Mailserver xxx.homeunix.org über Port 993 verbinden -> Portforwarding funktioniert soweit.
Mein Problem
Wenn ein interner Rechner (192.168.123.x) den Mailserver auf xxx.homeunix.org ansprechen möchte, kann er sich nicht verbinden.
Ich hoffe mir kann jemand helfen.
Danke schonmal
Gruss
iptables - portforwarding von interner ip
-
- Beiträge: 1581
- Registriert: 01.05.2004 13:21:26
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DE
Re: iptables - portforwarding von interner ip
Das müsstest du schon etwas ausführlicher erklären, kann der interne Rechner den Mailserver überhaupt sehen (ping)? Wenn du mit dem internen Rechner auf den Mailserver per xxx.homeunix.org zugreifst, muss dein router natürlich zur passende Adresse auflösen, d.h. der router liefert wahrscheinlich für xxx.homeunix.org die externe ip, also musst du die Abfrage entweder per /etc/host auf dem router abfangen (xxx.homeunix.org löst zur internen ip auf) oder du musst eine passende Weiterleitung mit iptables erstellen. Ersteres wäre imo besser.copter hat geschrieben:Mein Problem
Wenn ein interner Rechner (192.168.123.x) den Mailserver auf xxx.homeunix.org ansprechen möchte, kann er sich nicht verbinden.
Meintest du das?
ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */
Re: iptables - portforwarding von interner ip
Ja, das funktioniert. Über die interne IP 192.168.123.2 kann ich den Rechner von jedem Rechner im gleichen Subnetz anpingen. Wenn ich die Mailabfrage direkt an die IP 192.168.123.2 richte geht das auch problemlos -> IMAP-Server funktioniert.Das müsstest du schon etwas ausführlicher erklären, kann der interne Rechner den Mailserver überhaupt sehen (ping)?
Die interne Adresse fest in die Clients einzutragen ist auch nicht sonderlich toll, da z.B. Notebooks von extern und von intern zugreifen -> man müsste jedesmal andere Einstellungen eintragen.
So hab ich es übergangsweise auch eingerichtet. Aber gefällt mir nicht, da dann der öffentliche Name xxx.homeunix.org für interne Rechner immer nach 192.168.123.2 verweist. Es ist angedacht, dass auf ner anderen IP andere Serverdienste (Web etc) erreichbar sind und die entsprechenden ports von xxx.homeunix.org dann ebenfalls an die internen Rechner geleitet werden.Wenn du mit dem internen Rechner auf den Mailserver per xxx.homeunix.org zugreifst, muss dein router natürlich zur passende Adresse auflösen, d.h. der router liefert wahrscheinlich für xxx.homeunix.org die externe ip, also musst du die Abfrage entweder per /etc/host auf dem router abfangen (xxx.homeunix.org löst zur internen ip auf)
Genau das habe ich vor. Aber da hängts gradoder du musst eine passende Weiterleitung mit iptables erstellen.
Meintest du das?
Gruss
-
- Beiträge: 1581
- Registriert: 01.05.2004 13:21:26
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DE
Ganz so einfach ist das nicht, gerade wenn schon komplexes iptables-Setup existiert. Aber die Doku [1] geht da auch drauf ein. Du musst das natürlich auf deine Bedürfnisse anpassen, das hier ist die minimale Variante:
Die erste Regel sorgt dafür, dass das Paket überhaupt drin bleibt und den entsprechenden Ausgang bekommt, die zweite Regel ändert die Herkunftsadresse auf die des Routers, für den Server kommt die Anfrage damit vom router. Am besten noch LOG-Regeln vor den eigentlichen rules einfügen, damit das erstmal nachvollziehbar wird.
Mir selbst ist bei dieser Variante nicht richtig wohl, aus verschiedenen Gründen:
ciao, storm
[1] http://iptables-tutorial.frozentux.net/ ... x4033.html
Code: Alles auswählen
iptables -A FORWARD -d $IMAP_IP -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --src $LOCAL_NET/24 --dst $IMAP_IP --dport 993 -j SNAT --to-source $ROUTER_IP
Mir selbst ist bei dieser Variante nicht richtig wohl, aus verschiedenen Gründen:
- fällt die dynamische Auflösung mal aus, kannst du mit keinem Rechner (extern/intern) den Server erreichen, es sei denn du legst wieder Hand an
- für den Server kommen alle Anfragen von der router-Adresse, egal ob berechtigt oder nicht. Damit kannst du dir das Logging schon sparen, da es eh nichts bringt
- den Traffic, wenn vielleicht auch wenig anfällt, zwingst du so immer über den router, d.h. erhöhte Last und single point of failure
- die Postrouting-Regel enthält hier schon die Bedingung "src=lokales Netz": fehlt diese, ist es nicht schwer sich selbst in den Fuß zu schießen und mit etwas rules-Kuddelmuddel einen offenen relay zu produzieren.
ciao, storm
[1] http://iptables-tutorial.frozentux.net/ ... x4033.html
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */