Постите за наверно дурацкий вопрос, но я чё-то по этому поводу ничего не нашел...У меня в rc.conf прописано:
ipnat_enable="YES"
ipnat_program="/sbin/ipnat -CF -f"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags=""Значит-ли это что ipnat должен работать сразу после загрузки?
Ато у меня начинает работать только после того как я после входа выполню ipnat -CF -f /etc/ipnat.rules.
Подскажите плиз как это дело поставить в автозагрузку.
Попробуй
ipnat_program="/sbin/ipnat"
А так все верно
>Постите за наверно дурацкий вопрос, но я чё-то по этому поводу ничего
>не нашел...
>
>У меня в rc.conf прописано:
>ipnat_enable="YES"
>ipnat_program="/sbin/ipnat -CF -f"
>ipnat_rules="/etc/ipnat.rules"
>ipnat_flags=""
>
>Значит-ли это что ipnat должен работать сразу после загрузки?
>Ато у меня начинает работать только после того как я после входа
>выполню ipnat -CF -f /etc/ipnat.rules.
>Подскажите плиз как это дело поставить в автозагрузку.ну ведь сам даже написал параметр для флагов :)
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags="-CF -f"
>
>ну ведь сам даже написал параметр для флагов :)
>
>ipnat_enable="YES"
>ipnat_program="/sbin/ipnat"
>ipnat_rules="/etc/ipnat.rules"
>ipnat_flags="-CF -f"Делал по факам...
А разве он не берет флаги из ipnat_program? Просто сейчас нет возможности попробовать...
>>
>>ну ведь сам даже написал параметр для флагов :)
>>
>>ipnat_enable="YES"
>>ipnat_program="/sbin/ipnat"
>>ipnat_rules="/etc/ipnat.rules"
>>ipnat_flags="-CF -f"
>
>Делал по факам...
>А разве он не берет флаги из ipnat_program? Просто сейчас нет возможности
>попробовать...нужно скрипт rc.network смотреть, но если есть параметры ipnat_flags и ipnat_rules, то логично предположить, что они также используются при старте :)
я думаю, что при твоем конфиге получается команда, что-то типа:
/sbin/ipnat -CF -f -f /etc/ipnat.rules
или
/sbin/ipnat -f /etc/ipnat.rules -CF -f
что не есть правильно, т.е. наличие параметра ipnat_rules уже предполагает использование флага -fда, кстати ошибочка и у меня вышла... нужно писать
ipnat_flags="-CF"
Ситуация кароче такая! После загрузки как ты в rc.conf не напиши, нифига не работает...
Причем по команде ipnat -l выдает все правила идеально, NAT нифига не работает.
Прописываю ручками ipnat -CF -f /etc/ipnat.rules, смотрю пинги пошли... NAT заработал, ipnat -l выдает тоже самое + лист активных сессий.На всякий случай приведу вот что:
/etc/ipnat.rules
map ng0 195.65.12.0/24 -> 0/32 proxy port ftp ftp/tcp
map ng0 195.65.12.0/24 -> 0/32 portmap tcp/udp 40000:60000
map ng0 195.65.12.0/24 -> 0/32/etc/rc.conf
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags="-CF"ng0 это PPTP интерфейс который поднимается во время загрузки посредством MPD в инет, аддрес выделяется динамический.
Если всетаки дело в написании...
Вот ещё, вырезка rc.network
case "${ipnat_enable}" in
[Yy][Ee][Ss])
if [ -r "${ipnat_rules}" ]; then
echo -n ' ipnat'
eval ${ipnat_program:-/sbin/ipnat} -CF -f \
"${ipnat_rules}" ${ipnat_flags}
else
ipnat_enable="NO"
echo -n ' NO IPNAT RULES'
fi
;;
esacСудя по всему надо сделать так:
/etc/rc.conf
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipnat_flags=""Сделал, эффект тотже самый... FreeBSD 4.10
Вот ещё, во время загрузки пишет мол
ipnat 0 entries flushed from NAT table
0 entries flushed from NAT list
>ng0 это PPTP интерфейс который поднимается во время загрузки посредством MPD в
>инет, аддрес выделяется динамический.а, ну тогда скорей всего все дело в том, что отработка ipnat идет перед поднятием ng0 интерфейса, сначала отрабатываются /etc/rc* а уж потом все остальное из /usr/local/etc/rc.d (там скрипт mpd?)
попробуй команду запуска ipnat прописать в конце скрипта поднятия интерфейса ng0, а в rc.conf ipnat убрать вообще
>а, ну тогда скорей всего все дело в том, что отработка ipnat
>идет перед поднятием ng0 интерфейса, сначала отрабатываются /etc/rc* а уж потом
>все остальное из /usr/local/etc/rc.d (там скрипт mpd?)
Да
>попробуй команду запуска ipnat прописать в конце скрипта поднятия интерфейса ng0, а
>в rc.conf ipnat убрать вообщеДействительно, всё верно, дело даже думаю в том что внешний IP-шник ipnat берет с интерфейса один тока раз при старте.
Я вот подумал и протестил что при реконнекте и новом айпишнике NAT перестает работать, это получается что мне надо лазить в скриптах MPD-шника и вставлять туда после поднятия интерфейса ipnat -CF -f...Мне интересно natd так-же действует, или он чисто к интерфейсу привязывается?
Сделалось всё очень просто! Так мож кому пригодится...В mpd.conf при поднятии интерФейса прописывается:
set iface up-script /usr/local/etc/mpd/upiface.shСоздается /usr/local/etc/mpd/upiface.sh:
#!/bin/sh
ipnat -CF -f /etc/ipnat.rules
>Мне интересно natd так-же действует, или он чисто к интерфейсу привязывается?в natd есть ключ -dynamic он как раз решает эту проблему