Показаны сообщения с ярлыком iptables. Показать все сообщения
Показаны сообщения с ярлыком iptables. Показать все сообщения

четверг, ноября 11

с CentOS на Debian. iptables

Решил перебраться на сервере с CentOS на Debian

Первое "неудобство", с которым столкнулся, это отсутствие, ставших уже привычными, скриптов восстановления правил для iptables.
Поиск в инете можно сделать и найти вагон и маленькую тележку информации, что в Debian всё убрано и что нужно всё прописывать ручками в интерфейсах и прочее... а можно просто глянуть результат команды "apt-cache search iptables" и увидеть пакет iptables-persistent (как поставить из тестовой ветки)... вот он то нам и нужен

устанавливаем пакет командой "apt-get install iptables-persistent"
теперь у нас есть скрипт /etc/init.d/iptables-persistent, который и будет восстанавливать правила после запуска системы.
А сами правила теперь вместо /etc/sysconfig/iptables лежат в /etc/iptables/rules
соответственно, после тестирования правил, сохраняемся по команде "iptables-save > /etc/iptables/rules".

В остальном больше никаких изменений нет - у меня прекрасно заработал всё тот же мой скрипт iptables.sh


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!

суббота, августа 21

NAT & iptables в Linux (CentOS)

несколько часов убились мною и моим коллегой "по цеху" на поиск решения "да что за нафиг такой?" :)

преамбула:
на сервере используется скрипт iptables.sh, который описывает правила для iptables. дело нехитрое - поправил правила, запустил, проверил работу и, если всё тип-топ, то сохранил правила.
В скрипте описание довольно нехитрое: очистили все правила маршрутизации и воссоздали их по новой.
Всё казалось бы просто, до тех пор, пока не столкнулись с nat-маршрутизацией :)

правила сбрасывались следующими строчками в скрипте:
$IPTABLES -F
$IPTABLES -X
, где $IPTABLES - путь до приложения (IPTABLES="/sbin/iptables")

в том же скрипте когда-то была настройка на переброс порта с 80 на 8080, от которой по некоторым соображениям, было решено отказаться.
дело не хитрое - заремили нужную строку и выполнили скрипт.
и, как говорится, "скоро сказка сказывается, да не скоро дело делается" - НЕ ПАШЕТ.
снова смотрим скрипт - всё верно. сохраняем правила, перегружаем сервер на всякий, что должно как минимум сбросить нам все правила и реанимировать их из сохраняшки. ага, щаз...

в общем, пока суд да дело, было найдено решение - в блок сброса таблицы маршрутизации требуется дописать отдельное правило для сброса именно nat-маршрутов:
$IPTABLES -t nat -F

после чего, весь блок сброса приобретает вид:
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F

ЗЫ: подумалось, что это ведь довольно неплохая задачка для вопроса на собеседовании :)


Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!