
имеем: небольшой филиал, шлюз - FreeBSD 8.0 +pf + squid + авторизация в AD. нужно выпустить людей в интернет через проксю (работает), а некоторым дать доступ к инету напрямую (работает частично, см. ниже)
все настраивал по статейкам, тут же и найденным, что получилось:
в принципе все работает, когда подключение к интернету - статический белый IP, но как только делаю подключение через PPPoE (ADSL модем там), - pf начинает выпускать ВСЕХ в инет напрямую, без прокси, хотя по идее должун выпускать только избранные компы.
конфиг pf при подключении по PPPoE (при статическом IP все то же самое тока ext_if="sk1" и в rc.conf раскомментирована строка с конфигурацией инрефейса):
Код: Выделить всё
int_if="sk0"
ext_if="tun0"
localnet="192.168.60.0/24"
tcp_ports="{20,21,80,443,25,110,465,995,5190}"
udp_ports="{53}"
table <allow_nat> persist file "/etc/nat_hosts"
set skip on lo0
set skip on $int_if
scrub in all
nat on $ext_if from <allow_nat> to any -> ($ext_if)
antispoof quick for $ext_if
block all
pass out on $ext_if proto tcp to any port $tcp_ports keep state
pass out on $ext_if proto udp to any port $udp_ports keep state
pass in inet proto tcp from any to $ext_if port 22 keep state
pass inet proto icmp all
Код: Выделить всё
#ifconfig_sk1="inet xxx.xxx.xxx.xxx netmask 255.255.255.248"
ifconfig_sk0="inet 192.168.60.254 netmask 255.255.255.0"
#defaultrouter="xxx.xxx.xxx.yyy"
gateway_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
#ppp_nat="YES"
ppp_profile="STK"
sshd_enable="YES"
sendmail_enable="NONE"
named_enable="YES"
samba_enable="YES"
squid_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_program="/sbin/pfctl"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pf.log"
pflog_flags=""
pfsync_enable="NO"
pfsync_syncdev=""
pfsync_ifconfig=""