iptables - vymena portu a schovani skutecneho portu

Jan Houstek jan.houstek na mff.cuni.cz
Čtvrtek Srpen 25 14:58:39 CEST 2005


On Thu, 25 Aug 2005, Zdenek SUTR Kaminski wrote:

> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -j DNAT --to $INET_IP:7001 # Menim port z 80 na 7001
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 7001 -j DNAT --to $INET_IP:9999 # Pokud nekdo chce rovnou na 7001 tak to menim na 9999
>
> Misto -j DNAT tam dejte DROP, funguje to.

Fuj!

> > Nejaky tip, co delame spatne?
>
> Spise bychom ted potrebovali nekoho, kdo vysvetli, proc to s DROP
> funguje...

A proc by to nefungovalo? Built-in targety DROP, ACCEPT, RETURN a QUEUE
jsou platne ve vsech tabulkach a chainech. Neni na tom nic prekvapiveho
zahodit paket do cerne diky lze v prubehu jeho pracovani vicemene kdykoliv
(narozdil napr. od vygenerovani ICMP nebo TCP RST paketu, coz umi target
REJECT, ktery uz je platny jen ve filter tabulce).

Technicky nic nebrani tomu mit cely firewall treba v mangle tabulce, ale
ma-li nekdo jen minimalni cit pro vec, tak bude jednotlive tabulky
pouzivat k tomu, k cemu byly urceny, tj.

filter k filtrovani
mangle k pozmenovani paketu
nat k hratkam s IP adresami a porty

V tomto konkretnim pripade ten DROP (nebo pripadne REJECT) patri do
tabulky filter do chainu FORWARD.

-- Honza Houstek


Další informace o konferenci Linux