Strona 1 z 1

[+] Priorytet łańcucha w iptables - Red Hat Enterprise

: 18 kwietnia 2009, 21:25
autor: Redhead
Mam malutki problem z iptables. Jak ustawić priorytet w iptables? Nie mogę się doszukać tej opcji w pomocy programu.
Już tłumaczę:

Kod: Zaznacz cały

-A INPUT -j RH-Firewall-1-INPUT
tworzony przez system łańcuch.
Jak robię swój, wiadomo standardowo ,,INPUT''.
Niestety jest on ustawiany za tym systemowym, który na końcu ma blokadę:

Kod: Zaznacz cały

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
i każdy odblokowany port nie działa, chyba że manualnie zmienię pozycję w pliku:

Kod: Zaznacz cały

/etc/sysconfig/iptables
Oczywiście dodając w GUI jest poprawnie, ale po co komu gui?

Przykładowo zamknąłem port SSH w GUI i otwieram w konsoli:

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
i niestety dodaję port za systemowym łańcuchem, który nie chce przepuścić nowego ,,INPUT''.

Kod: Zaznacz cały

RH-Firewall-1-INPUT all -- anywhere anywhere 
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
Dodając port z systemową nazwą ,,RH-Firewall-1-INPUT'' też nie puszcza, bo dodaje go na końcu pliku.

Dziękuję.

[Dodano: 2009-04-18, 21:59]
Dziękuję już problem rozwiązany.

Wystarczy zamiast:

Kod: Zaznacz cały

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
dać

Kod: Zaznacz cały

iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT
1 = numer sekwencji, domyślny. I ta reguła w tym łańcuchu będzie czytana jako pierwsza.

Pozdrawiam.

: 18 kwietnia 2009, 23:12
autor: cassius7
Witam, skorzystaj z opcji -I czyli zaznaczasz regułę tam gdzie chcesz, a jak korzystasz z opcjonalnych swoich tablic to pamiętaj, że i tak muszą się one znaleźć w tablicy podstawowej. Czyli np. robisz tablicę:

Kod: Zaznacz cały

/sbin/iptables -t filter -N TCP_BAD
To potem ustawiasz w taki sposób:

Kod: Zaznacz cały

/sbin/iptables -A INPUT -j TCP_BAD