Проапгрейдился с 8.1 до 8.2. Из rc.firewall перестали грузиться правила, завязанные на nat. Остальные правила грузятся. Прооверял на дефолтном rc.firewall - та же песня. Изматерился, исплевался, пока не нашел удивительный выход, на месте /etc/rc.firewall оставил заглушку, а настоящий rc.firewall грузится отдельным скриптом из /usr/local/etc/rc.d
Понимаю, что это до безобразия криво, но это работает. Нет вообще никаких мыслей на тему где ковырять.
rc.conf в студию
> rc.conf в студиюfirewall_enable="YES"
firewall_type="simple"
firewall_quiet="NO"
firewall_logging="YES"natd_enable="YES"
natd_flags=""
natd_interface="em1"firewall_simple_oif="em1"
firewall_simple_onet="217.25.xxx.xxx/29"firewall_simple_iif="em0"
firewall_simple_inet="192.168.10.0/24"
все абсолютно стандартно.но весь прикол в том, что вот эти правила из rc.firewall
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n "${natd_interface}" ]; then
${fwcmd} add divert natd all from 192.168.10.128/25 to any via ${natd_interface}
${fwcmd} add divert natd all from any to ${onet} recv ${natd_interface}
fi
;;
esacне добавляются в процессе загрузки и, наоборот, добавляются, если скрипт выполнить вручную после загрузки.
> но весь прикол в том, что вот эти правила из rc.firewall..
> не добавляются в процессе загрузки и, наоборот, добавляются, если скрипт выполнить вручную
> после загрузки.похоже на изменение порядка обработки rc.d скриптов.
может покрутить rcorder
>[оверквотинг удален]
> ${fwcmd} add divert natd all from 192.168.10.128/25 to any via ${natd_interface}
>
> ${fwcmd} add divert natd all from any to ${onet} recv ${natd_interface}
>
> fi
>
> ;;
> esac
> не добавляются в процессе загрузки и, наоборот, добавляются, если скрипт выполнить вручную
> после загрузки.У меня похожая ситуация. НО у меня при згрузке стандартного /etc/rc.firewall запускается скрипт, который сбрасывает стандартные правила и добавляет те что мне нужно.
При этом ТОЛЬКО правила divert не добавляет. Перезапускаю скрипт руками - все чудесно добавляется.
Есть варианты?
> Проапгрейдился с 8.1 до 8.2. Из rc.firewall перестали грузиться правила, завязанные на
> nat. Остальные правила грузятся. Прооверял на дефолтном rc.firewall - та же
> песня. Изматерился, исплевался, пока не нашел удивительный выход, на месте /etc/rc.firewall
> оставил заглушку, а настоящий rc.firewall грузится отдельным скриптом из /usr/local/etc/rc.d
> Понимаю, что это до безобразия криво, но это работает. Нет вообще
> никаких мыслей на тему где ковырять.в 8.2 начало нормально работать one_pass=1
посмотри sysctl |grep one_pass а так же прочитай про прохождение пакетов в ipfw
> Проапгрейдился с 8.1 до 8.2. Из rc.firewall перестали грузиться правила, завязанные на
> nat. Остальные правила грузятся. Прооверял на дефолтном rc.firewall - та же
> песня. Изматерился, исплевался, пока не нашел удивительный выход, на месте /etc/rc.firewall
> оставил заглушку, а настоящий rc.firewall грузится отдельным скриптом из /usr/local/etc/rc.d
> Понимаю, что это до безобразия криво, но это работает. Нет вообще
> никаких мыслей на тему где ковырять.Добавь в ядро опцию:
options IPDIVERT
И пересобери его.
Правила применяются до того как загружаются модули.