Здравствуйте!
Есть проблема!
Надеюсь на подсказку!
Есть ipfw под freebsd и в нем постоянно меняются правила(billing).
Так вот после перезагрузки сервера надо чтоб он вспоминал последний список правил и устанавливал его!
Есть ли какие либо встроенные средства?
Или как еще можно?
>Здравствуйте!
>Есть проблема!
>Надеюсь на подсказку!
>Есть ipfw под freebsd и в нем постоянно меняются правила(billing).
>Так вот после перезагрузки сервера надо чтоб он вспоминал последний список правил
>и устанавливал его!
>Есть ли какие либо встроенные средства?
>Или как еще можно?
man ipfw на предмет list.
>Здравствуйте!
>Есть проблема!
>Надеюсь на подсказку!
>Есть ipfw под freebsd и в нем постоянно меняются правила(billing).
>Так вот после перезагрузки сервера надо чтоб он вспоминал последний список правил
>и устанавливал его!
>Есть ли какие либо встроенные средства?
>Или как еще можно?
Ну или проинсталлировать ipfw2 и работать с tables.
Подозреваю, что в Вашем случае логика правил не меняется, меняются только IP.
У меня это реализовано так: есть несколько файлов со списками IP, скрипт на perl, заталкивающий IP-шки в tables при рестарте.
можно /usr/local/etc/firewall.conf
вернее сказать тот что указан в /etc/rc.conf
постоянно переписывать на предмет меняющихся правил.
тогда при перезагрузке все старые правила восстановяться
>Здравствуйте!
>Есть проблема!
>Надеюсь на подсказку!
>Есть ipfw под freebsd и в нем постоянно меняются правила(billing).
>Так вот после перезагрузки сервера надо чтоб он вспоминал последний список правил
>и устанавливал его!
>Есть ли какие либо встроенные средства?
>Или как еще можно?
Можно так:
прописываешь в /etc/rc.conf скрипт с правилами для ipfw, который будет грузится после перезагрузки, например /etc/firewall/rulesДобавляешь в rc.conf: firewall_script="/etc/firewall/rules"
Далее создаешь файлик со скриптом или пишешь прямо в кроне для запуска каждую минуту примерно следующее:
touch /etc/firewall/rules1.sh | echo "#\!/bin/sh" > /etc/firewall/rules1.sh && ipfw -a list | awk '{print "/sbin/ipfw add " $4 " " $5 " " $6 " " $7 " " $8 " " $9 " " $10 " " $11 " " $12 " " $13}' > /etc/firewall/rules2.sh && cat /etc/firewall/rules1.sh /etc/firewall/rules2.sh > /etc/firewall/rules && chmod +x /etc/firewall/rules && rm /etc/firewall/rules1.sh && rm /etc/firewall/rules2.sh
Крон будет запускать этот скрипт каждую минуту, а скрипт будет сохранять все твои правила в файл /ect/firewall/rules. В итоге после ребута у тебя будут восстановленные правила ipfw.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Из скрипта выкини всё лишнее и замени на своё - писал находу.
>>Здравствуйте!
>>Есть проблема!
>>Надеюсь на подсказку!
>>Есть ipfw под freebsd и в нем постоянно меняются правила(billing).
>>Так вот после перезагрузки сервера надо чтоб он вспоминал последний список правил
>>и устанавливал его!
>>Есть ли какие либо встроенные средства?
>>Или как еще можно?
>
>
>Можно так:
>прописываешь в /etc/rc.conf скрипт с правилами для ipfw, который будет грузится после
>перезагрузки, например /etc/firewall/rules
>
>Добавляешь в rc.conf: firewall_script="/etc/firewall/rules"
>
>Далее создаешь файлик со скриптом или пишешь прямо в кроне для запуска
>каждую минуту примерно следующее:
>
>touch /etc/firewall/rules1.sh | echo "#\!/bin/sh" > /etc/firewall/rules1.sh && ipfw -a list | awk '{print "/sbin/ipfw add " $4 " " $5 " " $6 " " $7 " " $8 " " $9 " " $10 " " $11 " " $12 " " $13}' > /etc/firewall/rules2.sh && cat /etc/firewall/rules1.sh /etc/firewall/rules2.sh > /etc/firewall/rules && chmod +x /etc/firewall/rules && rm /etc/firewall/rules1.sh && rm /etc/firewall/rules2.sh
>
>Крон будет запускать этот скрипт каждую минуту, а скрипт будет сохранять все
>твои правила в файл /ect/firewall/rules. В итоге после ребута у тебя
>будут восстановленные правила ipfw.
>
>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
>Из скрипта выкини всё лишнее и замени на своё - писал находу.
>
Спасибо ОГРОМНОЕ помогло!
>[оверквотинг удален]
>touch /etc/firewall/rules1.sh | echo "#\!/bin/sh" > /etc/firewall/rules1.sh && ipfw -a list | awk '{print "/sbin/ipfw add " $4 " " $5 " " $6 " " $7 " " $8 " " $9 " " $10 " " $11 " " $12 " " $13}' > /etc/firewall/rules2.sh && cat /etc/firewall/rules1.sh /etc/firewall/rules2.sh > /etc/firewall/rules && chmod +x /etc/firewall/rules && rm /etc/firewall/rules1.sh && rm /etc/firewall/rules2.sh
>
>Крон будет запускать этот скрипт каждую минуту, а скрипт будет сохранять все
>твои правила в файл /ect/firewall/rules. В итоге после ребута у тебя
>будут восстановленные правила ipfw.
>
>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
>
>Из скрипта выкини всё лишнее и замени на своё - писал находу.
>А как сохранить с номерами правил.
Дело в том, что в биллинге правила для кажого клиента нумерованы.