[iptables] weiterleitung

Revolution

Commodore
Registriert
März 2008
Beiträge
4.965
Hallo zusammen,

Ich hänge locker schon ein paar Tage an einem relativ einfachen Problem dachte ich zumindest.



Folgendes Scenario


Öffentlicher Webserver der Public IP 123.123.123.123 soll auf Port 25 alle eingehen Mails an den Mailserver im VPN netz weiterleiten. Webserver hat die VPN IP 10.0.0.10 und der Mailserver die IP 10.0.0.1

Als weitere Herausforderung soll der Webserver die IP Adresse der echten Clients stehen und nicht alles mit 10.0.0.10

Ich glaub ich hab das locker 100 Millionen Kombinationen durch nix geht jemande ne Idee wie die Korrekt regel dafür ist?
 
Für den Mailserver sollte folgendes funktionieren:
Code:
iptables -t nat -A PREROUTING -d 123.123.123.123 -p tcp --dport 25 -j DNAT --to-destination 10.0.0.1:25
iptables -t nat -A POSTROUTING -s 10.0.0.1 -j SNAT --to-source 123.123.123.123
Die erste Regel leitet Port 25 auf den Mailserver weiter, die zweite ersetzt die Quell-IP bei ausgehenden Paketen.

Revolution schrieb:
Als weitere Herausforderung soll der Webserver die IP Adresse der echten Clients stehen und nicht alles mit 10.0.0.10
Das versteh ich nicht. Warum sollte der Webserver seine eigene IP als Quelle sehen?
 
Leider funktioniert das nicht


Sorry natürlich soll nicht der Webserver die IP's der echten Clients sehen sondern der Webserver bei NAT wird ja in der Regel die Quell IP ersetzt so das der Mailserver nur noch 10.0.0.1 sehen würde.

Ich poste mal noch den rest der Config ggf. habe ich mir da ein Ei gelegt..

Code:
#!/bin/sh
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
 
### Localhost alles erlauben
 
iptables -A INPUT -i lo -j ACCEPT                #eingehende Kommunikation für lo (Localhost) zulassen
iptables -A OUTPUT -o lo -j ACCEPT               #ausgehende Kommunikation für lo (Localhost zulassen
 
### Ping erlauben
 
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
 
### DNS erlauben
 
iptables -I OUTPUT -o eth0 -p TCP --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i eth0 -p TCP --sport 53 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I OUTPUT -o eth0 -p UDP --sport 1024:65535 --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i eth0 -p UDP --sport 53 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
### SSH Verbindungen erlauben
 
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
 
### HTTP Verbindungen erlauben
 
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
 
### HTTPS Verbindungen erlauben
 
iptables -A INPUT -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
 
### Openvpn Verbindungen erlauben
 
iptables -I OUTPUT -o eth0 -p udp --sport 1024:65535 --dport 1194 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i eth0 -p udp --sport 1194 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
### MySQL Verbindung 10er Netz erlauben
 
iptables -A INPUT -i tap0 -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tap0 -p tcp --sport 3306 -m state --state ESTABLISHED -j ACCEPT
 
### SMTP Verbindung erlauben
 
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT
 
iptables -I OUTPUT -o eth0 -p TCP --sport 1024:65535 --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i eth0 -p TCP --sport 25 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
### Postfix SMTP Workaround
 
iptables -I OUTPUT -o tap0 -p TCP --sport 1024:65535 --dport 25 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -i tap0 -p TCP --sport 25 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT
 
iptables -A INPUT -i tap0 -p tcp --dport 26 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o tap0 -p tcp --sport 26 -m state --state ESTABLISHED -j ACCEPT
 
### APT GET
 
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
 
### Weiterleitung SMTP
 
iptables -t nat -A PREROUTING -d 123.123.123.123 -p tcp --dport 25 -j DNAT --to-destination 10.0.0.1:25
iptables -t nat -A POSTROUTING -s 10.0.0.1 -j SNAT --to-source 123.123.123.123
 
Zurück
Oben