Portál AbcLinuxu, 12. května 2025 08:05

Dotaz: presmerovanie cez iptables

12.1.2008 14:35 kuso
presmerovanie cez iptables
Přečteno: 284×
Odpovědět | Admin

mám sieť z 2 PC( linux je server pripojený do netu, WinXp je pripojené k linux)

Na linuxe sú 2 sieťové karty eth0 - internet eth1 - LAN ( linux - 192.168.0.1, WinXP - 192.168.0.2 ) Mám problém potrebujem presmerovať všetky pripojenia ktoré idú z PC WinXP do internetu na port 25, znova na 192.168.0.2 kde mám vlastný server, kt. caka na porte 25. Keď som napísal:

iptables -t nat -A PREROUTING -p tcp --dport 25 -i eth1 -j DNAT --to 192.168.0.2:25

Pri teste som skúšal spojiť WinXP na hociau IP. Na serveri som zbadal, ze doslo k novemu spojeniu, ale TCP klient cez kt. som isiel mi vyhodil po chvíly time out spojenia. Medzi tím sa aj tak nedalo vobec komunikovat. Prosím poradte co robit?

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

kozzi avatar 12.1.2008 14:52 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
nejak presne nechau co chces. Jaky vlastni server ti tam bezi? Co presne to ma delat. popis to nejak lip.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
12.1.2008 15:05 kuso
Rozbalit Rozbalit vše Re: presmerovanie cez iptables

chcem presmerovat komunikaciu z ( 192.168.0.2 -> ***:25 ) na (192.168.0.2 -> 192.168.0.2:25)

Keď som upravil IPtables tak, je tu maly náznak toho že presmerovanie sa naozaj uskutočnilo neaký ten 1.paket asi presmerovalo ale ďalšia komunikácia už nefunguje. Data sa nedajú prijímať ani odosielať ani jedným smerom.
Mr.Yoda avatar 12.1.2008 15:11 Mr.Yoda | skóre: 17 | blog: jakub | Louny
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
No, pokud chceš přesměrovat port, tak ti nastačí --to, musíš použít --to-destination ->

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.2:25
:-* Debian
Mr.Yoda avatar 12.1.2008 15:13 Mr.Yoda | skóre: 17 | blog: jakub | Louny
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Eh, pravda, pokud se jedná o stejné porty, -destination tam bejt nemusí nebo to lze napsat takto ->

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 25 -j DNAT --to 192.168.0.2
:-* Debian
12.1.2008 15:20 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máte na tom linux ve firewallu povolenou komunikaci z těch WinXP na port 25 na serveru? Běží na serveru nějaký program, který na portu tcp/25 na příslušné IP adrese naslouchá?
12.1.2008 15:27 kuso
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
vo WinXP som povolil komunikaciu na porte 25 a je tam aj nasluchajuci program ...tam asi chyba nebude, podla mna neco na linuxe neni ece nastavene alebo je neco zablokovane
Mr.Yoda avatar 12.1.2008 15:29 Mr.Yoda | skóre: 17 | blog: jakub | Louny
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Hoď sem iptables -L -vn
:-* Debian
12.1.2008 15:38 kuso
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Chain INPUT (policy ACCEPT 237 packets, 67680 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   69 14083 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 775 packets, 48706 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 100K 6852K ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
16407 9588K ACCEPT     all  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 177 packets, 16461 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   57  4126 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           udp dpt:53 
{{{bbea760bd41090fd092bbc57231368d1_798_1078_b64_76_1}}}
12.1.2008 16:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Na INPUT i OUTPUT máte default policy ACCEPT, to by mělo být OK. Pošlete ještě výpis
iptables -t nat -nvL
Můžete si tam také překontrolovat, zda se při spojení zvyšuje počet odeslaných paketů. No a nejlepší bude, když se podíváte, jak to na linuxovém rozhraní vypadá s jednotlivými pakety – zda přicházejí a odcházejí, a s jakými IP adresami:
tcpdump -ni eth1 'port 25'
12.1.2008 16:12 kuso
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin
asi som na to prisiel, funguje to iba ked dam presmerovanie na 192.168.0.1, a nie na 192.168.0.2, cize IP z kt. som sa pokusal aj spojit. Mozno preto, ze ta ostatna komunikacia uz neprebiehala cez linux server a potom sa robili zmatky v IP adresach a paketoch. Cize iptables -t nat -A PREROUTING -p tcp --dport 25 -i eth1 -j DNAT --to 192.168.0.1:25 funguje
12.1.2008 16:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
Aha, tuhle část dotazu jsem nějak přeskočil, myslel jsem, že server je na Linuxu… To je jasné, že to při přesměrování komunikace zpět nefunguje – a nefungovalo by to ani z žádné jiné stanice ze sítě 192.168.0.0. Protože když zahájí třeba 192.168.0.2 komunikaci na tcp port 25 a je přesměrován zpět na 192.168.0.2. Pokud chce ten počítač odpovědět, podívá se na IP adresu odesílatele, zjistí, že je to on sám, a paket už nikam do sítě neposílá (pokud by komunikoval s jiným počítačem v síti, pošle mu to přímo). Problém je tedy v tom, že se linuxový počítač nedostane k odpovědi, aby mohl provést reverzní DNAT. Vyřešit to můžete tak, že vedle DNATu uděláte i SNAT, aby se pakety vždy nejprve vrátily na linuxový server, a ten je mohl zpátky odDNATovat.
Mr.Yoda avatar 12.1.2008 21:16 Mr.Yoda | skóre: 17 | blog: jakub | Louny
Rozbalit Rozbalit vše Re: presmerovanie cez iptables
A ty neumíš zprovoznit postfixe na linuxu?
:-* Debian

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.