Linux как удалить правило

Настройка netfilter с помощью iptables

Утилита командной строки iptables используется для настройки брандмауэра netfilter, встроенного в систему на базе ядра Linux.

Данная инструкция подходит как для чайников, которые хотят разбираться в аспектах защиты сети, так и опытных специалистов в качестве шпаргалки.

Принцип настройки

Общий синтаксис использования iptables:

iptables -t [номер]

Правила netfilter распределены по 4-м таблицам, каждая из которых имеет свое назначение (подробнее ниже). Она указывается ключом -t, но если данный параметр не указан, действие будет выполняться для таблицы по умолчанию — filter.

Команды указывают, какое именно действие мы совершаем над netfilter, например, создаем или удаляем правило.

В каждой таблице есть цепочки, для каждой из которых создаются сами правила. Например, для вышеупомянутой таблицы filter есть три предопределенные цепочки — INPUT (входящие пакеты), OUTPUT (исходящие) и FORWARD (транзитные).

[номер]

Некоторые команды требуют указания номера правила, например, на удаление или редактирование.

Условие описывает критерии отработки того или иного правила.

Ну и, собственно, что делаем с пакетом, если он подходит под критерии условия.

* справедливости ради, стоит отметить, что ключ с действием не обязан идти в конце. Просто данный формат чаще всего встречается в инструкциях и упрощает чтение правил.

Ключи iptables и примеры их использования

Для работы с таблицами (iptables -t)

Напоминаю, все правила в netfilter распределены по таблицам. Чтобы работать с конкретной таблицей, необходимо использовать ключ -t.

Ключ Описание
-t filter Таблица по умолчанию. С ней работаем, если упускаем ключ -t. Встроены три цепочки — INPUT (входящие), OUTPUT (исходящие) и FORWARD (проходящие пакеты)
-t nat Для пакетов, устанавливающий новое соединение. По умолчанию, встроены три цепочки — PREROUTING (изменение входящих), OUTPUT (изменение локальных пакетов перед отправкой) и POSTROUTING (изменение всех исходящих).
-t mangle Для изменения пакетов. Цепочки — INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING.
-t raw Для создания исключений в слежении за соединениями. Цепочки: PREROUTING, OUTPUT.

Команды

Нижеперечисленные ключи определяют действия, которые выполняет утилита iptables.

Ключ Описание и примеры
-A Добавление правила в конец списка:
iptables -A INPUT -s 192.168.0.15 -j DROP
запретить входящие с 192.168.0.15.
-D Удаление правила:
iptables -D INPUT 10
удалить правило в цепочке INPUT с номером 10.
-I Вставка правила в определенную часть списка:
iptables -I INPUT 5 -s 192.168.0.15 -j DROP
вставить правило 5-м по списку.
-R Замена правила.
iptables -R OUTPUT 5 -s 192.168.0.15 -j ACCEPT
заменить наше 5-е правило с запрещающего на разрешающее.
-F Сброс правил в цепочке.
iptables -F INPUT
-Z Обнуление статистики.
iptables -Z INPUT
-N Создание цепочки.
iptables -N CHAINNEW
-X Удаление цепочки.
iptables -X CHAINNEW
-P Определение правила по умолчанию.
iptables -P INPUT DROP
-E Переименовывание цепочки.
iptables -E CHAINNEW CHAINOLD

Условия

Данные ключи определяют условия правила.

Ключ Описание и примеры
-p Сетевой протокол. Допустимые варианты — TCP, UDP, ICMP или ALL.
iptables -A INPUT -p tcp -j ACCEPT
разрешить все входящие tcp-соединения.
-s Адрес источника — имя хоста, IP-адрес или подсеть в нотации CIDR.
iptables -A INPUT -s 192.168.0.50 -j DROP
запретить входящие с узла 192.168.0.50
-d Адрес назначения. Принцип использования аналогичен предыдущему ключу -s.
iptables -A OUTPUT -d 192.168.0.50 -j DROP
запретить исходящие на узел 192.168.0.50
-i Сетевой адаптер, через который приходят пакеты (INPUT).
iptables -A INPUT -i eth2 -j DROP
запретить входящие для Ethernet-интерфейса eth2.
-o Сетевой адаптер, с которого уходят пакеты (OUTPUT).
iptables -A OUTPUT -o eth3 -j ACCEPT
разрешить исходящие с Ethernet-интерфейса eth3.
—dport Порт назначения.
iptables -A INPUT -p tcp —dport 80 -j ACCEPT
разрешить входящие на порт 80.
—sport Порт источника.
iptables -A INPUT -p tcp —sport 1023 -j DROP
запретить входящие с порта 1023.

Перечисленные ключи также поддерживают конструкцию с использованием знака !. Он инвертирует условие, например,
iptables -A INPUT -s ! 192.168.0.50 -j DROP
запретит соединение всем хостам, кроме 192.168.0.50.

Действия

Действия, которые будут выполняться над пакетом, подходящим под критерии условия. Для каждой таблицы есть свой набор допустимых действий. Указываются с использованием ключа -j.

Таблица Действие Описание
filter ACCEPT Разрешает пакет.
DROP Запрещает пакет.
REJECT Запрещает с отправкой сообщения источнику.
nat MASQUERADE Для исходящих пакетов заменяет IP-адрес источника на адрес интерфейса, с которого уходит пакет.
SNAT Аналогично MASQUERADE, но с указанием конкретного сетевого интерфейса, чей адрес будет использоваться для подмены.
DNAT Подмена адреса для входящих пакетов.
REDIRECT Перенаправляет запрос на другой порт той же самой системы.
mangle TOS Видоизменение поля TOS (приоритезация трафика).
DSCP Изменение DSCP (тоже приоритезация трафика).
TTL Изменение TTL (время жизни пакета).
HL Аналогично TTL, но для IPv6.
MARK Маркировка пакета. Используется для последующей фильтрации или шейпинга.
CONNMARK Маркировка соединения.
TCPMSS Изменение значения MTU.

Примеры часто используемых команд iptables

Общие команды

Просмотр правил с их номерами:

iptables -L —line-numbers

Для каждой таблицы смотреть правила нужно отдельно:

Источник

Как вывести список и удалить правила брандмауэра UFW

UFW расшифровывается как Uncomplicated Firewall и представляет собой удобный интерфейс для управления правилами межсетевого экрана iptables (netfilter). Это инструмент настройки брандмауэра по умолчанию для Ubuntu, а также доступен для других популярных дистрибутивов Linux, таких как Debian и Arch Linux.

В этом руководстве мы расскажем, как составлять список и удалять правила брандмауэра UFW.

Подготовка

Пользователь, выполняющий команды UFW, должен быть пользователем sudo .

Листинг правил UFW

Одна из самых распространенных задач при управлении брандмауэром — это перечисление правил.

Вы можете проверить статус UFW и перечислить все правила с помощью:

Если UFW отключен, вы увидите что-то вроде этого:

В противном случае, если UFW активен, на выходе будет напечатан список всех активных правил брандмауэра:

Чтобы получить дополнительную информацию, используйте status verbose :

Вывод будет включать информацию о ведении журнала, политиках по умолчанию и новых профилях:

Используйте status numbered чтобы получить порядок и идентификационный номер всех активных правил. Это полезно, когда вы хотите вставить новое пронумерованное правило или удалить существующее правило на основе его номера.

Удаление правил UFW

Есть два способа удалить правила UFW:

  • По номеру правила
  • По спецификации

Если вы удаляете правила брандмауэра через SSH, убедитесь, что вы не заблокировали себя на удаленном сервере, удалив правило, разрешающее трафик SSH. По умолчанию SSH прослушивает порт 22 .

Удалить правила UFW по номеру правила проще, потому что вам нужно только найти и ввести номер правила, которое вы хотите удалить, а не все правило.

Удаление правил UFW по номеру правила

Чтобы удалить правило UFW по его номеру, сначала нужно перечислить правила и найти номер правила, которое вы хотите удалить:

Команда выдаст вам список всех правил брандмауэра и их номера:

ufw delete номер правила, используйте команду ufw delete а затем номер правила, которое вы хотите удалить.

Например, чтобы удалить правило с номером 4 , вы должны ввести:

Вам будет предложено подтвердить, что вы хотите удалить правило:

Введите y , нажмите Enter и правило будет удалено:

Каждый раз, когда вы удаляете правило, номер правила будет меняться. На всякий случай всегда перечисляйте правила перед удалением другого правила.

Удаление правил UFW по спецификации

Второй метод удаления правила — использование команды ufw delete за которой следует правило.

Например, если вы добавили правило, открывающее порт 2222 , с помощью следующей команды:

Вы можете удалить правило, набрав:

Сброс UFW и удаление всех правил

Сброс UFW отключит брандмауэр и удалит все активные правила. Это полезно, если вы хотите отменить все свои изменения и начать заново.

Чтобы сбросить UFW, введите следующую команду:

Выводы

Вы узнали, как составлять список и удалять правила брандмауэра UFW. При настройке брандмауэра всегда разрешайте только те входящие соединения, которые необходимы для правильного функционирования вашей системы.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Источник

Как удалить правило iptables

Основная работа 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 цепочка номер_правила

Данная команда удалит из таблицы filter цепочки INPUT правила с номерами 2. Нумерация правил начинается с 1.

2. Как удалить правило по действию

Удалить правило iptables по выполняемому над пакетами действию можно с помощью следующей команды:

sudo iptables [-t таблица] -D цепочка спецификации_правила

В спецификациях правила необходимо указать IP адрес отправителя или другие параметры правила, однозначно его определяющие (порт, IP адрес назначения, протокол и др.) и выполняемое действие, например, -j ACCEPT.

Данная команда удалит из таблицы filter цепочки INPUT правило с заданным отправителем 192.168.3.0/24 и действием над пакетами DROP.

3. Как удалить все правила из таблицы

Следует заметить, что существует возможность удалить правила текущей таблицы из всех цепочек правил с помощью опции -F (—flush). По умолчанию текущей таблицей является таблица filter. Поэтому, чтобы удалить все правила таблицы по умолчанию надо использовать команду:

Ещё можно указать таблицу из которой вы хотите выполнить удаление правила iptables:

sudo iptables -t таблица -F

Данная команда удалит все правила из всех цепочек таблицы nat.

4. Как удалить все правила в цепочке

Для того, чтобы удаление правил iptables из конкретной цепочки в заданной таблице выполняется такой командой:

sudo iptables -t таблица -F цепочка_правил

Данная команда удалит все правила из таблицы nat в цепочке PREROUTING.

Источник

Удалить одно правило iptables по номеру строки

Также можно удалить одно правило — например, по номеру строки

Так выводится пронумерованный список правил:

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 номер_строки)

Сейчас удалим девятое правило из списка

Также можно удалять правила применяя ключ -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-restore Запись опубликована 26.07.2017 автором admin в рубрике Типовые задачи.

Источник

Читайте также:  Какая версия windows лучше про или домашняя
Оцените статью