Iptables удалить nat правило: Как удалить правило iptables | Losst
Как удалить правило iptables | Losst
Основная работа c межсетевым экраном Netfilter с помощью утилиты iptables состоит в удалении неверных или неиспользуемых правил и добавлении в цепочки новых правил. Их выполнение осуществляется последовательно.
В этой статье мы рассмотрим как удалить правило iptables с помощью различных команд, например, по его номеру или по действию, которое оно делает. Если вы не знакомы с командами просмотра правил Netfilter рекомендуем вам прочитать статью как просмотреть правила iptables.
Содержание статьи:
Как удалить правило iptables
В рамках статьи нам придётся рассмотреть три варианта команды удаления:
sudo iptables [-t таблица] -D цепочка спецификации_правила
sudo iptables [-t таблица] -D цепочка номер_правила
sudo iptables [-t таблица] -F [цепочка]
Команды для протокола IPv6 будет абсолютно аналогичны:
sudo ip6tables [-t таблица] -D цепочка спецификации_правила
sudo ip6tables [-t таблица] -D цепочка номер_правила
sudo ip6tables [-t таблица] -F [цепочка]
Рассмотрим более подробно все варианты команд и их практическое применение. В данной статье для настройки firewall Netfilter используется операционная система Debian 10.2.
1. Как удалить правило по номеру
Чтобы удалить правило по номеру iptables будет использоваться такая команда:
sudo iptables [-t таблица] -D цепочка номер_правила
Например:
sudo iptables -t filter -D INPUT 2
Данная команда удалит из таблицы filter цепочки INPUT правила с номерами 2. Нумерация правил начинается с 1.
2. Как удалить правило по действию
Удалить правило iptables по выполняемому над пакетами действию можно с помощью следующей команды:
sudo iptables [-t таблица] -D цепочка спецификации_правила
В спецификациях правила необходимо указать IP адрес отправителя или другие параметры правила, однозначно его определяющие (порт, IP адрес назначения, протокол и др.) и выполняемое действие, например, -j ACCEPT.
Например:
sudo iptables -t filter -D INPUT -s 192.168.3.0/24 -j ACCEPT
Данная команда удалит из таблицы filter цепочки INPUT правило с заданным отправителем 192.168.3.0/24 и действием над пакетами DROP.
3. Как удалить все правила из таблицы
Следует заметить, что существует возможность удалить правила текущей таблицы из всех цепочек правил с помощью опции -F (—flush). По умолчанию текущей таблицей является таблица filter. Поэтому, чтобы удалить все правила таблицы по умолчанию надо использовать команду:
sudo iptables -F
Ещё можно указать таблицу из которой вы хотите выполнить удаление правила iptables:
sudo iptables -t таблица -F
Например:
sudo iptables -t nat -F
Данная команда удалит все правила из всех цепочек таблицы nat.
4. Как удалить все правила в цепочке
Для того, чтобы удаление правил iptables из конкретной цепочки в заданной таблице выполняется такой командой:
sudo iptables -t таблица -F цепочка_правил
Например:
sudo iptables -t nat -F PREROUTING
Данная команда удалит все правила из таблицы nat в цепочке PREROUTING.
Выводы
В данной статье мы рассмотрели различные варианты удаления команд или целых блоков команд из цепочек и таблиц межсетевого экрана Netfilter с помощью утилиты iptables. Мы научились удалять все команды из текущей таблицы, из конкретной цепочки правил в указанной таблице, из указанной таблицы, научились удалять команды под указанными номерами и удалять команды с указанным действием над пакетами данных.
iptables очистить все правила или удалить одно правило
Все существующие правила iptables можно удалить выполнив в консоли команду iptables с флагом -F (flush)
iptables -F
Все правила можно вывести введя
iptables -S
Если интерес вызывают правила для определенной цепочки нужно использовать ключ -L и название цепочки
iptables -L INPUT
Цепочки iptables
iptables-save сохраняет все изменения в правилах и выводит их в терминал
iptables-save
Последняя команда применяем настройки и, потому, дает самую актуальную информацию. Выполнять ее также нужно каждый раз после корректировки правил.
Также можно удалить одно правило — например, по номеру строки
Так выводится пронумерованный список правил:
iptables -L —line-numbers
iptables -L —line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 f2b-sshd tcp — anywhere anywhere multiport dports ssh
2 ACCEPT tcp — anywhere anywhere tcp dpt:domain
3 ACCEPT udp — anywhere anywhere udp dpt:domain
4 f2b-sshd tcp — anywhere anywhere multiport dports ssh
5 ispmgr_deny_ip all — anywhere anywhere
6 ispmgr_allow_ip all — anywhere anywhere
7 ispmgr_allow_sub all — anywhere anywhere
8 ispmgr_deny_sub all — anywhere anywhere
9 ACCEPT all — anywhere anywhere ctstate RELATED,ESTABLISHED
10 ACCEPT tcp — anywhere anywhere ctstate NEW multiport dports heathview:35999
11 ACCEPT tcp — anywhere anywhere ctstate NEW multiport dports ftp-data:ssh,smtp,http,https,pop3,imap,urd,submission,imaps,pop3s,domain,mysql,postgres,44477
12 ACCEPT tcp — anywhere anywhere ctstate NEW multiport dports vlsi-lm
13 ACCEPT udp — anywhere anywhere ctstate NEW multiport dports domain
14 ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
15 ACCEPT icmp — anywhere anywhere
16 ACCEPT all — anywhere anywhere
17 ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
Затем одно из них удаляется с указанием таблицы, и цепочки (iptables -t TABLE -D INPUT номер_строки)
Сейчас удалим девятое правило из списка
iptables -t nat -D INPUT 9
Также можно удалять правила применяя ключ -D
Команда приведенная ниже разрешит обращения по перечисленным портам
iptables -A INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 20:22,25,80,443 -j ACCEPT
С ключом -D правило будет удалено
iptables -D INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 20:22,25,80,443 -j ACCEPT
Каждый раз необходимо выполнять iptables-save
Если нужно отредактировать несколько правил или их довольно много проще сначала сохранить все правила в файл, отредактировать его, затем загрузить их вновь
iptables-save > /tmp/iptabeles.txt
iptables-restore < /tmp/iptabeles.txt
Также читайте про сохранение правил iptables после перезагрузки
Удаляем правила в iptables — по номеру, спецификации
Часто бывает, при создании нового правила в сетевом экране Линукс блокируется вся локальная сеть или просто перестает работать интернет. В этом случае крайне необходимо удалить ошибочное правило.
Утилита командной строки iptables служит для конфигурирования брандмауэра Netfilter (фаервол в устройствах с операционной системой Linux). Если откинуть все лишнее, то данная утилита состоит из 3 частей: таблица, цепочки и правила. Iptables играет чуть ли не главенствующую роль в вопросах сетевой безопасности программного обеспечения Linux.
Удаление
Для начала посмотрим какие записи в iptables работают.
# iptables -S
Обратите особое внимание на следующее пояснение: символ «#» в приведенном примере означает, что команда должна быть выполнена непосредственно от имени root или через команду sudo (так принято называть суперпользователя из «мира» Linux). В ином случае реализовать задуманную идею на практике не получится. Обязательно соблюдайте это правило для корректности предпринятых мер.
Очистим все записи фаервола для протокола tcp/ip 4 версии. Для этого будем использовать аргумент «-F».
# iptables -F
Тоже самое будет для протокола 6 версии.
# ip6tables -F
Если интересует удаление правил из другой таблицы (не текущей), тогда пропишите её наименование в середине рассматриваемой команды. Это может выглядеть следующим образом (как пример):
# iptables -t nat -F
Все правила, которые наличествуют в цепочках таблицы «nat» будут удалены.
Хотите удалить правила из определенной цепи в указанной таблице? Найдите наименование цепочки и пропишите его в команде. Давайте рассмотрим на конкретном примере:
# iptables -t nat -F PREROUTING
По номеру в цепочке
Если пользователю известна информация относительно наименования цепочки и номера строки, можно удалить правила iptables альтернативным и не менее тривиальным способом.
Прежде всего необходимо узнать номера цепочек. Для этого будем использовать опцию «–line-numbers».
# iptables -L --line-numbers
Узнаем номера для nat.
# iptables -L -t nat --line-numbers
Для удаления необходимо указать аргумент «-D» название цепочки и номер правила.
Для таблицы INPUT.
# iptables -D INPUT номер строки
FORWARD.
# iptables -D FORWARD номер строки
OUTPUT.
# iptables -D OUTPUT номер строки
Чтобы очистить запись из nat таблице, необходимы добавить опцию «-t nat».
Для примера очистим запись из таблицы nat в цепочке PREROUTING.
# iptables -t nat -D PREROUTING номер строки
По спецификации
Запустите команду iptables с приставкой -D. Эта опция позволит пользователю осуществить задуманное. После приставки нужно указать спецификацию правила. Стандартная команда «iptables -S» позволит удалить правила упомянутым способом.
А теперь давайте рассмотрим на конкретном примере. Предположим, у вас есть потребность убрать правило, которое отвечает за сброс некорректных входящих пакетов. Для этого необходимо ввести следующую команду:
iptables -D INPUT -m conntrack --ctstate INVALID -j DROP
Важно: опция -A в данной команде должна быть исключена по умолчанию, поскольку она задает положение правила в момент его сотворения.
Заключение
После прочтения данной статьи вы знаете, за что отвечает утилита iptables, и какие существуют варианты удаления её правил. Для лучшего закрепления материала еще раз напомним пройденное другими словами: утилита iptables – это один из главных инструментов системного администратора. Она применяется для настройки правил фильтрации пакетов, которые установлены на устройстве с операционной системой Linux.
На наглядных примерах мы разобрали несложный процесс удаления правил всеми доступными методами. Внимательно следуя данному руководству, вы сумеете внести все необходимые правки в работу системы вашего устройства. Это не составит особого труда и не займет у вас много времени.
Команда iptables с сопутствующими опциями вносит определенные коррективы в правила. Любые изменения нужно сохранять вручную, чтобы система переключилась на нововведения после очередного перезапуска. Если не следовать данным рекомендациям, устройство будет работать без изменений при последующем сеансе.
iptables удалить правило (по содержанию или номеру)
Из iptables удалить правило можно несколькими способами. Основной из них — использование ключа -D (delete). Он указывается сразу после команды iptables.
Предварительно правила нужно вывести в консоль.
Вывести правила в виде нумерованного списка можно следующим образом:
iptables -L —line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 fail2ban-ssh tcp — anywhere anywhere multiport dports ssh
2 ACCEPT tcp — anywhere anywhere tcp dpt:domain
3 ACCEPT udp — anywhere anywhere udp dpt:domain
4 ACCEPT tcp — anywhere anywhere tcp dpt:bootps
5 ACCEPT udp — anywhere anywhere udp dpt:bootps
6 ACCEPT all — anywhere anywhere
7 ACCEPT tcp — anywhere anywhere tcp dpt:ssh
…
Политики просматриваются командой iptables -S
Удалить политику по умолчанию, предписывающую отбрасывать все входящие пакеты.
iptables -D INPUT -j DROP
Удалить правило iptables по номеру
Список правил, приведенный выше неполный. Они разделяются на цепочки Chain INPUT, Chain FORWARD и Chain OUTPUT.
Из любой цепочки правило можно удалить по номеру
iptables -D INPUT 4
Правило ACCEPT tcp — anywhere anywhere tcp dpt:bootps перестанет существовать. Для других цепочек синтаксис не отличается.
Также можно убрать все правила iptables.
Для работы с правилами могут применяться различные утилиты более высокого уровня, чем непосредственно iptables — например, ufw (Ubuntu Firewall) или firewalld (для ОС CentOS) .
Тем не менее, на практике чаще приходится работать с самими правилами, а не с ПО, использующимся для более простого администрирования. Читайте про настройку firewall для веб-сервера.
Как удалить правило iptables | DevsDay.ru
Основная работа c межсетевым экраном Netfilter с помощью утилиты iptables состоит в удалении неверных или неиспользуемых правил и добавлении в цепочки новых правил. Их выполнение осуществляется последовательно.
В этой статье мы рассмотрим как удалить правило iptables с помощью различных команд, например, по его номеру или по действию, которое оно делает. Если вы не знакомы с командами просмотра правил Netfilter рекомендуем вам прочитать статью как просмотреть правила iptables.
Содержание статьи:
Как удалить правило iptables
В рамках статьи нам придётся рассмотреть три варианта команды удаления:
sudo iptables [-t таблица] -D цепочка спецификации_правила
sudo iptables [-t таблица] -D цепочка номер_правила
sudo iptables [-t таблица] -F [цепочка]
Команды для протокола IPv6 будет абсолютно аналогичны:
sudo ip6tables [-t таблица] -D цепочка спецификации_правила
sudo ip6tables [-t таблица] -D цепочка номер_правила
sudo ip6tables [-t таблица] -F [цепочка]
Рассмотрим более подробно все варианты команд и их практическое применение. В данной статье для настройки firewall Netfilter используется операционная система Debian 10.2.
1. Как удалить правило по номеру
Чтобы удалить правило по номеру iptables будет использоваться такая команда:
sudo iptables [-t таблица] -D цепочка номер_правила
Например:
sudo iptables -t filter -D INPUT 2
Данная команда удалит из таблицы filter цепочки INPUT правила с номерами 2. Нумерация правил начинается с 1.
2. Как удалить правило по действию
Удалить правило iptables по выполняемому над пакетами действию можно с помощью следующей команды:
sudo iptables [-t таблица] -D цепочка спецификации_правила
В спецификациях правила необходимо указать IP адрес отправителя или другие параметры правила, однозначно его определяющие (порт, IP адрес назначения, протокол и др.) и выполняемое действие, например, -j ACCEPT.
Например:
sudo iptables -t filter -D INPUT -s 192.168.3.0/24 -j ACCEPT
Данная команда удалит из таблицы filter цепочки INPUT правило с заданным отправителем 192.168.3.0/24 и действием над пакетами DROP.
3. Как удалить все правила из таблицы
Следует заметить, что существует возможность удалить правила текущей таблицы из всех цепочек правил с помощью опции -F (—flush). По умолчанию текущей таблицей является таблица filter. Поэтому, чтобы удалить все правила таблицы по умолчанию надо использовать команду:
sudo iptables -F
Ещё можно указать таблицу из которой вы хотите выполнить удаление правила iptables:
sudo iptables -t таблица -F
Например:
sudo iptables -t nat -F
Данная команда удалит все правила из всех цепочек таблицы nat.
4. Как удалить все правила в цепочке
Для того, чтобы удаление правил iptables из конкретной цепочки в заданной таблице выполняется такой командой:
sudo iptables -t таблица -F цепочка_правил
Например:
sudo iptables -t nat -F PREROUTING
Данная команда удалит все правила из таблицы nat в цепочке PREROUTING.
Выводы
В данной статье мы рассмотрели различные варианты удаления команд или целых блоков команд из цепочек и таблиц межсетевого экрана Netfilter с помощью утилиты iptables. Мы научились удалять все команды из текущей таблицы, из конкретной цепочки правил в указанной таблице, из указанной таблицы, научились удалять команды под указанными номерами и удалять команды с указанным действием над пакетами данных.
Как узнать и удалить правила брандмауэра в IPTables
Мы покажем вам, как узнать и удалить правила брандмауэра в Iptables. Iptables это утилита командной строки, которая позволяет системным администраторам настраивать правила фильтрации пакетов, установленный на Linux. Iptables требует повышенных привилегий для работы и должен быть выполнен root пользователем, в противном случае он не сможет функционировать.
Как узнать правила брандмауэра в Iptables
Iptables позволяет узнать все правила, которые уже добавлены в набор правила фильтрации пакетов. Для того, чтобы иметь возможность проверить это, вы должны иметь SSH доступ к серверу. Подключитесь к Linux VPS с помощью SSH и выполните следующую команду:
sudo iptables -nvL
Для выполнения команды выше, ваш пользователь должен иметь привилегии sudo. В противном случае, вам нужно добавить пользователя sudo на ваш Linux VPS или использовать суперпользователя.
Если не существует никаких добавленных правил к фильтрации пакетов, вывод должен быть аналогичен приведенному ниже:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Поскольку NAT (Network Address Translation) также можно настроить с помощью IPTables, вы можете использовать IPTables в списоке правил NAT:
sudo iptables -t nat -n -L -v
Вывод будет аналогичен приведенному ниже, если нет добавленных правил:
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Как удалить правила брандмауэра в IPTables
В какой-то момент, возможно, потребуется удалить конкретное правило брандмауэра в Iptables на сервере. Для этой цели необходимо использовать следующий синтаксис:
iptables [-t table] -D chain rulenum
Например, если у вас есть правило брандмауэра, чтобы блокировать все подключения от 111.111.111.111 к серверу на порт 22, и вы хотите удалить это правило, вы можете использовать следующую команду:
sudo iptables -D INPUT -s 111.111.111.111 -p tcp --dport 22 -j DROP
Теперь, когда вы удалили правило брандмауэра Iptables вам нужно сохранить изменения, чтобы сделать их постоянными.
В случае, если вы используете Ubuntu VPS, необходимо установить дополнительный пакет для этой цели. Для того, чтобы установить необходимый пакет используйте следующую команду:
sudo apt-get install iptables-persistent
На Ubutnu 14.04 вы можете сохранить и перезагрузить правила брандмауэра, используя команды ниже:
sudo /etc/init.d/iptables-persistent save sudo /etc/init.d/iptables-persistent reload
В Ubuntu 16.04 использовать следующие команды:
sudo netfilter-persistent save sudo netfilter-persistent reload
Если вы используете CentOS VPS вы можете сохранить изменения с помощью команды ниже:
service iptables save
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как удалить определенные правила из iptables?
Я размещаю специальные службы HTTP и HTTPS на портах 8006 и 8007 соответственно. Я использую iptables для «активации» сервера; т. е. для маршрутизации входящих портов HTTP и HTTPS:
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8006 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8007 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8006
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8007
iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8006
iptables -A OUTPUT -t nat -d 127.0.0.1 -p tcp --dport 443 -j REDIRECT --to-ports 8007
это работает как шарм. Однако я хотел бы создать другой скрипт, который снова отключает мой сервер; т. е. восстановить iptables в состояние, в котором он был до запуска строк выше. Однако мне трудно понять синтаксис, чтобы удалить эти правила. Единственное, что кажется для работы есть полный флеш:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
но это также удалит другие правила iptables, которые нежелательны.
266
автор: alexwlchan
6 ответов
выполните те же команды, но замените «-A» на «-D». Например:
iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
становится
iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
381
автор: Eli Rosencruft
вы также можете использовать номер правила (—line-numbers):
iptables -L INPUT --line-numbers
пример :
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp -- anywhere anywhere udp dpt:domain
2 ACCEPT tcp -- anywhere anywhere tcp dpt:domain
3 ACCEPT udp -- anywhere anywhere udp dpt:bootps
4 ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
поэтому, если вы хотите удалить второе правило:
iptables -D INPUT 2
обновление
если вы используете (d) определенную таблицу (например, nat), вы должны добавить ее в команду delete (thx в @ThorSummoner для комментария)
sudo iptables -t nat -D PREROUTING 1
лучшее решение, которое работает для меня без каких-либо проблем, выглядит так:
1. Добавьте временное правило с некоторым комментарием:
comment=$(cat /proc/sys/kernel/random/uuid | sed 's/\-//g')
iptables -A ..... -m comment --comment "${comment}" -j REQUIRED_ACTION
2. Когда правило добавлено и вы хотите удалить его (или все с этим комментарием), сделайте:
iptables-save | grep -v "${comment}" | iptables-restore
таким образом, вы на 100% удалите все правила, соответствующие $comment и оставьте другие строки нетронутыми. Это решение работает в течение последних 2 месяцев с около 100 изменениями правил в день — никаких проблем.Надеюсь, это поможет
первый список всех правил iptables с этой командой:
iptables -S
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
затем скопируйте конкретное правило, которое вы хотите удалить.
наконец, удалите правило с помощью этой команды:
iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
3
автор: Wladdy Lopez
использовать это как man
страница объясняет это:
-D, --delete chain rule-specification
-D, --delete chain rulenum
Delete one or more rules from the selected chain.
There are two versions of this command:
the rule can be specified as a number in the chain (starting at 1 for the first rule) or a rule to match.
понимаю эта команда, как и все другие команды(-A
, -I
) работает на определенном столе. Если вы не работаете над таблицей по умолчанию (filter
таблицы), используйте -t TABLENAME
чтобы указать эту целевую таблицу.
удалить правило для соответствия
iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT
Примечание: это удаляет только первое совпадающее правило. Если у вас много правил(это может произойти в iptables), запустите это несколько раз.
удалить правило, указанное как количество
iptables -D INPUT 2
кроме подсчета числа вы можете перечислить номер строки с
предположим, что если вы хотите удалить правила NAT,
список добавленных IPtables с помощью команды ниже,
# sudo iptables -L -t nat -v
Chain PREROUTING (policy ACCEPT 18 packets, 1382 bytes)
pkts bytes target prot opt in out source destination
7 420 DNAT tcp -- any any anywhere saltmaster tcp dpt:http to:172.31.5.207:80
0 0 DNAT tcp -- eth0 any anywhere anywhere tcp dpt:http to:172.31.5.207:8080
Если вы хотите удалить правило nat из IPtables, просто выполните команду,
# sudo iptables -F -t nat -v
Flushing chain `PREROUTING'
Flushing chain `INPUT'
Flushing chain `OUTPUT'
Flushing chain `POSTROUTING'
тогда, вы можете убедиться в том, что,
# sudo iptables -L -t nat -v
0
автор: lakshmikandan
Удалить правило IPTables PREROUTING NAT — SvennD
Я по-прежнему поклонник iptables, я знаю, что firewalld , скорее всего, станет будущим «обернутых iptables», но давайте подождем еще немного iptables, не так ли? Это краткое руководство по очистке правил PREROUTING NAT. PREROUTING не может быть сброшен с помощью iptables -F
, так что это немного другое.
Я попал в эту ситуацию, пытаясь добавить предварительную маршрутизацию tcp / udp к машине, которая должна была пересылать пакеты с одной стороны сети в другую подсеть … в любом случае, мои iptables содержали несколько правил, которые я хотел вывести.Итак, начнем !
Для начала нужно узнать, что это за строка:
iptables -t нат -L - номера строк
Ужасный результат:
iptables -t нат -L - номера строк ПЕРЕДАЧА ЦЕПИ (ПОЛИТИКА ПРИНЯТЬ) num target prot opt источник назначения 1 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 2 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 3 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 4 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 5 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 6 DNAT udp - где угодно udp dpt: snmptrap to: 10.1.255.245: 161 7 DNAT udp - в любом месте udp dpt: snmptrap to: 10.1.255.245: 161 Цепочка POSTROUTING (политика ACCEPT) num target prot opt источник назначения 1 MASQUERADE все - где угодно и где угодно Цепочка ВЫВОДА (политика ПРИНЯТЬ) num target prot opt источник назначение
Итак, как мне удалить конкретное правило? Хорошо, указав таблицу (-t) , а затем удалить (-D) , за которым следует цепочка (предварительная маршрутизация) и номер правила (7)
iptables -t nat -D ПЕРЕДАЧА 7
И все, никаких команд magic firewalld не нужно!
.
Как редактировать правила iptables
firewalld — это инструмент управления по умолчанию.
Fedora 21 и новее по умолчанию используют firewalld. Если вы не отключили firewalld, вам нужно будет просмотреть страницу firewalld. Если вы предпочитаете использовать iptables, читайте дальше.
В этом практическом руководстве мы проиллюстрируем три способа редактирования правил iptables:
- CLI: интерфейс командной строки iptables и файл конфигурации системы / etc / sysconfig / iptables.
- Интерфейс TUI (текстовый): setup или system-config-firewall-tui
- GUI: system-config-firewall
ПРИМЕЧАНИЕ. В этом практическом руководстве показано редактирование существующих правил iptables, а не первоначальное создание цепочек правил.
CLI (интерфейс командной строки)
Горячие изменения в правилах iptables
Следующие процедуры позволяют изменять поведение брандмауэра во время его работы.
Внимание
Вы можете разорвать сетевое соединение с системой Fedora из-за ошибок в Правилах.
Прочтите справочные страницы для iptables (man iptables) для дальнейших объяснений и более сложных примеров правил.
Требуются права суперпользователя
У вас должны быть права суперпользователя для выполнения этих команд, используйте sudo или su для получения прав суперпользователя.
Правила листинга
Текущие запущенные правила iptables можно просмотреть с помощью команды
iptables -L
.
Числовое значение порта
В списке правил с параметром команды -L порты отображаются по имени службы, а не по номеру порта. Чтобы вместо этого увидеть номер порта, включите аргумент -n .
iptables -L -n
Просмотр счетчиков
Правила, перечисленные с параметром команды -L, не включают совпадающие счетчики.Чтобы включить счетчики совпадений, укажите аргумент -v .
iptables -L -v
Пример правил iptables, разрешающих любые уже установленные или связанные соединения, запросы icmp, весь локальный трафик и связь по ssh:
[корень @ сервер ~] # iptables -L Цепочка INPUT (policy DROP) target prot opt источник назначения ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО ПРИНЯТЬ icmp - где угодно и где угодно ПРИНИМАЙТЕ все - где угодно и где угодно ПРИНЯТЬ tcp - где угодно и где угодно состояние NEW tcp dpt: ssh Цепочка ВПЕРЕД (политика ПРИНЯТЬ) target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) target prot opt источник назначения
Обратите внимание, что Правила применяются в порядке появления, и проверка завершается сразу после совпадения.Поэтому, например, если создается правило, отклоняющее ssh-соединения, а затем указывается другое правило, разрешающее ssh, применяется правило для отклонения, а более позднее правило для принятия ssh-соединения — нет.
Дополнительные правила
Следующий код добавляет Правило в конец указанной цепочки iptables:
[root @ server ~] # iptables -A INPUT -p tcp --dport 80 -j ПРИНЯТЬ [корень @ сервер ~] # iptables -L Цепочка INPUT (policy DROP) target prot opt источник назначения ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО ПРИНЯТЬ icmp - где угодно и где угодно ПРИНИМАЙТЕ все - где угодно и где угодно ПРИНЯТЬ tcp - где угодно и где угодно состояние NEW tcp dpt: ssh ПРИНЯТЬ tcp - в любом месте tcp dpt: http Цепочка ВПЕРЕД (политика ПРИНЯТЬ) target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) target prot opt источник назначения
Обратите внимание на последнюю строку в цепочке INPUT.Теперь в этой цепочке пять Правил.
Удаление правил
Чтобы удалить правило, вы должны знать его позицию в цепочке. В следующем примере удаляется существующее правило, созданное ранее, которое в настоящее время находится на пятой позиции:
[root @ server ~] # iptables -D INPUT 5 [корень @ сервер ~] # iptables -L Цепочка INPUT (policy DROP) target prot opt источник назначения ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО ПРИНЯТЬ icmp - где угодно и где угодно ПРИНИМАЙТЕ все - где угодно и где угодно ПРИНЯТЬ tcp - где угодно и где угодно состояние NEW tcp dpt: ssh Цепочка ВПЕРЕД (политика ПРИНЯТЬ) target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) target prot opt источник назначения
Правила вставки
Создайте правило в верхней (первой) позиции:
[root @ server ~] # iptables -I INPUT 1 -p tcp --dport 80 -j ПРИНЯТЬ [корень @ сервер ~] # iptables -L Цепочка INPUT (policy DROP) target prot opt источник назначения ПРИНЯТЬ tcp - в любом месте tcp dpt: http ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО ПРИНЯТЬ icmp - где угодно и где угодно ПРИНИМАЙТЕ все - где угодно и где угодно ПРИНЯТЬ tcp - где угодно и где угодно состояние NEW tcp dpt: ssh Цепочка ВПЕРЕД (политика ПРИНЯТЬ) target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) target prot opt источник назначения
Число, указанное после имени цепочки, указывает позицию перед существующего Правила.Так, например, если вы хотите вставить Правило перед третьим правилом, вы указываете номер 3. После этого существующее Правило будет на четвертой позиции в цепочке.
Замена правил
Правила могут быть указаны для замены существующих правил в цепочке.
В примере, показанном ранее, первое указанное Правило разрешает соединения с http-портом (порт 80) из любого места. Следующее заменяет это Правило, ограничивая подключения к стандартному HTTP-порту (порт 80) только из диапазона сетевых адресов 192.168.0.0 / 24:
[корень @ сервер ~] # iptables -R INPUT 1 -p tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT [корень @ сервер ~] # iptables -L Цепочка INPUT (policy DROP) target prot opt источник назначения ПРИНЯТЬ tcp - 192.168.0.0/24 где угодно tcp dpt: http ПРИНЯТЬ все - где угодно и где угодно государство СВЯЗАННО, СОЗДАНО ПРИНЯТЬ icmp - где угодно и где угодно ПРИНИМАЙТЕ все - где угодно и где угодно ПРИНЯТЬ tcp - где угодно и где угодно состояние NEW tcp dpt: ssh Цепочка ВПЕРЕД (политика ПРИНЯТЬ) target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) target prot opt источник назначения
Правила промывки
Чтобы очистить правила iptables, используйте параметр —flush , -F :
iptables -F <цепочка>
Указание <цепочка> необязательно; без спецификации цепочки все цепочки сбрасываются.
Пример очистки правил в цепочке OUTPUT :
[root @ server ~] # iptables -F ВЫХОД
Уход за политиками цепочки по умолчанию
Помните о политике цепочки по умолчанию. Например, если политика INPUT — DROP или REJECT и правила сброшены, весь входящий трафик будет отброшен или отклонен, а сетевое соединение прервано.
Внесение изменений в постоянные
Изменения правил iptables с помощью команд интерфейса командной строки будут потеряны после перезагрузки системы.Однако iptables поставляется с двумя полезными утилитами: iptables-save и iptables-restore .
- iptables-save печатает дамп текущих правил iptables в stdout . Их можно перенаправить в файл:
[root @ server ~] # iptables-save> iptables.dump [root @ server ~] # cat iptables.dump # Создано с помощью iptables-save v1.4.12 в среду, 7 декабря 20:10:49 2011 *фильтр : INPUT DROP [45: 2307] : FORWARD ACCEPT [0: 0] : OUTPUT ACCEPT [1571: 4260654] -A INPUT -m state --state СВЯЗАН, УСТАНОВЛЕН -j ПРИНЯТЬ -A ВВОД -p icmp -j ПРИНЯТЬ -A ВВОД -i lo -j ПРИНЯТЬ -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT COMMIT # Завершено 7 дек. Среды 20:10:49 2011
- iptables-restore: восстановить дамп правил, созданный iptables-save.
[root @ server ~] # iptables-restoreВ конфигурации по умолчанию остановка или перезапуск службы iptables приведет к отмене текущей конфигурации.Это поведение можно изменить
установив IPTABLES_SAVE_ON_STOP = "yes" или IPTABLES_SAVE_ON_RESTART = "yes" в / etc / sysconfig / iptables-config. Если эти значения установлены,
затронутые файлы:
/ etc / sysconfig / iptablesдля IPv4
/ etc / sysconfig / ip6tablesдля IPv6
При желании эти файлы можно редактировать напрямую, а сервис iptables перезапускается для фиксации изменений. Формат аналогичен формату команд CLI iptables:
# Создано с помощью iptables-save v1.4.12 в среду, 7 декабря 20:22:39 2011 * фильтр <----------------------------------------------- ---------- Укажите таблицу следующих правил : INPUT DROP [157: 36334] <----------------------------------------- Это три цепочки, принадлежащие таблице фильтров, затем политика цепочки : FORWARD ACCEPT [0: 0] <----------------------------------------- - и в скобках [<счетчик-пакетов>: <счетчик-байтов>] числа предназначены для : OUTPUT ACCEPT [48876: 76493439] <--------------------------------- только для отладки / информации.Оставьте их текущую стоимость. -A INPUT -m state --state RELATED, ESTABLISHED -j ACCEPT <--------- Правило. -A INPUT -p icmp -j ACCEPT <-------------------------------------- Вы просто нужно принимать все аргументы -A INPUT -i lo -j ACCEPT <---------------------------------------- команды iptables. -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT COMMIT <------------------------------------------------ ---------- Требуется на каждом конце определения таблицы. Правила фиксации в этой таблице.# Завершено 7 декабря, среда, 20:22:39 2011При необходимости для сброса счетчиков пакетов и байтов используйте -Z , - ноль :
iptables -Z <цепочка> <номер_правила>Можно сбросить только один сброс счетчика правил. Это может быть полезно, если вы хотите знать, сколько пакетов было захвачено для определенного правила.
TUI (текстовый пользовательский интерфейс)
Существует два способа управления правилами iptables с помощью текстового пользовательского интерфейса: setup или system-config-firewall-tui .Использование system-config-firewall-tui позволяет перейти непосредственно к редактированию правил.
Используя setup , вам нужно выбрать конфигурацию брандмауэра , а затем вы можете редактировать правила.
Начиная с установка выглядит так:На следующем экране, где вы начинаете с system-config-firewall-tui , убедитесь, что «Брандмауэр» включен, или вы не можете редактировать настройки.
Затем выберите Настроить :Существует большая вероятность, что услуга, которую вы хотите изменить, входит в список стандартных «доверенных» услуг.Выберите службы, которым вы хотите доверять (порты для открытия), и нажмите Вперед, (что означает «следующий», это не переадресация портов):
Примечание:
Меню Trusted Services просто открывает порт. Он не позволяет вам указывать разрешенные порты источника или назначения.Меню «Другие порты» позволяет открывать дополнительные порты, отсутствующие в списке стандартных доверенных служб, или редактировать существующий список дополнительных портов:
Чтобы добавить другие порты, укажите один порт или диапазон портов и выберите для протокола tcp или udp .Формат диапазона портов: , начало порта - конец порта .
Меню доверенных интерфейсов позволяет доверять всему трафику на сетевом интерфейсе.
Весь трафик будет разрешен, и правила фильтрации портов никогда не будут совпадать.
Вам следует выбирать только интерфейс, обращенный к частной сети, а не интерфейс, обращенный непосредственно к Интернету.Меню Masquerading позволяет выбрать интерфейс для маскировки.
Маскарадинг более известен как NAT (преобразование сетевых адресов),
и это полезно, например, когда ваш компьютер используется в качестве шлюза для доступа в Интернет:Перенаправление портов, также известное как PAT ,
позволяет перенаправлять трафик из одного порта в другой.Например:
Меню фильтра ICMP позволяет отклонять различные типы пакетов ICMP.
По умолчанию никаких ограничений нет, но вы можете определить правила для отклонения трафика ICMP, определить ошибку возврата для запроса ICMP и т. Д.Наконец, вы можете добавить собственные правила брандмауэра.
Они должны быть подготовлены заранее в файлах, которые используют тот же формат, что и файл iptables.Для добавления пользовательских правил вы должны указать протокол между ipv4 или ipv6 и в какую таблицу добавить настраиваемые правила filter , mangle или nat , затем путь к файлу, содержащему правила для добавления:
Когда вы заполнили все меню, Закройте интерфейс, который вернет вас к первому экрану конфигурации межсетевого экрана.Выберите ОК , появится предупреждающее сообщение:
Выберите Да , если настроенная вами конфигурация вам подходит и выйдите из интерфейса, или Нет , чтобы вернуться к экрану конфигурации межсетевого экрана.
Примечание:
При нажатии Применить конфигурация сохраняется в файле / etc / sysconfig / system-config-firewall , а затем в файлах / etc / sysconfig / iptables и / etc / sysconfig / ip6tables перезаписываются.графический интерфейс
Инструмент настройки графического интерфейса Red Hat
Интерфейс
GUI позволяет вам точно так же, как интерфейс TUI, но он более удобен в использовании.
В первый раз, когда вы запускаете графический интерфейс, у вас появляется приветственное сообщение, предупреждающее вас о том, что если у вас есть существующие ручные правила, то эти правила будут перезаписаны.
Прежде всего, вам необходимо Включить ваш брандмауэр, чтобы использовать утилиту настройки брандмауэра.
Затем утилита предупредит вас, что у вас нет существующей конфигурации и вы хотите запустить мастер.Щелкните Start wizard :
Щелкните вперед:
Система с доступом к сети включить межсетевой экран и Система без доступа к сети отключить межсетевой экран, поэтому выберите Система с доступом к сети :
Новичок позволяет изменять только доверенные службы , это нормально, если вы используете только известные службы, такие как ftp, dns, http и т. Д., Но не позволяете настраивать диапазон таможенных портов, выберите Expert , чтобы иметь полнофункциональную конфигурацию межсетевого экрана вы можете изменить этот параметр позже в главном окне меню Параметры , на уровне навыков пользователя :
Шаблон
Server включает только порт ssh в конфигурации брандмауэра. Шаблон Desktop включает дополнительные порты для IPsec , Multicast DNS , Network Printing Client и SSH .Для удобства выбираем Рабочий стол и ОК :
Как описано ранее, шаблон Desktop включает 4 службы IPsec , mDNS , IPP и SSH . Если у вас есть службы, перечисленные в разделе Trusted Services , которые вы хотите включить, вам просто нужно нажать на них, и все.
Шаблон можно изменить с помощью меню Options в Load Default Configuration .Другие порты позволяют редактировать пользовательские правила, если ваш сервисный порт не находится в Trusted service .Для начала просто нажмите кнопку Добавить . Затем вы либо выбираете в списке услуг нужную услугу, либо ставите отметку Пользовательский и заполняете требуемую информацию о Порт / Диапазон портов и Протокол .
' Доверенные интерфейсы , Masquerading , Перенаправление портов , Фильтр ICMP и Пользовательские правила имеют точно такой же эффект, как и в интерфейсе TUI.
Когда конфигурация подходит вам, просто нажмите кнопку Применить .
Полезно знать
Конфигурация сохраняется в файле / etc / sysconfig / system-config-firewall при нажатии Применить , затем файл / etc / sysconfig / iptables перезаписывается.Другое GUI
Есть и другие доступные графические интерфейсы для настройки правил iptables.
- [fwbuilder]: очень полный графический интерфейс для настройки iptables.
- [Shorewall]: еще один очень полный графический интерфейс, похожий на fwbuilder.
- [Проект межсетевого экрана Turtle]: веб-интерфейс, интегрированный в webmin.Подходит для базового использования Iptables, не может обрабатывать все параметры iptables, такие как fwbuilder
- [IPmenu]: консольный интерфейс, позволяющий использовать все функции iptables.
.
Введение в iptables и iptables top 20 общих правил
Этот пример главы взят из книги The Modern Cryptograhy CookBook. Тема книги - Криптография для EveryOne. Учитесь от принципа криптографии до прикладной криптографии на практическом примере
IPtables - это служба межсетевого экрана, доступная во многих различных дистрибутивах Linux. Хотя поначалу изменение может показаться трудным, эта запись должна показать вам, насколько легко им пользоваться и как быстро вы можете возиться с брандмауэром
Iptables состоит из 5 таблиц. , каждый из которых связан с определенными функциями сетевого фильтра и каждый разделен на несколько «цепочек», определяющих функции каждой таблицы дополнительно
В каждой системе Linux цепочка настроена с ACTION по умолчанию, чтобы знать, какая политика по умолчанию
Ознакомьтесь с правилами iptables
iptables -h
, это отличное место для начала, несколько советовiptables: Как заблокировать весь трафик
iptables -F iptables -A INPUT -j REJECT iptables -A OUTPUT -j REJECT iptables -A FORWARD -j REJECT
iptables Как заблокировать только входящий трафик
iptables -F ВХОД iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -j REJECT
iptables Как заблокировать только исходящий трафик
iptables -F ВЫХОД iptables -A OUTPUT -m state --state УСТАНОВЛЕН -j ПРИНЯТЬ iptables -A OUTPUT -j REJECT
iptables: Как заблокировать определенный входящий порт или службу
Это заблокирует любой входящий трафик службы httpiptables -A INPUT -p tcp --dport 80 -j REJECT
или
iptables -A INPUT -p tcp --dport www -j REJECT
, чтобы разрешить только локальные интерфейсы для http
iptables -A INPUT -p tcp --dport 80 -j REJECT
iptables: Как заблокировать определенный хост
Это заблокирует весь доступ этого хоста
iptables -A INPUT -s
-j REJECT iptables: Как заблокировать исходящий трафик на определенные хосты
iptables -A INPUT -s
-j REJECT iptables: как разрешить доступ только к определенному MAC-адресу
iptables -A INPUT -m mac --mac-source
-j ACCEPT iptables -A INPUT -j REJECT iptables: как разрешить только SSH
iptables -A INPUT -j REJECT iptables -A INPUT -p tcp --dport ssh -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -j REJECT
iptables: Как заблокировать все исходящие соединения, например telnet
iptables -A ВЫХОД -p tcp --dport telnet -j ОТКАЗАТЬ
iptables: как заблокировать пинг
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
или
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables: Как настроить ожидание подключения
Заставляет iptables ждать 15 секунд между новыми подключениями с того же IP-адреса на порту 22 (SSH):
iptables -A INPUT -p tcp -i eth0 -m state --state NEW --dport 22 -m latest --update --seconds 15 -j DROP iptables -A INPUT -p tcp -i eth0 -m state --state NEW --dport 22 -m latest --set -j ACCEPT
iptables: Как заблокировать атаки Smurf
iptables -A INPUT -p icmp -m icmp --icmp-type запрос-маски-адреса -j DROP iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP iptables -A INPUT -p icmp -m icmp -j DROP
iptables: как отбросить лишние пакеты RST, чтобы избежать атак smurf
iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2 / second --limit-burst 2 -j ACCEPT
iptables: перенаправление портов
Эти правила перенаправляют все входящие запросы на порт 80 на порт 8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
Эти правила будут перенаправлять весь входящий запрос на порт 80 с localhost на порт 8080
iptables -t nat -I ВЫХОД -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
iptables Как вывести список правил IPtables
iptables -L iptables -t nat - номера строк -n -L
iptables: Как сохранить изменения правил, внесенные в iptables
Ubuntu: sudo / sbin / iptables-save. RedHat / Centos: / sbin / service iptables save Другое: /etc/init.d/iptables save Общий: iptables-save> / etc / sysconfig / iptables
Как восстановить правила iptables из файла
Как очистить все правила iptables
Эта команда не очищает правила NAT
iptables -F
Обратите внимание, если есть правило NAT, то его сбросить
iptables -t нат -F
iptables: Как удалить правило PREROUTING NAT
Сначала узнайте, что это за строка, с помощью
iptables -t nat -L --line-numbers
iptables -t нат -L - номера строк ПЕРЕДАЧА ЦЕПИ (ПОЛИТИКА ПРИНЯТЬ) num target prot opt источник назначения 1 REDIRECT tcp - в любом месте tcp dpt: 8082 redir ports 8083 2 REDIRECT tcp - в любом месте tcp dpt: 8084 redir ports 8083 Цепочка INPUT (политика ACCEPT) num target prot opt источник назначения Цепочка ВЫВОДА (политика ПРИНЯТЬ) num target prot opt источник назначения 1 REDIRECT tcp - в любом месте localhost tcp dpt: 8084 redir ports 8083 2 REDIRECT tcp - в любом месте localhost tcp dpt: 8082 redir ports 8083
Затем удалите правило номер
iptables -t nat -D PREROUTING 2
iptables : как сделать логирование iptbales
создать новую цепочку правил, которая записывается и удаляется последовательно:
# Создайте новую цепочку под названием LOGGING iptables -N РЕГИСТРАЦИЯ # Все оставшиеся входящие пакеты перейдут в цепочку LOGGING iptables -A INPUT -j LOGGING # Записывать входящие пакеты в системный журнал (/ var / log / messages) iptables -A LOGGING -m limit --limit 3 / min -j LOG --log-prefix «iptables drop packets» --log-level 4 # Наконец, отбросим все пакеты, пришедшие в цепочку LOGGING iptables -A LOGGING -j DROP
Регистрировать все отброшенные исходящие пакеты
iptables -N РЕГИСТРАЦИЯ iptables -A ВЫХОД -j ЖУРНАЛ iptables -A LOGGING -m limit --limit 3 / min -j LOG --log-prefix «iptables drop packets» --log-level 4 iptables -A LOGGING -j DROP
iptables: как создать правило DDoS в iptables
# Отклонять поддельные пакеты iptables -A INPUT -s 10.0.0.0 / 8 -j ПАДЕНИЕ iptables -A INPUT -s 169.254.0.0/16 -j DROP iptables -A INPUT -s 172.16.0.0/12 -j DROP iptables -A INPUT -i eth0 -s 127.0.0.0/8 -j DROP iptables -A INPUT -s 224.0.0.0/4 -j DROP iptables -A INPUT -d 224.0.0.0/4 -j DROP iptables -A INPUT -s 240.0.0.0/5 -j DROP iptables -A INPUT -d 240.0.0.0/5 -j DROP iptables -A INPUT -s 0.0.0.0/8 -j DROP iptables -A INPUT -d 0.0.0.0/8 -j DROP iptables -A INPUT -d 239.255.255.0/24 -j DROP iptables -A INPUT -d 255.255.255.255 -j DROP # Остановить смурф-атаки iptables -A INPUT -p icmp -m icmp --icmp-type address-mask-request -j DROP iptables -A INPUT -p icmp -m icmp --icmp-type timestamp-request -j DROP iptables -A INPUT -p icmp -m icmp -j DROP # Отбросить все недопустимые пакеты iptables -A INPUT -m state --state INVALID -j DROP iptables -A FORWARD -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state INVALID -j DROP # Отбросить лишний пакет RST
.