iptables: не прописываются правила при перезагрузке

Knoppix

Модераторы: Warderer, Модераторы разделов

storm2005
Сообщения: 136

iptables: не прописываются правила при перезагрузке

Сообщение storm2005 »

ОС debian squeeze. Ранее был debian lenny. После обновления заметил, что перестали отрабатываться правила iptables после перезагрузки ОС или перезагрузки сетевых интерфейсов.
Конфиг правил у меня лежит в /usr/local/sbin/firewall.sh, соответственно симлинк /etc/network/if-pre-up.d/firewall.sh. При перезагрузке сетевых интерфейсов правила обязаны прописываться. Но этого не происходит. Если запускать вручную симлинк /etc/network/if-pre-up.d/firewall.sh, то правила прописываются.

Подскажите в чем может быть проблема.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: iptables: не прописываются правила при перезагрузке

Сообщение sash-kan »

подозреваю, что если для ifupdown включить режим debug (/etc/default/ifupdown), он напишет в syslog о своих проблемах ещё больше.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
storm2005
Сообщения: 136

Re: iptables: не прописываются правила при перезагрузке

Сообщение storm2005 »

sash-kan писал(а): ↑
03.05.2011 18:47
подозреваю, что если для ifupdown включить режим debug (/etc/default/ifupdown), он напишет в syslog о своих проблемах ещё больше.


Прописал в /etc/default/ifupdown

Код: Выделить всё

# Set to "yes" to turn on debugging messages in scripts
DEBUG="yes"


Перезапустил сетевые интерфейсы:

Код: Выделить всё

/etc/init.d/networking restart


Но в логах (/var/log/syslog) ничего примечательного не обнаружил:

Код: Выделить всё

May  4 19:46:37 vps-777 named[12304]: received control channel command 'reconfig'
May  4 19:46:37 vps-777 named[12304]: loading configuration from '/etc/bind/named.conf'
May  4 19:46:37 vps-777 named[12304]: reading built-in trusted keys from file '/etc/bind/bind.keys'
May  4 19:46:37 vps-777 named[12304]: using default UDP/IPv4 port range: [1024, 65535]
May  4 19:46:37 vps-777 named[12304]: using default UDP/IPv6 port range: [1024, 65535]
May  4 19:46:37 vps-777 named[12304]: no IPv6 interfaces found
May  4 19:46:37 vps-777 named[12304]: reloading configuration succeeded
May  4 19:46:37 vps-777 named[12304]: any newly configured zones are now loaded
May  4 19:46:37 vps-777 named[12304]: received control channel command 'reconfig'
May  4 19:46:37 vps-777 named[12304]: loading configuration from '/etc/bind/named.conf'
May  4 19:46:37 vps-777 named[12304]: reading built-in trusted keys from file '/etc/bind/bind.keys'
May  4 19:46:37 vps-777 named[12304]: using default UDP/IPv4 port range: [1024, 65535]
May  4 19:46:37 vps-777 named[12304]: using default UDP/IPv6 port range: [1024, 65535]
May  4 19:46:37 vps-777 named[12304]: no IPv6 interfaces found
May  4 19:46:37 vps-777 kernel: [1899107.248616] eth1: link up, 100Mbps, full-duplex, lpa 0x05E1
May  4 19:46:37 vps-777 named[12304]: reloading configuration succeeded
May  4 19:46:37 vps-777 named[12304]: any newly configured zones are now loaded
May  4 19:46:48 vps-777 kernel: [1899118.204028] eth1: no IPv6 routers present
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: iptables: не прописываются правила при перезагрузке

Сообщение sash-kan »

протестируйте.
удалите симлинк.
создайте под таким же именем файл, содержащий примерно следующее:
#!/bin/sh
logger "this message should appear in the /var/log/syslog"
не забудьте поставить ему бит исполняемости:
$ sudo chmod +x /etc/network/if-pre-up.d/firewall.sh
и перезапустите что-нибудь. networking или машину.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
fergios
Сообщения: 512
ОС: debian stable

Re: iptables: не прописываются правила при перезагрузке

Сообщение fergios »

скрипт положить в /etc/init.d/
прописать через update-rc.d
после перезагрузки правила сразу применяются.

все просто.
Спасибо сказали:
storm2005
Сообщения: 136

Re: iptables: не прописываются правила при перезагрузке

Сообщение storm2005 »

sash-kan писал(а): ↑
05.05.2011 02:19
протестируйте.
удалите симлинк.
создайте под таким же именем файл, содержащий примерно следующее:
#!/bin/sh
logger "this message should appear in the /var/log/syslog"
не забудьте поставить ему бит исполняемости:
$ sudo chmod +x /etc/network/if-pre-up.d/firewall.sh
и перезапустите что-нибудь. networking или машину.


Перезапустил сеть

Код: Выделить всё

/etc/init.d/networking restart

syslog

Код: Выделить всё

May  6 18:58:10 vps-777 named[12304]: received control channel command 'reconfig'
May  6 18:58:10 vps-777 named[12304]: loading configuration from '/etc/bind/named.conf'
May  6 18:58:10 vps-777 named[12304]: reading built-in trusted keys from file '/etc/bind/bind.keys'
May  6 18:58:10 vps-777 named[12304]: using default UDP/IPv4 port range: [1024, 65535]
May  6 18:58:10 vps-777 named[12304]: using default UDP/IPv6 port range: [1024, 65535]
May  6 18:58:10 vps-777 named[12304]: no IPv6 interfaces found
May  6 18:58:10 vps-777 named[12304]: reloading configuration succeeded
May  6 18:58:10 vps-777 named[12304]: any newly configured zones are now loaded
May  6 18:58:10 vps-777 kernel: [2068999.803744] eth1: link up, 100Mbps, full-duplex, lpa 0x05E1
May  6 18:58:10 vps-777 named[12304]: received control channel command 'reconfig'
May  6 18:58:10 vps-777 named[12304]: loading configuration from '/etc/bind/named.conf'
May  6 18:58:10 vps-777 named[12304]: reading built-in trusted keys from file '/etc/bind/bind.keys'
May  6 18:58:10 vps-777 named[12304]: using default UDP/IPv4 port range: [1024, 65535]
May  6 18:58:10 vps-777 named[12304]: using default UDP/IPv6 port range: [1024, 65535]
May  6 18:58:10 vps-777 named[12304]: no IPv6 interfaces found
May  6 18:58:10 vps-777 named[12304]: reloading configuration succeeded
May  6 18:58:10 vps-777 named[12304]: any newly configured zones are now loaded



fergios писал(а): ↑
05.05.2011 04:35
скрипт положить в /etc/init.d/
прописать через update-rc.d
после перезагрузки правила сразу применяются.

все просто.

Я так понимаю, что в таком случае скрипт исполняется при загрузке ОС? МНе нужно универсальное решение - выполнение при загрузке ОС и при перезагрузке сетевых интерфейсов.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: iptables: не прописываются правила при перезагрузке

Сообщение watashiwa_daredeska »

storm2005 писал(а): ↑
06.05.2011 20:04
МНе нужно универсальное решение - выполнение при загрузке ОС и при перезагрузке сетевых интерфейсов.
/etc/network/if{,-post}-{up,down}.d/
Спасибо сказали:
storm2005
Сообщения: 136

Re: iptables: не прописываются правила при перезагрузке

Сообщение storm2005 »

watashiwa_daredeska писал(а): ↑
06.05.2011 20:06
storm2005 писал(а): ↑
06.05.2011 20:04
МНе нужно универсальное решение - выполнение при загрузке ОС и при перезагрузке сетевых интерфейсов.
/etc/network/if{,-post}-{up,down}.d/

Вы конечно извините, но вы бы хоть потрудились прочесть первый пост в этой теме.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: iptables: не прописываются правила при перезагрузке

Сообщение watashiwa_daredeska »

storm2005 писал(а): ↑
06.05.2011 20:48
но вы бы хоть потрудились прочесть первый пост в этой теме.
Ага, сорри.

Ну, для отладки можно весь вывод куда-нибудь в /tmp/firewall.log сложить, например. Прописать в начале скрипта:

Код: Выделить всё

#!/bin/sh

exec >>/tmp/firewall.log 2>&1

...
А там уж смотреть, чем он плюется.
Спасибо сказали:
storm2005
Сообщения: 136

Re: iptables: не прописываются правила при перезагрузке

Сообщение storm2005 »

watashiwa_daredeska писал(а): ↑
06.05.2011 21:08
storm2005 писал(а): ↑
06.05.2011 20:48
но вы бы хоть потрудились прочесть первый пост в этой теме.
Ага, сорри.

Ну, для отладки можно весь вывод куда-нибудь в /tmp/firewall.log сложить, например. Прописать в начале скрипта:

Код: Выделить всё

#!/bin/sh

exec >>/tmp/firewall.log 2>&1

...
А там уж смотреть, чем он плюется.

Если перезапустить сеть, то ничем не плюется. Даже файл не создает. Если запустить ручками симлинк, то создает пустой /tmp/firewall.log
Спасибо сказали: