Portál AbcLinuxu, 26. dubna 2024 09:36


Dotaz: Presmerovanie portu iptables

21.5.2008 21:34 deejay | skóre: 2
Presmerovanie portu iptables
Přečteno: 388×
Odpovědět | Admin
Dobry den,viem ze to tu bolo uz vela krat preberane,ale aj napriek tomu sa mi nedari rozbehnut jednu malickost.Potreboval by som z gateway(debian), ktora ma vstupny interface eth1,presmerovat port 80 na port 80 ale inej masiny,konkretne 192.168.2.3, ktora je pripojena na eth0 gateway a je vlastne za NAT a tiez za transparentnym proxy( proxy-squid a nat bezia na gateway)...Gateway ma verejnu ip adresu a ked sa chcem dakde v internet cafe pozriet na svoj lokalny web server aby mi ta gateway presmerovala poziadavky na tu ip adresu druheho stroja ...Dufam ze som to vysvetlil zrozumitelne a vopred dakujem za odpoved
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.5.2008 10:21 marek
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dobry den.

Pisu z hlavy - mohou tam byt preklepy a jine nesmysly:

#!/bin/bash
ROUTER=1.1.1.1 #Vase vnejsi IP adresa serveru
SERVER=192.168.2.3
PORT=80
ZNACKA=1


iptables -t mangle -A PREROUTING  -p tcp -d $ROUTER --dport $PORT -i eth1 -j CONMARK --set-mark $ZNACKA #oznaci cele spojeni ZNACKOU
iptables -t nat -A PREROUTING -i eth1 -m mark --mark $ZNACKA -j DNAT --to-destination $SERVER #preposle na SERVER vse co je oznaceno ZNACKOU a prichazi c eth1 

iptables -A FORWARD -m mark --mark $ZNACKA -j ACCEPT # povoli forward vseho oznaceneho ZNACKOU


echo 1 > /proc/sys/net/ipv4/ip_forward # zapne routovani

Marek

22.5.2008 10:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables
Proč tak složitě?
iptables -t nat -A PREROUTING -p tcp -d verjena_IP --dport 80 -j DNAT --to-destination 192.168.2.3:80
22.5.2008 10:38 marek
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables

Dobry den

Tak nejak jsem predpokladal, ze gateway je firewall

To co jste napsal vy pouze zapne presmerovani.

Potom je nutne povolit forward smerem tam.

iptables -A FORWARD -p tcp -i eth1 -o eth0 --dport 80 -d 192.168.2.3 -j ACCEPT

Potom je nutne povolit forward smerem zpet.

iptables -A FORWARD -p tcp -o eth1 -i eth0 --sport 80 -s 192.168.2.3 -m state --state ESTABLISHED,RELATED -j ACCEPT

Nebyl jsem si jisty zda je ip_forward vubec zapnuty, tak jsem to tam pridal.

Mne osobne prijde zapis s CONNMARK prehlednejsi, a myslim si, ze je i pro kernel mene narocny.

Marek

22.5.2008 10:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables
Mne osobne prijde zapis s CONNMARK prehlednejsi, a myslim si, ze je i pro kernel mene narocny.
Neřekl bych, protože v případě, kdy se použije jen NAT, musí kernel hledat pouze v tabulce spojení, v řešení s CONNMARK musí podle mne hledat jak v tabulce spojení, tak musí prohledávat značky.
22.5.2008 11:12 marek
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables

Pro kernel to muze byt mene narocne samozrejme jen pokud se s jednou oznacenym spojenim dela vice veci, protoze je rychlejsi se kouknout na znacku nez pokazde testovat odkud to jde, kam to jde, prez jaka rozhrani, jaky je to state ....

V tomto pripade (uvazuji o presmerovani a povoleni tam a zpet) to asi bude jedno.

Marek

23.5.2008 00:45 deejay | skóre: 2
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables
Dekuju vsem za odpoved a nakonec se mi to podarilo uspesne rozbehnut. Prikladam i riesenie,keby nahodou niekto v buducnosti riesil podobnej problem

iptables -A INPUT -p tcp --dport 80 \-m state --state NEW -j ACCEPT

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.2.3:80

kde eth0 -je interface do lan sieti a ip 192.168.2.3 je adresa pc na ktory chceme presmerovat port
23.5.2008 08:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Presmerovanie portu iptables
Ten prví řádek ale podle mne nemá na to přesměrování vliv. Protože PREROUTING se provede ještě před routováním, takže na pakety, které vás zajímají, pak platí FORWARD.

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.