уже задавал подобный вопрос, уважаемый (ая) BlackCat помог, но тем не менее остается открытым вопрос:
имеем - шлюз в небольшом оффисе, freeBSD 8.0 +pf. Pf сконфигурирован, работает. До недавнего времени подключение к интернету было - статический IP, проблем небыло. Оные появились, когда пришлось подключиться к интернету с помощью PPPoE. в конфиге pf поменял название внешнего интерфейса на tun0, и получил, что после перезагрузки сервера правила не подгружаются. Если подгружаем их вручную pfctl -f /etc/pf.conf - все работает, но вручную после каждой перезагрузке грузить правила - не вариант.
Есть мысль, что на момент запуска pf PPPoE еще не установлено, и, соответственно, нет интерфейса tun0, из-зи чего pf и не хочет грузить правила.
отсюда вопрос - может ли такое быть, если да, то как "задержать" запуск pf до появления соединения с нтернетом?
конфиг pf:
Код: Выделить всё
int_if="sk0"
ext_if="tun0"
localnet="192.168.57.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
table <badhosts> persist
block quick on $ext_if from <badhosts> to any
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 62.33.187.72 netmask 255.255.255.0"
ifconfig_sk0="inet 192.168.57.254 netmask 255.255.255.0"
#defaultrouter="62.33.187.1"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="GTS"
gateway_enable="YES"
sshd_enable="YES"
sendmail_enable="NONE"
named_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=""