Всем добрый день!
Нужна помощь... Постараюсь вкратце...
Есть FreeBSD 5.5, в качестве фаервола юзаю ipf.
#cat rfw5.cfg
firewall_type=local
sudo_path=/usr/local/bin/sudo
firewall_path=/bin/echo
В биллинге прописано
(включение)
"pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags" | /sbin/ipf -f -
(выключение)
"pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags" | /sbin/ipf -rf -
#cat /var/log/messages
Aug 21 14:56:38 out sudo: root : TTY=unknown ; PWD=/netup/utm5 ; USER=root ; COMMAND=/bin/echo "pass in quick on fxp0 proto tcp from 10.10.0.3/29 to 172.16.0.100 port = 3128 keep state keep frags" | /sbin/ipf -rf -
Aug 21 14:56:40 out sudo: root : TTY=unknown ; PWD=/netup/utm5 ; USER=root ; COMMAND=/bin/echo "pass in quick on fxp0 proto tcp from 10.10.0.3/29 to 172.16.0.100 port = 3128 keep state keep frags" | /sbin/ipf -f -
Но правила не добавляются...
FreeBSD+UTM5+IPFilter [local] не добавляются правила... :(
-
- Сообщения: 180
- Зарегистрирован: Пн дек 26, 2005 13:17
- Откуда: msk
Это не правильная конструкция...calculator писал(а):А зачем такие навороты с конвеером?
Что менает сделать
firewall_path=/sbin/ipf
правила вида:
-f pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags
man ipf:
-f <filename>
This option specifies which files ipf should use to get input
from for modifying the packet filter rule lists.
/bin/echo "pass in quick on fxp0 proto tcp from 10.10.0.3/29 to 172.16.0.100 port = 3128 keep state keep frags" | /sbin/ipf -f -calculator писал(а):Попробуй еще вручную правила выполнить(те что выдает в логе). Срабатывают ли?
Ессно вручную правило работает...
-
- Сообщения: 180
- Зарегистрирован: Пн дек 26, 2005 13:17
- Откуда: msk
Все дело в конвеере. Рабочий вариант под linux:
firewall_path=/netup/utm5/bin/ipf.sh
/netup/utm5/bin/ipf.sh:
while удаляет дублирущиеся правила...
остальные команды обрабатываются в *)
(включение)
-f pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags
(выключение)
-rf pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags
firewall_path=/netup/utm5/bin/ipf.sh
/netup/utm5/bin/ipf.sh:
Код: Выделить всё
#!/bin/bash
#
#
case $1 in
-rf) shift 1
while [ 1 ]; do
/bin/echo $* | /sbin/ipf -rf - 2>/dev/null|| exit
done ;;
-f) shift 1
/bin/echo $* | /sbin/ipf -f - 2>/dev/null ;;
*) /bin/echo $* | /sbin/ipf - 2>/dev/null ;;
esac
остальные команды обрабатываются в *)
(включение)
-f pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags
(выключение)
-rf pass in quick on fxp0 proto tcp from UIP/UBITS to 172.16.0.100 port = 3128 keep state keep frags
Последний раз редактировалось calculator Ср авг 23, 2006 13:26, всего редактировалось 2 раза.
Хм...
Не силён я в шелле...
Но...
#!/bin/bash
case $1 in
-f) /bin/echo $* | /sbin/ipf -f -;;
esac
# /netup/utm5/bin/ipf.sh -f pass in quick on fxp1 proto tcp from 10.10.0.3/29 to 172.16.0.100 port = 3128 keep state keep frags
получаем:
1: unknown keyword (-f)
/sbin/ipf: -: parse error (-1), quitting
С какого это перепугу он о ключах ничего не знает???
Не силён я в шелле...
Но...
#!/bin/bash
case $1 in
-f) /bin/echo $* | /sbin/ipf -f -;;
esac
# /netup/utm5/bin/ipf.sh -f pass in quick on fxp1 proto tcp from 10.10.0.3/29 to 172.16.0.100 port = 3128 keep state keep frags
получаем:
1: unknown keyword (-f)
/sbin/ipf: -: parse error (-1), quitting
С какого это перепугу он о ключах ничего не знает???
-
- Сообщения: 180
- Зарегистрирован: Пн дек 26, 2005 13:17
- Откуда: msk