Файрвол ubuntu. Как входящий пакет «путешествует» по правилам?
В файрвол приписал правила:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
Меня интересует вопрос: пришёл пакет из сети, предназначен для 80 порта, как я понял он проверяется по правилам с верху в низ. поверяем на соответствие 1 правилу: да он для 80 порта, пропускаем пакет... а что дальше? этот же самый пакет проверяется по остальным правилам? или при первом же совпадении ему не добраться до других правил?
то есть при первом совпадении, его участь решается только этим правилом? а если так:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
допустим мне нужен доступ только с этого ИП, а при таком раскладе все будут иметь доступ к этому порту? это значит надо придумывать это правило объединить в одно?
в примере выше логика
1) "пускаем порт 80 со всех айпи адресов по TCP"
2) пускаем 192.168.1.1 по всем портам
3) Далее зависит от дефолтной политики - если она дроп то будет всё остальное DROP
CeBePHblY:
1) в примере из коммента - дойдёт до второго
2) Не дойдёт если первое правило это "дропать все пакеты НЕ 80-го порта" (т.е. DROP для -port ! 80 грубо говоря), а у Вас "пропускать все пакеты 80-го порта, и если не совпало - выполнять правила дальше"
я вас что то не пойму)
1)в примере из коммента - дойдёт до второго
2)у Вас "пропускать все пакеты 80-го порта, и если не совпало - выполнять правила дальше"