URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95372
[ Назад ]

Исходное сообщение
"Настройка загрузки правил iptables"

Отправлено Smjbv , 24-Янв-14 03:31 
Установлен Debian 7.3.
В компе стоят три сетевухи – одна для внутренней сети и две для двух внешних сетей.

Сделал как написано здесь - https://wiki.debian.org/iptables

Сделал скрипт «set-iptables-rules» с таким содержимым:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables-rules

Поместил его в каталог «/etc/network/if-pre-up.d/»

Оказалось, что скрипт загрузки правил iptables выполняется несколько раз (для всех сетевух, для loopback-интерфейса и еще раз с неким именем интерфейса «--all»).

IFACE=--all
IFACE=lo
IFACE=eth0
IFACE=eth1
IFACE=eth2

Получается правила будут грузиться всякий раз когда «дергается» какой-либо интерфейс.
А если у одного из провайдеров проблемы с оборудованием и линк до него постоянно падает/поднимается? При этом получается из-за проблем у одного провайдера мы «дергаем» и все остальные сетевые подключения.

А вот здесь - http://debian-handbook.info/browse/stable/sect.firewall-pack...
написано, что правила iptables нужно грузить через параметры /etc/network/interfaces.
Но это получается схема аналогичная предыдущему варианту.


Есть еще один официальный вариант - предлагаемый на офсайте пакет iptables-persistent.
Он грузит правила из сценариев инициализации.


В итоге у меня возникли вопросы:
1) Подскажите пожалуйста как наиболее корректно грузить правила iptables??
2) Подскажите, если грузится правило iptables, в котором используется некий сетевой интерфейс (-i/-o eth0), а этот интерфейс в момент загрузки правила еще не инициализирован, то как это может повлиять на загрузку (и работу) правила??
(а тем более, если я переименовал интерфейс через «/etc/udev/rules.d/70-persistent-net.rules»)


Содержание

Сообщения в этом обсуждении
"Настройка загрузки правил iptables"
Отправлено pavel_simple , 24-Янв-14 08:43 
>[оверквотинг удален]
>
IFACE=--all 
> IFACE=lo
> IFACE=eth0
> IFACE=eth1
> IFACE=eth2

> Получается правила будут грузиться всякий раз когда «дергается» какой-либо
> интерфейс.
> А если у одного из провайдеров проблемы с оборудованием и линк до
> него постоянно падает/поднимается? При этом получается из-за проблем у одного провайдера
> мы «дергаем» и все остальные сетевые подключения.

нет соедениния мы не дёргаем -- но вопрос правильный.
во первых перегружается только firewall, а не соединения -- состояние соединений у нас храниться в conntrack'е.
во вторых при физическом поднятии/опускании интерфейса ifup/ifdown не выполняются -- т.е. в любом слячае оне скакать не бутут.
в третьих -- я рекомендую сделать так.
auto lo
iface lo inet loopback
    pre-up /sbin/iptables-restore </etc/iptables-rules

>[оверквотинг удален]
> написано, что правила iptables нужно грузить через параметры /etc/network/interfaces.
> Но это получается схема аналогичная предыдущему варианту.
> Есть еще один официальный вариант - предлагаемый на офсайте пакет iptables-persistent.
> Он грузит правила из сценариев инициализации.
> В итоге у меня возникли вопросы:
> 1) Подскажите пожалуйста как наиболее корректно грузить правила iptables??
> 2) Подскажите, если грузится правило iptables, в котором используется некий сетевой интерфейс
> (-i/-o eth0), а этот интерфейс в момент загрузки правила еще не
> инициализирован, то как это может повлиять на загрузку (и работу) правила??
> (а тем более, если я переименовал интерфейс через «/etc/udev/rules.d/70-persistent-net.rules»)

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


"Настройка загрузки правил iptables"
Отправлено Smjbv , 24-Янв-14 13:07 
Спасибо!!!

"Настройка загрузки правил iptables"
Отправлено pavel_simple , 24-Янв-14 13:24 
> Спасибо!!!

ээээ -- не забыл

    pre-up /sbin/iptables-restore </etc/iptables-rules || true
вот так нужно -- а то можно и бе lo остаться -- что в свою очередь приводит к весёлым эффектам.


"Настройка загрузки правил iptables"
Отправлено Smjbv , 25-Янв-14 02:42 
>> Спасибо!!!
> ээээ -- не забыл
>     pre-up /sbin/iptables-restore </etc/iptables-rules || true
> вот так нужно -- а то можно и бе lo остаться --
> что в свою очередь приводит к весёлым эффектам.

Спасибо! " || true" я изначально на всякий везде навтыкал.


"Настройка загрузки правил iptables"
Отправлено PavelR , 24-Янв-14 17:58 
[deleted]