Я установил брандмауэр на FreeBSD 8.2, используя ipf+ipnat, а также SQUID 2.7 в качестве веб-прокси.
Все пользователи могут получить доступ к Интернету в порядке, но моей большой проблемой являются IP-телефоны, они пытаются получить доступ к sip-серверу в Интернете (услуга внешнего провайдера), они не могут установить соединение.
порты, используемые для sip-сервисов: SIP: порт 5060–5070 UDP/TCP RTP (голос) Трафик: порты 10000–20000 UDP
Это моя текущая конфигурация системы, что-то не так, но я не знаю, что
Интерфейсы: rl0 = локальная сеть офиса 192.168.10.x bge0 = подключение к Интернету через глобальную сеть
rc.conf:
squid_enable="YES"
ipfilter_enable="YES"
ipfilter_rules="/etc/ipf.rules"
ipmon_enable="YES"
ipmon_flags="-Ds"
gateway_enable="YES"
ipnat_enable="YES"
ipnat_rules="/etc/ipnat.rules"
ipf.rules:
pass out quick on rl0 all
pass in quick on rl0 all
pass out quick on bge0 all
pass in quick on bge0 all
pass in quick on lo0 all
pass out quick on lo0 all
Я открыл весь трафик на оба интерфейса (временно), но не получил хорошего результата, все ip телефоны пока не работают
ipnat.rules:
rdr rl0 0.0.0.0/0 port 80 -> 127.0.0.1 port 8080 tcp # transparent proxy
rdr bge0 0.0.0.0/0 port 22 -> 127.0.0.1 port 22 tcp # ssh server
map bge0 192.168.10.0/16 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map bge0 192.168.10.0/16 -> 0.0.0.0/32 portmap tcp/udp auto
map bge0 192.168.10.0/16 -> 0.0.0.0/32
все IP-телефоны и компьютеры имеют статический IP-адрес, сервер FreeBSD в качестве шлюза и действующий DNS-сервер.