Скрипт запуска RFW для ipfw

Технические вопросы по UTM 5.0
denver
Сообщения: 18
Зарегистрирован: Пн ноя 12, 2007 17:06

Скрипт запуска RFW для ipfw

Сообщение denver »

Добый день.

Поскажите пожалуйста, может кто делал.
Система такая: ОС FreeBSD, UTM5, можно ли сделать так чтобы правила в ipfw добавлялись через скрипт запуска?
т.е. в rfw5.cfg
...
firewall_path=/netup/utm5/rfw_users.sh
...
в rfw_users.sh:

if [ "$3" == "ON"]; then
#правила на включение ipfw
...
exit 0;
fi
if [ "$3" == "OFF"]; then
#правила на выключение ipfw
...
exit 0;
fi

Заранее спасибо..

denver
Сообщения: 18
Зарегистрирован: Пн ноя 12, 2007 17:06

Сообщение denver »

В общем проблема обрисована, решается так.
Сначала конфиги
rfw5.cfg:
------------------------------------
rfw_name=X.X.X.X(localIP)
firewall_path=/netup/utm5/users.sh
dont_fork=yes
core_host=X.X.X.X(UTMCoreIP)
core_port=12758
rfw_login=rfw_login
rfw_password=rfw_pass

log_level=3
log_file_main=/netup/utm5/rfw.log
log_file_debug=/netup/utm5/rfw.log
log_file_critical=/netup/utm5/rfw.log
---------------------------------------------

/netup/utm5/users.sh:
---------------------------------------------
#!/bin/sh

#ON with mac
if [ "${2}" = "ON" ] ; then

/sbin/ipfw delete ${3}
exit 0;
fi

#OFF with mac
if [ "${2}" = "OFF" ] ; then
/sbin/ipfw delete ${3}
/sbin/ipfw add ${3} deny ip from "${1}" to any
/sbin/ipfw add ${3} deny ip from any to "${1}"
exit 0;
fi
------------------------------------------------------
это для sh оболочки.

В правилах firewall в UTM выстяавляем
вкл: UIP/UBITS ON ACCOUNT_ID
выкл: UIP/UBITS OFF ACCOUNT_ID

Теперь можно в этот скрипт вставлять всё что душа пожелает. И при включении и выключении все это будет выполняться.

Спасибо всем огомное за помошь... :?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

используйте таблицы. Производительность на большом числе абонентов/IP-групп должна быть выше(меньше правил проходит пакет, поиск в таблицах идет по хешу), фаервол аккуратнее, нет дублирующихся правил.

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

Не запускаются правила фаервола. подскажите кто сталкивался с таким логом.

?Debug : Jun 30 14:24:54 FWCntl: Executing command </sbin/ipfw>
?Debug : Jun 30 14:24:54 FWCntl: Executing FW rule: /sbin/ipfw add 5006 allow ip from any to 192.168.0.41/24 is done.
?Debug : Jun 30 14:24:54 StreamConnection: Message id <0x4001>, handler returns 0
?Debug : Jun 30 14:25:13 StreamFirewall: Got ping from core. Sending reply...
?Debug : Jun 30 14:25:13 StreamConnection: Message id <0x4004>, handler returns 0
?Debug : Jun 30 14:25:15 StreamFirewall: Got 'exec' command...
?Debug : Jun 30 14:25:15 FWCntl: dont_fork disabled. Don't wait child process ...

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

Info : Jul 01 11:24:50 RFW Config: Terminating firewall: Exception in handle method (check firewall name)
Notice: Jul 01 11:24:50 RFW Config: Pid file found: /var/run/utm5_rfw.pid; Overwriting

в конфиге имя фаервола соответствует имени в админке на вкладке брендмауэров. что м.б?

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

?Debug : Jul 01 11:46:17 ModFWMan: Exec [/sbin/ipfw add 5006 allow ip from any to 192.168.0.41/24] on 4
ERROR : Jul 01 11:46:17 ModFWMan: No info for FW 4 found
?Debug : Jul 01 11:46:17 BusLogic: hw_block_handler end bla_user_hw_unblock|bla_user_hw_block
?Debug : Jul 01 11:46:17 BusLogic: finished unknown
?Debug : Jul 01 11:46:17 DBCtx: SQL SELECT query: SELECT t_class_name,graph_color,is_display,is_fill,time_range_id,dont_save,local_t
raf_policy from t_class where id='10'
?Debug : Jul 01 11:46:17 DBCtx: SQL SELECT query: SELECT t_class_name,graph_color,is_display,is_fill,time_range_id,dont_save,local_t
raf_policy from t_class where id='1000'

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

Все работает кроме ipfw помогите плз. может кто настраивал по какой то теме на форуме или ману. подскажите плз.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

Конфиг RFW:

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

ns# cat rfw5.cfg | grep -v '^#'
rfw_name=127.0.0.1
core_host=127.0.0.1
core_port=12758
rfw_login=<user>
rfw_password=<password>
firewall_path=/sbin/ipfw
log_level=0
log_file_main=/var/log/utm5/rfw_main.log
log_file_debug=/var/log/utm5/rfw_debug.log
log_file_critical=/var/log/utm5/rfw_crit.log
rotate_logs=yes
max_logfile_count=10
Правила имеют в таком случае вид:

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

inet on&#58; table 2 delete UIP/UBITS
inet off&#58; table 2 add UIP/UBITS
Сам фаервол имеет вид:

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

ns# ipfw list | grep 'table&#40;2&#41;'
00200 deny ip from table&#40;2&#41; to not me
Все при этом работает.
Настроено по мурзилке, которая зовется официальной документацией к биллингу.

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

rfw5.cfg:
rfw_name=local
core_host=192.168.28.26
core_port=12758
rfw_login=***
rfw_password=***
firewall_path=/sbin/ipfw
log_level=3
log_file_main=/var/log/utm5/rfw_main.log
log_file_debug=/var/log/utm5/rfw_debug.log
log_file_critical=/var/log/utm5/rfw_crit.log
rotate_logs=yes
max_logfile_count=10
********************
Брендмауэр заведен в админке с идентификатором 1.Везде указал где нужно этот ID.
Правила на открытие интернета:
sbin/ipfw add RULE_ID allow ip from UIP/UBITS to any
sbin/ipfw add RULE_ID allow ip from any to UIP/UBITS

rfw5.log
?Debug : Jul 02 16:22:18 FWCntl: dont_fork disabled. Don't wait child process ...
?Debug : Jul 02 16:22:18 FWCntl: Executing command </sbin/ipfw>
?Debug : Jul 02 16:22:18 FWCntl: Executing FW rule: /sbin/ipfw table 1 add 192.168.0.41/24 is done.
?Debug : Jul 02 16:22:18 StreamConnection: Message id <0x4001>, handler returns 0
ipfw: bad command `/sbin/ipfw'
?Debug : Jul 02 16:22:48 StreamFirewall: Got ping from core. Sending reply...
?Debug : Jul 02 16:22:48 StreamConnection: Message id <0x4004>, handler returns 0
?Debug : Jul 02 16:23:18 StreamFirewall: Got ping from core. Sending reply...
?Debug : Jul 02 16:23:18 StreamConnection: Message id <0x4004>, handler returns 0
?Debug : Jul 02 16:23:48 StreamFirewall: Got ping from core. Sending reply...
?Debug : Jul 02 16:23:48 StreamConnection: Message id <0x4004>, handler returns 0
?Debug : Jul 02 16:24:18 StreamFirewall: Got ping from core. Sending reply...

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

mikkey finn писал(а):Конфиг RFW:

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

ns# cat rfw5.cfg | grep -v '^#'
rfw_name=127.0.0.1
core_host=127.0.0.1
core_port=12758
rfw_login=<user>
rfw_password=<password>
firewall_path=/sbin/ipfw
log_level=0
log_file_main=/var/log/utm5/rfw_main.log
log_file_debug=/var/log/utm5/rfw_debug.log
log_file_critical=/var/log/utm5/rfw_crit.log
rotate_logs=yes
max_logfile_count=10
Правила имеют в таком случае вид:

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

inet on&#58; table 2 delete UIP/UBITS
inet off&#58; table 2 add UIP/UBITS
Сам фаервол имеет вид:

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

ns# ipfw list | grep 'table&#40;2&#41;'
00200 deny ip from table&#40;2&#41; to not me
Все при этом работает.
Настроено по мурзилке, которая зовется официальной документацией к биллингу.
спс большое разобрался. Еще хотел у вас спросить как у вас организованы правила для локальной сети. т.е. она у вас по умолчанию открыта выходит так? подскажите пожалуст.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

по умолчанию открыто.

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

mikkey finn писал(а):по умолчанию открыто.
вы не фиксируете лок трафик выходит так? ведь без авторизации можно будет от хоста к хосту ходить?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

локал чисто для статистики. так уж в этом лесу повелось...

Аватара пользователя
Нафаня
Сообщения: 130
Зарегистрирован: Пн июн 09, 2008 11:12

Сообщение Нафаня »

Подскажите как организовать ipfw чтобы при его открытом типе небыло доступа в к сети пока не откроются правила вида:
allow ip from any to x.x.x.x
allow ip from x.x.x.x to any

JAO
Сообщения: 1153
Зарегистрирован: Вт дек 11, 2007 08:17

Сообщение JAO »

ipfw add 100 skipto 200 ip from <your-net> to any
ipfw add 101 skipto 200 ip from any to <your-net>
ipfw add 102 deny ip from any to any
ipfw add 200 allow all from table(1) to any
ipfw add 201 allow all from any to table(1)
ipfw add 202 deny ip from any to any

Примерно по такой схеме. Кого не убьет 102, того убьет 202. Ну и используйте наконец таблицы, их еще в пятой версии вам дали, а ныне уже седьмая вышла. Добавил адрес в таблицу - инет есть, убрал адрес - инета нет, и к чему всякий раз дергать набор правил?

Кстати, у меня фаер значительно сложнее построен, там разруливаются сначала общие потоки от интерфейса к интерфейсу, потом уже разруливается адресация, в частности глушатся левые адреса отправителя и немаршрутизируемые в инет сети, потом идет разграничение доступа по службам и т.д. Несмотря на значительные размеры, работает это все очень шустро - 40 мегабит видал скорость и шлюз не помер. Потому что фаер построен по схеме

1) "минимум правил на каждый поток"
2) "everybody jump, jump!"

Ответить