Сначала опишу, что есть и что хочу. Далее скажу что не получается и буду ждать помощи :)
Есть: FreeBSD 4.10
fxp0 xxx.xxx.xxx.9/255.255.255.240 - смотрит в инет
dc0 192.168.0.100/24 - смотрит внутрь
Хочу раздавать инет через эту машину клиентам в сетке 192.168.0.0/24
Для этого ставлю ipnat и ipfilter(компилю ядро,пишу файлы):/etc/ipnat.rules:
map fxp0 192.168.0.0/24 -> xxx.xxx.xxx.9/32 proxy port ftp ftp/tcp
map fxp0 192.168.0.0/24 -> xxx.xxx.xxx.9/32 portmap tcp/udp 20000:20099
map fxp0 192.168.0.0/24 -> xxx.xxx.xxx.9/32/etc/ipf.rules:
pass in log all
pass out log allВсе это включаю в /etc/rc.conf:
defaultrouter="xxx.xxx.xxx.1"
gateway_enable="YES"
ipfilter_enable="YES"
ipfilter_programm="/sbin/ipf"
ipfilter_rules="/etc/ipf.rules"
ipnat_enable="YES"
ipnat_programm="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
ipmon_enable="YES"
ipmon_program="/sbin/ipmon"
ipmon_flags="-D /var/log/ipmon.log &"
firewall_enable="NO"
natd_enable="NO"Далее иду к компу с виндой, указываю ей в качестве шлюза адрес FreeBSD 192.168.0.100/24, ставлю DNS провайдера.
После этого проходит ping любого ip, в том числе и DNS провайдера.Но nslookup не может resolve ip adress DNS, соответственно имена не работают :(Чего делать не знаю...помогите.
поднять named на этом рутере
>поднять named на этом рутереВообще-то все должно работать и без поднятого named.
С роутера работает?
>natd_enable="NO"и не будет работать.
МУЖИКИ! на какой интерфейс НАТ то запучскается? :-) на внешний же надо
>МУЖИКИ! на какой интерфейс НАТ то запучскается? :-) на внешний же надо
>Так он же на внешний и запушен fxp0
>>natd_enable="NO"
>и не будет работать.Nat делается через ipnat, а не через natd
>>С роутера работает?
Все пинги идут, но nslookup не работает.
В /etc/resolf.conf написан (ip DNS провайдера):
nameserver xxx.xxx.xxx.130
покажи как он у тебя вообще запущен?!
>покажи как он у тебя вообще запущен?!смотри содержание файла /etc/ipnat.rules в начале темы
Эх.. не еб.. мозги, давай через natd :-)
>Эх.. не еб.. мозги, давай через natd :-)Там будет то-же самое пробовал :) Здесь где-то в другом месте трабл.
Потому всех и спрашиваю, что сам уже не могу разобраться :(
а диверт есть на нат?
>а диверт есть на нат?
Вас из дас диверт? Это в привилах ipfilter? Там разве что-то надо писать?В ipfw я делал так :
/sbin/ipfw add divert natd ip from 192.168.0.0/24 to any out xmit fxp0
/sbin/ipfw add divert natd ip from any to xxx.xxx.xxx.xxx
/sbin/ipfw add allow all from any to any
демон natd пускал на интерфейс fxp0 соответственно.Киньте еще какие-нибудь еще предложения.
cat /etc/resolv.conf
netstat -r
ping шлюз
ps -ax
>cat /etc/resolv.conf
>netstat -r
>ping шлюз
>ps -ax
а ядре то всё откомпилено что надо?
>cat /etc/resolv.conf
В /etc/resolf.conf написан (ip DNS провайдера):
nameserver xxx.xxx.xxx.130
>netstat -r
netstat -r
default route указывает на шлюз провайдера.
>ping шлюз
со всех машин пинги проходят и на шлюз провайдера и на ip DNS провайдера.
>ps -ax
ps -ax Чего там хочешь увидет?
Я сейчас не имею доступа к компу.Насчет ядра:
там все вкомпилировано.
Подними кеширующий DNS сервер!
Настроек и телодвижений минимум - снимешь нагрузку с сервака, получишь наиболее быстрый ответ на запросы. И надёжность будет выше - вдруг провайдер сменит свой DNS сервер или запретит рекурсивные запросы (а может так и есть?)