запуск iptables

Периодически необходимо изменять внешний апишник, ну ессно изменять в правилах фаервола. Вопрос такой, как можно организовать это?
Какая последовательность команд. В правилах изменил, выполнил iptables-restore, но после перезагрузки в правилах старый апишник.
Определить в скрипте переменную адреса, например, по выражению
ifconfig eth0|grep 'inet '|awk '{print $2}'
sirocco
Natrio
Кстати, это похоже не истину.
похоже не истина или похоже на истину?
Извините, опечатка. Конечно же, “нА истину”.

Volldemar
как в арче заставить загружать правила при ребуте?
Файл с правилами лежит в положенном месте, имеет права на выполнение, iptables прописан в демонсах (rc.conf).
Но при ребуте правила не загружаются.
Старт-скрипт iptables, который лежит в /etc/rc.d/, и прописывается в DAEMONS, выполняет команду iptables-restote , и использует для неё правила из файла (не скрипта!) /etc/iptables/iptables.rules
Natrio
Старт-скрипт iptables, который лежит в /etc/rc.d/, и прописывается в DAEMONS, выполняет команду iptables-restote , и использует для неё правила из файла (не скрипта!) /etc/iptables/iptables.rules
Значит при необходимости смены апишника делаем так:
1. меняем апишник в скрипте /etc/iptables/firewall.rules
2. удаляем файл iptables.rules
3. загружаем справила, выполнив скрипт /etc/firewall.rules
4. делаем /etc/rc.d/iptables save

Логика такая? ничего не пропустил?
А зачем удалять файл, можно в скрипте сделать очистку цепочек с удалением пользовательских, при запуске скрипта цепочки будут очищены и заполнены новыми правилами.

И /etc/rc.d/iptables save без дефиса, там скрипт, который вызовет iptables-save.
gard
А зачем удалять файл, можно в скрипте сделать очистку цепочек с удалением пользовательских, при запуске скрипта цепочки будут очищены и заполнены новыми правилами.

И /etc/rc.d/iptables save без дефиса, там скрипт, который вызовет iptables-save.
Потому что:
[root@myhost rc.d]# iptables save
Bad argument `save'
[root@myhost rc.d]# iptables-save
# Generated by iptables-save v1.4.12 on Mon Oct 24 10:47:26 2011
*nat
:PREROUTING ACCEPT [2714:263258]
:INPUT ACCEPT [6:320]
:OUTPUT ACCEPT [170:11115]
:POSTROUTING ACCEPT [17:1020]
-A POSTROUTING -o lan0 -j SNAT --to-source 10.49.41.19
-A POSTROUTING -o ppp0 -j SNAT --to-source 195.66.65.134
COMMIT
# Completed on Mon Oct 24 10:47:26 2011
# Generated by iptables-save v1.4.12 on Mon Oct 24 10:47:26 2011
*filter
:INPUT DROP [2080:227092]
:FORWARD DROP [2:104]
:OUTPUT ACCEPT [0:0]
... ... ... (пропускаем)
COMMIT
# Completed on Mon Oct 24 10:47:26 2011
Volldemar
[root@myhost rc.d]# iptables save
Bad argument `save'

То, что Вы запускаете файл, находясь в данном каталоге, нисколько не гарантирует запуск исполняемого файла, находящегося в данном каталоге.

Надо либо
[root@myhost rc.d]# ./iptables save
либо
# etc/rc.d/iptables save
Вот итог:
сделал файл:
#!/bin/sh
/etc/iptables/firewall.rules restart
/etc/rc.d/iptables save
первой строкой запускаем скрипт с новыми правилами
второй строкой сохраняем правила в файл, который будет читаться при ребуте.
sirocco
Volldemar
[root@myhost rc.d]# iptables save
Bad argument `save'

То, что Вы запускаете файл, находясь в данном каталоге, нисколько не гарантирует запуск файла из данного каталога.

Надо либо
[root@myhost rc.d]# ./iptables save
либо
# etc/rc.d/iptables save
Да, уже понял ошибку, обязательно нада:
./iptables save
 
Зарегистрироваться или войдите чтобы оставить сообщение.