Часто бывает, при создании нового правила в сетевом экране Линукс блокируется вся локальная сеть или просто перестает работать интернет. В этом случае крайне необходимо удалить ошибочное правило.
Утилита командной строки 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
# 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 в данной команде должна быть исключена по умолчанию, поскольку она задает положение правила в момент его сотворения.
В цепочке fail2ban
Представим такую ситуацию. На сервере Линукс для защиты ssh соединений, был настроен сервис — fail2ban. Он работает по принципу, если пользователь вводит неправильно пароль несколько раз, то сервис создает автоматическое правило в фаерволе, которые блокирует все соединения с ip-адреса источника, то есть IP пользователя.
Таким образом, по истечении времени сам пользователь звонит и говорит, что не может подключиться к серверу по ssh.
Чтобы разрешить подключения по ssh с конкретного IP-адреса, необходимо узнать внешний IP у пользователя.
Затем смотрим список всех правил.
# iptables -L --line-numbers
Далее убираем директиву.
# iptables -D f2b-sshd номер строки
Заключение
После прочтения данной статьи вы знаете, за что отвечает утилита iptables, и какие существуют варианты удаления её правил. Для лучшего закрепления материала еще раз напомним пройденное другими словами: утилита iptables – это один из главных инструментов системного администратора. Она применяется для настройки правил фильтрации пакетов, которые установлены на устройстве с операционной системой Linux.
На наглядных примерах мы разобрали несложный процесс удаления правил всеми доступными методами. Внимательно следуя данному руководству, вы сумеете внести все необходимые правки в работу системы вашего устройства. Это не составит особого труда и не займет у вас много времени.
Команда iptables с сопутствующими опциями вносит определенные коррективы в правила. Любые изменения нужно сохранять вручную, чтобы система переключилась на нововведения после очередного перезапуска. Если не следовать данным рекомендациям, устройство будет работать без изменений при последующем сеансе.