Discussion:
iptables PREROUTING/POSTROUTING
Ondrej Penicka
2005-11-15 18:04:49 UTC
Permalink
Zdravim, uz par dni se trapim s presmerovanim postovniho serveru,
protoze nemuzu zasahovat do instalace qmailu a pridat patch na
smtproutes, zkousim vyrobit presmerovani pomoci iptables

Servery jsou v jinem subnetu (casablanca.cz -> ev1servers.net) a ja
potrebuji veskery provoz na portu 25 prehodit z <cas> na <ev1>. Krom
nasledujicich pravidel neni v iptables zadne pravidlo. Druhe pravidlo
je nekde uvadeno jinde ne. /proc/sys/net/ipv4/ip_forward je povolen

iptables -t nat -A PREROUTING -p tcp -d <cas> --dport 25 -j DNAT
--to-destination <ev1>
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --source-port 25 -j SNAT
--to-source <cas>

Pouze zmena portu ne presmerovani na jine ip funguje. Nevite kde hledat
problem? Diky
Slavek Banko
2005-11-15 20:41:08 UTC
Permalink
Máte na <ev1> zajištěno, aby odpovědi chodily zpět přes <cas>?
Slávek.
Post by Ondrej Penicka
Zdravim, uz par dni se trapim s presmerovanim postovniho serveru,
protoze nemuzu zasahovat do instalace qmailu a pridat patch na
smtproutes, zkousim vyrobit presmerovani pomoci iptables
Servery jsou v jinem subnetu (casablanca.cz -> ev1servers.net) a ja
potrebuji veskery provoz na portu 25 prehodit z <cas> na <ev1>. Krom
nasledujicich pravidel neni v iptables zadne pravidlo. Druhe pravidlo
je nekde uvadeno jinde ne. /proc/sys/net/ipv4/ip_forward je povolen
iptables -t nat -A PREROUTING -p tcp -d <cas> --dport 25 -j DNAT
--to-destination <ev1>
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --source-port 25 -j SNAT
--to-source <cas>
Pouze zmena portu ne presmerovani na jine ip funguje. Nevite kde hledat
problem? Diky
Michal Šafránek
2005-11-15 21:37:19 UTC
Permalink
Podle meho nazoru, pokud se provadi dnat, tak staci, aby na cilovem
stroji <ev1> byl povoleny port 25 z ip adresy <cas>...
Pravidla mi pripadaji v poradku, jen bych mozna misto toho druheho dal
toto (ikdyz nevim, jestli to bude mit nejaky vliv...):
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --dport 25 -j SNAT --to <cas>
S vypnutym firewallem na cilovem stroji to vypada jak?

S pozdravem
Michal Safranek
Post by Slavek Banko
Máte na <ev1> zajištěno, aby odpovědi chodily zpět přes <cas>?
Slávek.
Post by Ondrej Penicka
potrebuji veskery provoz na portu 25 prehodit z <cas> na <ev1>. Krom
nasledujicich pravidel neni v iptables zadne pravidlo. Druhe pravidlo
je nekde uvadeno jinde ne. /proc/sys/net/ipv4/ip_forward je povolen
iptables -t nat -A PREROUTING -p tcp -d <cas> --dport 25 -j DNAT
--to-destination <ev1>
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --source-port 25 -j SNAT
--to-source <cas>
Slavek Banko
2005-11-15 22:51:26 UTC
Permalink
1. Pokud provedete DNAT, tak se to netýká zdrojové adresy. Pokud tedy
<cas> neprovede ještě SNAT, tak na <ev1> budou přicházet pakety s původní
zdrojovou adresou == povolit na <ev1> jen pakety z <cas> by nestačilo.

2. Druhé pravidlo mi nepřipadá v pořádku:
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --source-port 25 -j SNAT
--to-source <cas>

Pokud pravidlo mělo zajistit, aby na <ev1> přicházely pakety se zdrojovou
adresou <cas>, pak je chybně. Ostatně proto můj původní dotaz, jak je
zajištěna zpáteční cestu paketu... Pokud se o to měl postarat uvedený
SNAT, pak by měl být:

iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 25
-d <ev1> -j SNAT --to-source <cas>

Pokud bude použito toto pravidlo, pak již opravdu bude stačit na <ev1>
povolit příchozí pakety jen z <cas>.

Slávek.
Post by Michal Šafránek
Podle meho nazoru, pokud se provadi dnat, tak staci, aby na cilovem
stroji <ev1> byl povoleny port 25 z ip adresy <cas>...
Pravidla mi pripadaji v poradku, jen bych mozna misto toho druheho dal
iptables -t nat -A POSTROUTING -p tcp -s <ev1> --dport 25 -j SNAT --to
<cas> S vypnutym firewallem na cilovem stroji to vypada jak?
S pozdravem
Michal Safranek
Ondrej Penicka
2005-11-16 18:56:46 UTC
Permalink
presne tak jsem to myslel, s iptables moc zkusenosti nemam.. az ted
jsem pochopil jak vlastne postrouting funguje, uz to bezi.. diky
Roztomily Jan
2005-11-18 12:20:32 UTC
Permalink
Post by Ondrej Penicka
presne tak jsem to myslel, s iptables moc zkusenosti nemam.. az ted
jsem pochopil jak vlastne postrouting funguje, uz to bezi.. diky
Jinak jeste si dejte pozor Pri presmerovani portu 25 se vetsinou stava
ze uzivatel otevre 25 komukoliv. Teda zkuste si overit aby Vas server
nebyl openrelay. To jen proto aby Vam za par dni neprislo x tisic
nedorucenych mailu. Vyzkousejte to napr. na www.ordb.org
Honza

Loading...