LINUX.ORG.RU
ФорумAdmin

iptables слетает после ребута

 


0

1

Гуру, нужна ваша помощь. Есть прописанные правила на debian, но при каждом ребуте они слетают. И что бы они вступили всилу нужно выполнить: /etc/network/if-up.d/iptables.conf reload Куда что нужно прописать что бы правила сразу подтягивались?


Запихни правила в скрипт в /usr/local/bin/iptables.sh (например) и пропиши его в rc.local

leg0las ★★★★★
()

Сохрани правила в конфиг

iptables-save > /etc/iptables.conf

Затем в /etc/network/interfaces в конец файла добавь строчки
pre-up iptables-restore < /etc/iptables.conf
post-down iptables-save > /etc/iptables.conf

v9lij ★★★★★
()

Эмм... в Debian есть пакет iptables-persistent, который сохраняет правила. Если тебе не надо прям каждый раз скрипт вызывать, а достаточно сохранить раз то, что он делает, сделай:

apt-get install iptables-persistent
Он сам тебе предложит сохранить текущие правила в файл /etc/iptables/rules.v4. Обновить потом из текущих:

iptables-save > /etc/iptables/rules.v4
nstorm
()
Ответ на: комментарий от kot488
apt-get install iptables-persistent
iptables-save > /etc/iptables/rules.v4
cat /etc/network/interfaces
---SOME LINES ----
pre-up /sbin/iptables-restore /etc/iptables/rules.v4
---EOF------------
>>> rules.v4
# Generated by iptables-save v1.4.21 on Thu Jan 28 09:19:01 2016
#*filter
#:INPUT ACCEPT [0:0]
#:FORWARD ACCEPT [0:0]
#:OUTPUT ACCEPT [0:0]
#COMMIT
# Completed on Thu Jan 28 09:19:01 2016
# Generated by iptables-save v1.4.14 on Sat Jul  5 14:15:04 2014
*filter
-A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [22:1968]
-A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m conntrack --ctstate RELATED -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m pkttype --pkt-type broadcast -j DROP
-A INPUT -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m pkttype --pkt-type multicast -j DROP
-A INPUT -m pkttype --pkt-type broadcast -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable

И т.д. и т.п.

TomBOY ★★
()
Ответ на: комментарий от nstorm

Установить, и выполнить второй скрипт?

kot488
() автор топика

apt install firewalld

anonymous
()
Ответ на: комментарий от kot488

Ну можно и так, это норм, но не аутентично для дебиана, а можно как посоветовали здесь: iptables слетает после ребута (комментарий)

Только не досоветовали нормально:

Ставим:

apt-get install iptables-persistent

Активируем (не забываем, что у нас D8 и systemd):

systemctl enable netfilter-persistent.service

Сохраняем правила:

/etc/init.d/netfilter-persistent save

У этого скрипта много операций: load, flush и т.д.

Важная деталь ребуса - при остановке само не сохраняет. Тут поможет как раз вариант через network/interfaces. Ну лучше так не делать, иначе в случае если зарубишь сам себе доступ у тебя больше вариантов не останется, кроме консоли. Автосейф плохая вещь в этом отношении.

zloelamo ★★★★
()
Последнее исправление: zloelamo (всего исправлений: 2)
Ответ на: комментарий от zloelamo

Попробую вечером, как выше предложили, если не проканает то Ваше попробую

kot488
() автор топика

в вики дебиан все подробно описано

voltmod ★★★
()

Удобно использовать пакет iptables-persistent.

rumgot ★★★★★
()

Рекомендую ferm. Вообще, тулза для описания iptables рулов своим довольно простым и наглядным синтаксисом. Но бонусом в дебиане идет с севисом, которые при старте машины инициализирует iptables сохраненным ранее конфигом из /etc/ferm.conf.

Синтаксис учить совсем не обязательно, в комплекте есть import-ferm скрипт, который сохраняет текущий iptables сетап в ferm.con.

Кстати, есть довольно полезный ключик -i, который позволяет применить правила в интерактивном режиме и откатить их, если пользователь не подтвердил инпутом в терминале.

deklin
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.