xl0 - локальный интерфейс (10.11.100.1)
rl0 - смотрит на АДСЛ-модем (192.168.23.204)
tun0 - PPPoE соединение с провайдером (динамический ип)
настройки фаерволла:
Код: Выделить всё
#!/bin/sh
IPFW="/sbin/ipfw"
NATCMD="/sbin/natd"
INT_IFACE="xl0"
EXT_IFACE="rl0"
${IPFW} -q flush
${IPFW} add 10 check-state
${IPFW} add 15 allow all from me to me
${IPFW} add 23 allow all from any to any via ${INT_IFACE} # разрешаем всё из внутренней сетки
${IPFW} add 24 allow all from me to any out # разрешаем все исходящие соединения
${IPFW} add 25 allow all from any to any established # разрешаем все установившиеся соединения
${IPFW} add 27 fwd 127.0.0.1,3129 all from 10.11.100.0/24 to any http,5190,5222 out via tun0 #собственно пытаемся завернуть траффик
### VPN
${IPFW} add 41 allow gre from any to any
${IPFW} add 42 allow tcp from me to any dst-port 1723 via ${EXT_IFACE} setup keep-state
### ssh in host from int lan
${IPFW} add 50 allow tcp from any to me ssh via ${INT_IFACE}
# DNS (если ваш сервер ипользуется как DNS сервер для внутренней сети)
${IPFW} add 172 allow udp from any to 85.15.64.49
${IPFW} add 173 allow udp from 85.15.64.49 to any
### icmp
${IPFW} add 180 allow icmp from any to any
###
${IPFW} add 65000 deny all from any to any
Код: Выделить всё
firewall_enable="YES"
#firewall_type="open"
firewall_script="/etc/firewall.sh"
firewall_logging="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="vtk"
natd_enable="YES"
natd_interface="tun0"
Код: Выделить всё
${IPFW} add 26 allow all from 10.11.100.0/24 to any out via tun0
Сквид настроен корректно - в настройках браузера указываю 10.11.100.1:3129 и, больше ничего не трогая, все работает.
Помогите, уже сломал весь мозг, пытаясь разобраться.