Здравствуйте,помогите разобраться с ipfw и nat.
Есть скрипт ipfw:
#!/bin/sh
ipfw="/sbin/ipfw"
local_net="172.25.37.0/24"
local_interface="rl0"
inter_net="192.168.101.0/24"
inter_interface="vr0"
${ipfw} nat 1 config log if ${inter_interface} reset same_ports deny_in
# Прозрачный сквид==============================================================================
# Заворот в сквид
${ipfw} add fwd 127.0.0.1,3128 tcp from ${local_net} not dst-port 465,993,143,110,25,995 to any out via ${inter_interface}
# Разрешаем сквиду ходить в интернет
${ipfw} add allow tcp from me to any out via ${inter_interface} uid squid # keep-state uid squid
${ipfw} add allow tcp from any to me via ${inter_interface} established # keep-state uid squid
#=======================================================================================
${ipfw} add nat 1 ip from any to any via ${inter_interface}
# Тут разрешаем то, что можно===========================================================
#https
${ipfw} add allow all from any to any 443
#почта
${ipfw} add allow all from ${local_net} to any 465
${ipfw} add allow all from any 465 to ${local_net} established
${ipfw} add allow all from ${local_net} to any 993
${ipfw} add allow all from any 993 to ${local_net} established
${ipfw} add allow all from ${local_net} to any 143
${ipfw} add allow all from any 143 to ${local_net} established
${ipfw} add allow all from ${local_net} to any 110
${ipfw} add allow all from any 110 to ${local_net} established
${ipfw} add allow all from ${local_net} to any 25
${ipfw} add allow all from any 25 to ${local_net} established
${ipfw} add allow all from ${local_net} to any 995
${ipfw} add allow all from any 995 to ${local_net} established
#======================================================================================
# Разрешаем локалхост
${ipfw} add allow all from any to any via lo0
# Разрешаем внутренний интерфейс
${ipfw} add allow all from ${local_net} to me via ${local_interface}
# Разрешаем DNS
${ipfw} add allow udp from any 53 to any
${ipfw} add allow udp from any to any dst-port 53
${ipfw} add allow all from any to any
Если убрать форвард на сквид, то почта начинает работать, я добавил в форвард not для портов почты, но результата нет.
Как правильно будет разрешить доступ к этим портам?
И еще вопрос, ipfw пока открыт, последним правилом, как корректно будет разрешить ходить в интернет только сквиду, а не всем?
P.S
FreeBsd 8.3, nat в ядре, форвардинг включен в ядре.
Почта дает ошибку (The Bat) - !31.08.2012, 09:00:24: IMAP - Ошибка протокола TLS: Не ожидаемый пакет (ошибка протокола?) SessionUnknownContentType ct (72).