Страница 1 из 1
Не работает NATD.
Добавлено: 2010-04-19 8:30:58
denmin
Здравствуйте.
На FreeBSD 8.0 пытаюсь запустить nat. У машины 2 сетевых интерфейса: один смотрит в инет rl0-10.12.4.200, другой- rl1-192.168.1.3, воткнут в ADSL модем-192.168.1.1 настроенный PPPoE с автоконнектом. На самой машине пинг в инет идет и по имени и по ip. Надо пока добиться, чтобы с рабочих мест, используя FreeBSD+NAT, выходить в инет. Решил начать потихоньку, сначала nat, а потом уж firewall. Сделал следующее:
1) добавил строчку
в GENERIC
Код: Выделить всё
#cpu I586_CPU
cpu I686_CPU
ident GENERIC
# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
# Use the following to compile in values accessible to the kernel
# through getenv() (or kenv(1) in userland). The format of the file
# is 'variable=value', see kenv(1)
#
# env "GENERIC.env"
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
options IPDIVERT # Enable NATD / Den
options SCHED_ULE # ULE scheduler
запустил
Код: Выделить всё
/usr/src/>make buildkernel KERNCONF=GENERIC && \
make installkernel KERNCONF=GENERIC
вроде все прошло нормально.
2) В rc.conf присутствовали да и добавил такие строки :
Код: Выделить всё
ifconfig_rl1="inet 192.168.1.3 netmask 255.255.255.0" - интерфейс смотрящий в инет.
defaultrouter="192.168.1.1" - модем
hostname="bsd.domain.ru"
router_enable="NO"
gateway_enable="NO"
inetd_enable="YES"
natd_enable="YES"
natd_interface="rl1"
natd_flags="-m -u"
gateway_enable="YES"
После этих действий, машину перезагрузил, на клиентской машине произвел настройки сетевой карты, но:
- FreeBSD с рабочей станции видно
- FreeBSD инет видит
- инета с рабочей станции не видно.
Прошу помощи. Буду очень рад статьям на эту тему, а ответам еще больше.
Заранее благодарен.
Re: Не работает NATD.
Добавлено: 2010-04-19 9:37:18
terminus
natd работает в связке с ipfw. вам надо настроить правила фильтрации чтобы использовать нат.
Re: Не работает NATD.
Добавлено: 2010-04-19 10:04:23
BirdGovorun
Надо еще в
/etc/resolv.conf и
/etc/natd.conf чё-то писать

Re: Не работает NATD.
Добавлено: 2010-04-19 10:18:01
GREY
Re: Не работает NATD.
Добавлено: 2010-04-19 11:22:47
Гость
как я понимаю, natd без ipfw не работает?
или по словам BirdGovorun у меня что-то не прописано просто?
Re: Не работает NATD.
Добавлено: 2010-04-19 11:59:49
Evil
да, без ipfw нат работать не будет, так как трафик нужно заворачивать на нат
Re: Не работает NATD.
Добавлено: 2010-04-19 14:44:23
BirdGovorun
Гость писал(а):как я понимаю, natd без ipfw не работает?
или по словам BirdGovorun у меня что-то не прописано просто?
И вдобавок к IPFW не прописано:
в
/etc/resolv.conf -> DNS
в
/etc/natd.conf
Код: Выделить всё
use_sockets yes
same_ports yes
unregistered_only yes
Re: Не работает NATD.
Добавлено: 2010-04-19 16:11:36
Гость
спасибо. попробую.
Re: Не работает NATD.
Добавлено: 2010-04-21 10:08:09
denmin
скомпилировал ядро с NATD+IPFIREWALL. теперь с рабочей станции под Win XP, где шлюзом прописан ip FreeBSD пинг по ip в инет идет.
с машины с FreeBSD пинг идет и по имени и по ip.
запускаю кэширующий BIND на FreeBSD.
внес строки
rc.conf
расскоментировал и добавил ip своего провайдера
/etc/namedb/named.conf
Код: Выделить всё
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
forwarders {isp_ip1; isp_ip2;};
// If the 'forwarders' clause is not empty the default is to 'forward first'
// which will fall back to sending a query from your local server if the name
// servers in 'forwarders' do not have the answer. Alternatively you can
// force your name server to never initiate queries of its own by enabling the
// following line:
forward only;
ipfw show показывает
Код: Выделить всё
00050 7 589 divert 8668 ip4 from any to any via rl1
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 719 113489 allow ip from any to any
65535 0 0 deny ip from any to any
вырезки из rc.firewall
Код: Выделить всё
[Cc][Ll][Ii][Ee][Nn][Tt])
############
# This is a prototype setup that will protect your system somewhat
# against people from outside your own network.
#
# Configuration:
# firewall_client_net: Network address of local network.
############
# set this to your local network
net="$firewall_client_net"
# Allow DNS queries out in the world
${fwcmd} add pass udp from me to any 53 keep-state
${fwcmd} add pass udp from any to me 53 keep-state [b]# новое добавил[/b]
# Everything else is denied by default, unless the
# IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
# config file.
;;
[Ss][Ii][Mm][Pp][Ll][Ee])
############
# This is a prototype setup for a simple firewall. Configure this
# machine as a DNS and NTP server, and point all the machines
# on the inside at this machine for those services.
#
# Configuration:
# firewall_simple_iif: Inside network interface.
# firewall_simple_inet: Inside network address.
# firewall_simple_oif: Outside network interface.
# firewall_simple_onet: Outside network address.
############
# set these to your outside interface network
oif="$firewall_simple_oif"
onet="$firewall_simple_onet"
# set these to your inside interface network
iif="$firewall_simple_iif"
inet="$firewall_simple_inet"
# Allow access to our DNS
${fwcmd} add pass tcp from any to me 53 setup
${fwcmd} add pass udp from any to me 53
${fwcmd} add pass udp from me 53 to any
${fwcmd} add pass udp from any 53 to me [b]# новое добавил[/b]
${fwcmd} add pass udp from any to any 53[b] # новое добави[/b]л
${fwcmd} add pass udp from any 53 to any [b]# новое добавил[/b]
# Allow DNS queries out in the world
${fwcmd} add pass udp from me to any 53 keep-state
${fwcmd} add pass udp from any to me 53 keep-state [b]# новое добавил[/b]
# Everything else is denied by default, unless the
# IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
# config file.
;;
на рабочей станции прописал шлюз и dns - ip FreeBSD, но с рабочей станции пинг по имени не идет, а хочется. если в IE раб станции набрать в адресной строке ip сайта, то ie имя определяет, а страничку не грузит. ну это не главное, а главное, чтобы BIND r'iibhe.obq заработал. помогите пожалуйста.
Re: Не работает NATD.
Добавлено: 2010-04-21 12:15:06
denmin
описался
*а главное, чтобы BIND кэширующий заработал.
Re: Не работает NATD.
Добавлено: 2010-04-21 15:21:19
BirdGovorun
Встроенные FreeBSD dns демон называется 'named' и является частью
порта 'bind' (/usr/ports/bind8). Директория '/etc/namedb' - это место,
где named ищет конфигурационные файлы / файлы зон.
А, запустил-ли ты
named?
Re: Не работает NATD.
Добавлено: 2010-04-21 15:28:11
kross
Не хотел создавать новую тему, пиши тут. Вопрос похож
У меня та же проблема. Локалка + Сервак(Шлюз) FreeBSD 7.1.-перечитал уже кучю статей про настройки NAT и IPFW. В ядре все настроено и скомпилировано. IPFW настроен. Nat включен, настроен на интерфейс. А инета на компьютерах локальной сети как не было так инет. На компьютерах в лок сети шлюзом стоит айпишник сервака с FreeBSD и NAT. При попытке пингануть инет выдает вот это:
Код: Выделить всё
C:\Documents and Settings\Admin>ping -t ya.ru
Обмен пакетами с ya.ru [213.180.204.8] по 32 байт:
Превышен интервал ожидания для запроса.
Как бы айпишник ресурса комп видит, а ответов не получает. Фиревол ставил и OPEN, и писал allow any to any- не работает.
КАК НАСТРОИТЬ ЭТОТ NAT???????
Щас открываю любую статью про настройку такой конфигурации - и ничего нового в ней не нахожу, потому что у меня уже все настроено, как в статье, а не работает!!!!!!!!!
сори..наболело уже..
Re: Не работает NATD.
Добавлено: 2010-04-21 15:52:28
denmin
-> BirdGovorun
запуск прописал в rc.conf. на /etc/rc.d/named forcestart получаю
в named.conf тоже прописал
Код: Выделить всё
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
forwarders {isp_ip1; isp_ip2;};
// If the 'forwarders' clause is not empty the default is to 'forward first'
// which will fall back to sending a query from your local server if the name
// servers in 'forwarders' do not have the answer. Alternatively you can
// force your name server to never initiate queries of its own by enabling the
// following line:
forward only;
-> kross
делал все как описано в этом топике+скомпилил ядро с опциями как посоветовал Grey в
http://www.lissyara.su/doc/docs/handbook_-_ipfw/ и все заработало само. тока вот BIND остался.
Re: Не работает NATD.
Добавлено: 2010-04-21 22:15:09
Evil
netstat -an | grep LISTEN
Re: Не работает NATD.
Добавлено: 2010-04-22 7:12:32
denmin
Evil писал(а):netstat -an | grep LISTEN
вот что выдает
Код: Выделить всё
tcp6 0 0 ::1.953 *.* LISTEN
tcp4 0 0 127.0.0.1.953 *.* LISTEN
tcp4 0 0 127.0.0.1.53 *.* LISTEN
tcp4 0 0 *.23 *.* LISTEN
tcp4 0 0 *.21 *.* LISTEN
tcp4 0 0 127.0.0.1.25 *.* LISTEN
tcp4 0 0 *.22 *.* LISTEN
tcp6 0 0 *.22 *.* LISTEN
замечу, что по ip пинг идет.
Re: Не работает NATD.
Добавлено: 2010-04-22 7:32:00
denmin
/etc/rc.d/named status дает следующее
Re: Не работает NATD.
Добавлено: 2010-04-22 9:40:37
Evil
sockstat | grep named | grep udp
Re: Не работает NATD.
Добавлено: 2010-04-22 10:09:17
denmin
заработало. надо было в named.conf закомментировать строку
Код: Выделить всё
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; };
теперь постараюсь внимательно читать конфиги. думаю на этом тему можно закрыть.