syxoi
@syxoi

Как убрать определенное правило iptables?

Здравствуйте! Заблокировал порт 80, введя команды
iptables -A INPUT -i eth0 -p udp -m udp --dport 80 -j DROP

и
iptables -A INPUT -i eth0 -p tcp -m udp --dport 80 -j DROP

теперь нужно убрать эти два правила, но помимо этих правил, есть еще множество других, и не хотелось бы заново вводить все правила командой iptables -F.
  • Вопрос задан
  • 1083 просмотра
Решения вопроса 2
a13xsus
@a13xsus
Lazy developer
Вариантов несколько. Сохраняете все правила в файл iptables:

iptables-save > /etc/sysconfig/iptables


затем в любом текстовом редакторе удаляете ненужное правило и загружаете правила:

iptables-restore < /etc/sysconfig/iptables


Второй вариант более грамотный. Выводите правила из цепочки INPUT по номерам командой:

iptables -L INPUT --line-numbers


Ищете по номеру и удаляете нужное правило:

iptables -D INPUT номер_в_списке


Однако, учтите, что после каждого удаления правила индексы обновляются, поэтому желательно выполнять команду iptables -L INPUT --line-numbers после каждого удаления правил, иначе можно случайно удалить нужное.
Ответ написан
Комментировать
Mystray
@Mystray
NOC
Дополню automatik
Можно просто из вывода iptables-save (или iptables -S, но можно запутаться в цепочках) ввести правило к удалению, заменив -A на -D
Ключ -D удаляет правило, полностью подпадающее под определение.
iptables -D INPUT -i eth0 -p udp -m udp --dport 80 -j DROP
iptables -D INPUT -i eth0 -p tcp -m udp --dport 80 -j DROP
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
syxoi
@syxoi Автор вопроса
Спасибо, все способы хороши. Но как сказал Mystray, так удобнее, имхо.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы