Comments 6
Несколько похоже на выдержку из учебника с налетом академичности.
К примеру:
Чуть ниже картинка, которая объясняет все намного лучше, чем эти две строчки.
У меня сразу вопросы: зачем кто-то извне будет отправлять пакеты моему файрволу? Правильный ответ: никто не будет.
На самом деле INPUT и OUTPUT рулят трафиком, который предназначен внутренним сервисам — тем сервисам, которые крутятся непосредственно на шлюзе, как то: ssh, http, ftp и т.д.
Хочу ограничить доступ извне к ssh на шлюзе? Добро пожаловать в INPUT. Какой-то PHP-скрипт на моем веб-сервере отправляет статистику своему разработчику? Добро пожаловать в OUTPUT.
А FORWARD рулит трафиком, который проходит транзитом через шлюз. Кто-то спамит в моей сети через внешний сервис? Добро пожаловать в FORWARD.
Далее: после описания цепочек ВНЕЗАПНО идет выдержка из какой-то документации по ICMP. Зачем? Если описывается в контексте REJECT, то вместо выдержки с абсолютно ненужной информацией было бы неплохо указать перечень кодов ICMP, которые может отдавать REJECT.
Всюду используется опция '-n', но нигде не объясняется ее смысл. Мне, к примеру, более понятен вывод без нее: вижу не магические числа, а осмысленные имена портов.
Также логично то, что большее количество правил приводит к большему количеству проверок, а значит к большей нагрузке на шлюз в случае большого количества трафика.
Это вот переписывается одной строкой:
Еще можно сократить до одной строки:
Впрочем, эта строка все равно разобьется на два правила, но файлик с перечнем правил станет компактнее и понятнее.
Еще бы имело смысл добавить описание простых утилит: iptables-save/iptables-restore/iptables-apply. К примеру первая из них показывает правила в том виде, в котором они добавляются через iptables.
В целом же, для того, чтобы понять iptables, достаточно посмотреть на картинку типа этой:
И дальше лазить в ман просто для того, чтобы вспомнить какой-нибудь ключик.
К примеру:
INPUT: касается пакетов, пунктом назначения которых является сам файрвол;
OUTPUT: касается пакетов, которые отправляет файрвол;
Чуть ниже картинка, которая объясняет все намного лучше, чем эти две строчки.
У меня сразу вопросы: зачем кто-то извне будет отправлять пакеты моему файрволу? Правильный ответ: никто не будет.
На самом деле INPUT и OUTPUT рулят трафиком, который предназначен внутренним сервисам — тем сервисам, которые крутятся непосредственно на шлюзе, как то: ssh, http, ftp и т.д.
Хочу ограничить доступ извне к ssh на шлюзе? Добро пожаловать в INPUT. Какой-то PHP-скрипт на моем веб-сервере отправляет статистику своему разработчику? Добро пожаловать в OUTPUT.
А FORWARD рулит трафиком, который проходит транзитом через шлюз. Кто-то спамит в моей сети через внешний сервис? Добро пожаловать в FORWARD.
Далее: после описания цепочек ВНЕЗАПНО идет выдержка из какой-то документации по ICMP. Зачем? Если описывается в контексте REJECT, то вместо выдержки с абсолютно ненужной информацией было бы неплохо указать перечень кодов ICMP, которые может отдавать REJECT.
Всюду используется опция '-n', но нигде не объясняется ее смысл. Мне, к примеру, более понятен вывод без нее: вижу не магические числа, а осмысленные имена портов.
Также логично то, что большее количество правил приводит к большему количеству проверок, а значит к большей нагрузке на шлюз в случае большого количества трафика.
# iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
Это вот переписывается одной строкой:
iptables -A INPUT -m multiport -m state --state NEW -p tcp --dport 22,80,143 -j ACCEPT
Еще можно сократить до одной строки:
# iptables -A INPUT -s 10.0.1.5 -j DROP
# iptables -A INPUT -s 31.13.74.0/24 -j DROP
# iptables -A INPUT -s 10.0.1.5, 31.13.74.0/24 -j DROP
Впрочем, эта строка все равно разобьется на два правила, но файлик с перечнем правил станет компактнее и понятнее.
Еще бы имело смысл добавить описание простых утилит: iptables-save/iptables-restore/iptables-apply. К примеру первая из них показывает правила в том виде, в котором они добавляются через iptables.
В целом же, для того, чтобы понять iptables, достаточно посмотреть на картинку типа этой:
Netfilter scheme
И дальше лазить в ман просто для того, чтобы вспомнить какой-нибудь ключик.
+2
Про conntrack одно предложение, а собственно это один из самых важных компонентов iptables, без понимания которого тяжело понять как работает например nat.
+1
Я так понимаю, что астрологи объявили что-то там связанное с Kali Linux, и теперь недели две ни единой статьи про азы линукса без упоминания Kali Linux?
+2
Sign up to leave a comment.
Kali Linux: фильтрация трафика с помощью netfilter