удалить правило iptables по номеру
linux-notes.org
Удалить iptables правило
В своей статье «Удалить iptables правило» я хочу рассказать как можно удалять правила с iptables. На наглядных примерах, я покажу как пользоваться iptables на вашем сервере.
Вывести правила.
Для начала смотрим какие правила и цепочки у нас имеются:
Праметры:
-L — Вывести все правила.
-n — Отображать IP адрес с портом в числах (не используя DNS сервера для определения имен. Ускоряет отображение).
можно еще использовать параметр
-v — Данная опция, выводит дополнительную информацию. Этот параметр показывает имя интерфейса, его опции, TOS маски, отображает суффиксы ‘K’, ‘M’ or ‘G’.
Так же можно вывести список правил с нумерацией строк:
—line-numbers — вывод пронумерованных правил.
Удалить правила файрвола.
Выполняем поиск удобным для вас способом:
Можно просмотреть правила для конкретной цепочки:
Чтобы удалить используем:
Можно удалить и по-другому, если знаете IP адрес источника:
Для цепочки POSTROUTING.
Выполняем поиск удобным для вас способом:
Чтобы удалить используем:
Можно удалить и по-другому, если знаете IP адрес:
Для цепочки OUTPUT.
Выполняем поиск удобным для вас способом:
Чтобы удалить используем:
Можно удалить и по-другому, если знаете IP адрес:
Например, нужно удалить порт с правил iptables, можно сделать это так:
Тема «Удалить iptables правило» подошла к завершению.
Вывод и удаление правил IPTables
IPTables – это фаервол (или брандмауэр), играющий очень важную роль в сетевой безопасности большинства дистрибутивов Linux. Данное руководство сфокусировано на различных аспектах управления фаерволом: выводе списка правил, удалении правил и т.п.
Это руководство охватывает следующие вопросы:
Примечание: При работе с брандмауэрами очень важно быть внимательным, иначе можно закрыть себе доступ к собственному серверу, заблокировав SSH-трафик (порт 22 по умолчанию). Если вы случайно заблокировали себе доступ к серверу, подключитесь к нему с помощью консоли, чтобы исправить настройки брандмауэра. Также решить эту проблему может перезагрузка сервера (только в случае если сохраненные правила брандмауэра разрешают трафик SSH).
Требования
Для начала нужно настроить сервер и создать не-root пользователя с расширенными правами. Подробнее об этом можно прочитать в руководствах:
Вывод правил IPTables
Существует два способа просмотра активных правил фаервола IPTables:
Оба метода предоставляют примерно одинаковую информацию в разных форматах.
Вывод правил по спецификации
Чтобы вывести список правил по спецификации, запустите:
Как видите, вывод содержит команды, которые использовались для создания правил (без команды iptables). Также эта команда выводит содержимое конфигурационных файлов, если вы когда-либо использовали такие команды:
iptables-persistent
iptables save
Вывод цепочки правил
Чтобы ограничить вывод до определённой цепочки (INPUT, OUTPUT, TCP и т.п.), нужно просто указать имя цепочки после опции –S. К примеру, чтобы получить все правила цепи TCP, нужно запустить:
Вывод правил в виде таблиц
Такой формат вывода правил iptables позволяет сравнивать разные правила.
Чтобы вывести все активные правила в виде таблицы, запустите iptables с опцией –L:
Это выведет все текущие правила брандмауэра, отсортированные по цепочкам.
Чтобы ограничить вывод до определённой цепочки, просто укажите имя нужной цепи после опции –L. Например:
Первая строка вывода показывает имя цепочки (в данном случае это INPUT), а затем её политику по умолчанию (DROP).Следующая строка содержит заголовки всех столбцов в таблице, а затем следуют правила цепочки. Рассмотрим подробнее каждый заголовок:
Последний столбец без названия определяет опции правила (опцией в данном случае называется любая часть правила, которая не относится ни к одному из предыдущих столбцов).
Вывод количества пакетов и байтов
К примеру, запросите цепочку INPUT:
Обратите внимание: в выводе добавилось два столбца по имени pkts и bytes.
Сброс счетчиков пакетов и байтов
Чтобы очистить счетчики пакетов и байтов, используйте опцию –Z. Эти счетчики сбрасываются после перезагрузки системы. Это позволяет узнать, получает ли сервер какой-либо трафик, совпадающий с правилами брандмауэра.
Итак, чтобы очистить счётчики для всех цепочек и правил, используйте опцию –Z без дополнительных параметров:
Чтобы очистить счётчики для всех правил определённой цепи, укажите имя цепочки после –Z. Например, чтобы сбросить счётчики цепи INPUT, нужно ввести:
Чтобы сбросить счётчики для конкретного правила, укажите имя цепочки и номер правила. Например, чтобы сбросить счётчики первого правила цепи INPUT, нужно использовать:
Удаление правил iptables
Удалять правила брандмауэра iptables тоже можно двумя способами.
Удаление правил по спецификации
Первый способов удаления правил Iptables – использование спецификации правила. Для этого нужно запустить команду iptables с опцией –D, после которой указывается спецификация правила. Чтобы удалить правила таким способом, можно обратиться за помощью к выводу уже знакомой команды:
Примечание: При этом нужно исключить опцию –А, которая задаёт положение правила во время создания.
Удаление правила по номеру и цепочке
Кроме того, правило можно удалить, зная имя цепочки и номер строки, к которой оно находится. Чтобы узнать номер строки правила, используйте опцию –line-numbers:
Это добавит номер строки для каждого правила.
Зная имя цепи и номер строки, в которой находится искомое правило, используйте команду iptables –D, указав после опции эти данные. К примеру, чтобы удалить правило цепочки INPUT, которое сбрасывает недействительные пакеты, нужно использовать:
Сброс цепочек правил
Брандмауэр Iptables предоставляет возможность удалить все правила цепочки – сбросить цепочку правил. Данный раздел рассматривает несколько способов сделать это.
Примечание: Будьте внимательны, не заблокируйте себя на собственном сервере, случайно сбросив цепочку правил с политикой drop или deny. Если же вы всё-таки заблокировали себя, используйте консоль, чтобы остановить доступ.
Сброс одной цепи
Чтобы сбросить определённую цепочку правил, используйте флаг –F (или его полную версию –flush), указав имя цепочки.
Например, чтобы удалить все правила цепочки INPUT, запустите:
Сброс всех цепочек
Чтобы сбросить все цепочки правил – то есть, удалить все правила фаервола, – используйте опцию –F (или –flush) без дополнительных параметров.
Сброс всех правил, удаление всех цепочек, разрешение всего трафика
Этот раздел покажет, как сбросить все правила, цепочки и таблицы брандмауэра и разрешить весь трафик.
Примечание: Это полностью отключит фаервол. Следуйте данному разделу только в том случае, если хотите заново настроить правила фаервола.
Сначала настройте стандартную политику всех цепочек; это должна быть политика ACCEPT. В основном это нужно для того, чтобы случайно не заблокировать себе доступ к собственному серверу.
Затем сбросьте таблицы nat и mangle, сбросьте все цепочки (флаг –F) и удалите все нестандартные цепочки правил (-X)
Теперь брандмауэр пропускает весь сетевой трафик. Если сейчас запросить список правил, результат будет нулевым, на экране появятся только имена стандартных цепочек (INPUT, FORWARD и OUTPUT).
Заключение
Помните, что все изменения правил при помощи команды iptables непостоянны, их нужно сохранять вручную, чтобы они оставались действительными после перезапуска системы.
Как удалить правило iptables
Часто бывает, при создании нового правила в сетевом экране Линукс блокируется вся локальная сеть или просто перестает работать интернет. В этом случае крайне необходимо удалить ошибочное правило.
Утилита командной строки iptables служит для конфигурирования брандмауэра Netfilter (фаервол в устройствах с операционной системой Linux). Если откинуть все лишнее, то данная утилита состоит из 3 частей: таблица, цепочки и правила. Iptables играет чуть ли не главенствующую роль в вопросах сетевой безопасности программного обеспечения Linux.
Удаление
Для начала посмотрим какие записи в iptables работают.
Обратите особое внимание на следующее пояснение: символ «#» в приведенном примере означает, что команда должна быть выполнена непосредственно от имени root или через команду sudo (так принято называть суперпользователя из «мира» Linux). В ином случае реализовать задуманную идею на практике не получится. Обязательно соблюдайте это правило для корректности предпринятых мер.
Очистим все записи фаервола для протокола tcp/ip 4 версии. Для этого будем использовать аргумент «-F».
Тоже самое будет для протокола 6 версии.
Если интересует удаление правил из другой таблицы (не текущей), тогда пропишите её наименование в середине рассматриваемой команды. Это может выглядеть следующим образом (как пример):
Все правила, которые наличествуют в цепочках таблицы «nat» будут удалены.
Хотите удалить правила из определенной цепи в указанной таблице? Найдите наименование цепочки и пропишите его в команде. Давайте рассмотрим на конкретном примере:
По номеру в цепочке
Если пользователю известна информация относительно наименования цепочки и номера строки, можно удалить правила iptables альтернативным и не менее тривиальным способом.
Прежде всего необходимо узнать номера цепочек. Для этого будем использовать опцию «–line-numbers».
Узнаем номера для nat.
Для удаления необходимо указать аргумент «-D» название цепочки и номер правила.
Чтобы очистить запись из nat таблицы, необходимы добавить опцию «-t nat».
Для примера очистим запись из таблицы nat в цепочке PREROUTING.
По спецификации
А теперь давайте рассмотрим на конкретном примере. Предположим, у вас есть потребность убрать правило, которое отвечает за сброс некорректных входящих пакетов. Для этого необходимо ввести следующую команду:
Заключение
После прочтения данной статьи вы знаете, за что отвечает утилита iptables, и какие существуют варианты удаления её правил. Для лучшего закрепления материала еще раз напомним пройденное другими словами: утилита iptables – это один из главных инструментов системного администратора. Она применяется для настройки правил фильтрации пакетов, которые установлены на устройстве с операционной системой Linux.
На наглядных примерах мы разобрали несложный процесс удаления правил всеми доступными методами. Внимательно следуя данному руководству, вы сумеете внести все необходимые правки в работу системы вашего устройства. Это не составит особого труда и не займет у вас много времени.
Команда iptables с сопутствующими опциями вносит определенные коррективы в правила. Любые изменения нужно сохранять вручную, чтобы система переключилась на нововведения после очередного перезапуска. Если не следовать данным рекомендациям, устройство будет работать без изменений при последующем сеансе.
Перечисление и удаление правил брандмауэра Iptables
Published on December 1, 2020
Введение
Iptables — это брандмауэр, который играет важную роль в обеспечении сетевой безопасности большинства систем Linux. Хотя многие руководства по работе с Iptables научат вас создавать правила брандмауэра для обеспечения безопасности вашего сервера, в этом руководстве мы будем уделять особое внимание другому аспекту управления брандмауэром: вывод списка и удаление правил.
В этом обучающем руководстве мы расскажем, как выполнять следующие задачи при работе с Iptables:
Примечание: при работе с брандмауэрами необходимо следить за тем, чтобы не заблокировать собственный доступ к серверу, запретив подключение по SSH (по умолчанию в этих целях используется порт 22). При потере доступа из-за настроек брандмауэра вам может потребоваться подключение к серверу через внеполосную консоль для восстановления доступа.
Предварительные требования
Если вам нужна помощь с данной начальной настройкой, воспользуйтесь нашим руководством по начальной настройке сервера Ubuntu 20.04. Вы также можете воспользоваться руководствами для Debian и CentOS
Давайте сначала рассмотрим, как просмотреть существующий список правил. Существует два различных способа просмотра действующих правил Iptables: в форме таблицы или списка спецификаций правил. Оба метода предоставляют приблизительно одну и ту же информацию в разных форматах.
Перечисление правил по спецификации
Перечисление списка правил конкретной цепочки
Теперь давайте рассмотрим альтернативный способ просмотра действующих правил Iptables в форме таблицы правил.
Перечисление правил в виде таблицы
Перечисление правил Iptables в виде таблицы может быть полезным при сопоставлении разных правил друг с другом.
Эта команда будет выводить все действующие правила, отсортированные по цепочкам.
Давайте рассмотрим пример цепочки INPUT:
Первая строка вывода указывает имя цепочки (в данном случае INPUT ), за которым следует используемая по умолчанию политика ( DROP ). Следующая строка состоит из заголовков каждого столбца таблицы, после чего идут правила цепочки. Давайте посмотрим, что означает каждый заголовок:
Последняя колонка, которая не имеет заголовка, указывает опции правила. Другими словами, это может быть любая часть правила, которая не указана предыдущими столбцами. Это может быть любая информация, начиная с портов назначения и исходных портов и заканчивая состоянием подключения пакета.
Отображение счетчиков пакетов и общего размера
Теперь, когда вы знаете, как выводить список действующих правил брандмауэра различными способами, давайте рассмотрим возможность сброса счетчиков пакетов и байтов.
Сброс счетчиков пакетов и общего размера
Если вы хотите очистить счетчики для конкретного правила, укажите имя цепочки и номер правила. Например, для обнуления счетчиков первого правила в цепочке INPUT запустите следующую команду:
Теперь, когда вы знаете, как сбросить счетчики пакетов и байтов Iptables, давайте рассмотрим два метода, которые можно использовать для удаления правил.
Удаление правил по спецификации
Удаление правил по цепочке и номеру
Теперь, когда вы знаете, как удалить отдельные правила брандмауэра, давайте рассмотрим возможность сброса цепочек правил.
Сброс цепочек
Iptables предлагает возможность удаления всех правил в цепочке или сброса цепочки. В данном разделе мы опишем разнообразные способы выполнения этой задачи.
Сброс отдельной цепочки
Например, для удаления всех правил в цепочке INPUT запустите следующую команду:
Сброс всех цепочек
Сброс всех правил, удаление всех цепочек и разрешение любого трафика
Из этого раздела вы узнаете, как выполнить сброс всех правил брандмауэра, таблиц и цепочек, чтобы разрешить прием любого сетевого трафика.
Примечание: результатом этих действий станет полное отключение вашего брандмауэра. Вам следует выполнять описанные в данном разделе действия только в том случае, если вы хотите начать настройку вашего брандмауэра с нуля.
Сначала задайте ACCEPT в качестве используемой по умолчанию политики для каждой встроенной цепочки. Главная причина этого шага состоит в том, чтобы гарантировать, что вы не заблокируете собственный доступ к вашему серверу через SSH:
Заключение
После изучения данного руководства вы должны получить представление о том, как вывести список ваших правил брандмауэра iptables и удалить определенные правила.
Как удалить правило iptables
Основная работа c межсетевым экраном Netfilter с помощью утилиты iptables состоит в удалении неверных или неиспользуемых правил и добавлении в цепочки новых правил. Их выполнение осуществляется последовательно.
В этой статье мы рассмотрим как удалить правило iptables с помощью различных команд, например, по его номеру или по действию, которое оно делает. Если вы не знакомы с командами просмотра правил Netfilter рекомендуем вам прочитать статью как просмотреть правила iptables.
Как удалить правило iptables
В рамках статьи нам придётся рассмотреть три варианта команды удаления:
Команды для протокола IPv6 будет абсолютно аналогичны:
Рассмотрим более подробно все варианты команд и их практическое применение. В данной статье для настройки firewall Netfilter используется операционная система Debian 10.2.
1. Как удалить правило по номеру
Чтобы удалить правило по номеру iptables будет использоваться такая команда:
Данная команда удалит из таблицы filter цепочки INPUT правила с номерами 2. Нумерация правил начинается с 1.
2. Как удалить правило по действию
Удалить правило iptables по выполняемому над пакетами действию можно с помощью следующей команды:
В спецификациях правила необходимо указать IP адрес отправителя или другие параметры правила, однозначно его определяющие (порт, IP адрес назначения, протокол и др.) и выполняемое действие, например, -j ACCEPT.
Данная команда удалит из таблицы filter цепочки INPUT правило с заданным отправителем 192.168.3.0/24 и действием над пакетами DROP.
3. Как удалить все правила из таблицы
Следует заметить, что существует возможность удалить правила текущей таблицы из всех цепочек правил с помощью опции -F (—flush). По умолчанию текущей таблицей является таблица filter. Поэтому, чтобы удалить все правила таблицы по умолчанию надо использовать команду:
Ещё можно указать таблицу из которой вы хотите выполнить удаление правила iptables:
Данная команда удалит все правила из всех цепочек таблицы nat.
4. Как удалить все правила в цепочке
Для того, чтобы удаление правил iptables из конкретной цепочки в заданной таблице выполняется такой командой:
Данная команда удалит все правила из таблицы nat в цепочке PREROUTING.
Выводы
В данной статье мы рассмотрели различные варианты удаления команд или целых блоков команд из цепочек и таблиц межсетевого экрана Netfilter с помощью утилиты iptables. Мы научились удалять все команды из текущей таблицы, из конкретной цепочки правил в указанной таблице, из указанной таблицы, научились удалять команды под указанными номерами и удалять команды с указанным действием над пакетами данных.