Подскажите, куда копать.
Что-то мне подсказывает, что поведение системы не штатное.
Код: Выделить всё
FreeBSD 10.0-RELEASE-p11 FreeBSD 10.0-RELEASE-p11 #1: Mon Oct 27 16:37:37 MSK 2014 root@:/usr/obj/usr/src/sys/PF1306IP6 amd64
Squid прозрачный, для этого
1) В ядре
Код: Выделить всё
# PF
device pf
device pflog
device pfsync
Код: Выделить всё
#PF
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
Код: Выделить всё
rdr on em2 proto { tcp } from 172.20.0.0/16 to any port 80 -> 127.0.0.1 port 3128
Код: Выделить всё
http_port 127.0.0.1:3129
http_port 127.0.0.1:3128 intercept
Но, после reboot не поднимается связка Squid + pf. И нет интернета в сети. Squid валиться с ошибкой доступа к pf.
Код: Выделить всё
PF open failed: (13) Permission denied
Код: Выделить всё
/dev/pf
root:squid 0640
Код: Выделить всё
/dev/pf имеет root:squid 0600
Код: Выделить всё
# Allow Squid read acess to /dev/pf
own pf root:squid
perm pf 0640
/etc/rc.d/devfs restart
Теоретически что должно произойти.
При своем рестарте демон devfs согласно конфигу /etc/devfs.conf
выставит права на устройства в папке /dev/
И та же самая ситуация должна произойти при reboot системы
НО ЭТОГО НЕ ПРОИСХОДИТ.
Застраховался, но как-то гламурно: по crontab -e прописал
Код: Выделить всё
@reboot /home/aaa/start.sh
####
#start.sh
####
chmod 640 /dev/pf
но в логи SQUID валяться ошибки доступа к PF
PF open failed: (13) Permission denied
При перезагрузке squid и в логах нормально. Но значит, что я что-то не доделал.
Как решить проблему штатно, без костылей?
Или, если более обще - как мне добиться того, что бы /dev/pf
при reboot системы имел root:squid 0640 и соответственно работала моя связка SQUID+pf.
И вообще, откуда берется список устройств в /dev/pf и каким образом на них выставляются права
(Читал документацию и вычитал, что при перезагрузке системы эти устройства удаляются
и при старте создаются вновь. Или же вторая версия, что список этих устройств архивируется при отключении и при
старте разархивируется. В обоих случаях права выставляться должны уже после того как они созданы при старте. Но вот как??? )