А если так:
Код: Выделить всё
local-zone: "local.name." transparent
local-data: "server.local.name. 300 IN A 10.10.10.10"
Код: Выделить всё
local-zone: "local.name." transparent
local-data: "server.local.name. 300 IN A 10.10.10.10"
Код: Выделить всё
devfs /usr/local/etc/unbound/dev devfs rw 0 0
outgoing-interface: <ip address>
Interface to use to connect to the network. This interface is
used to send queries to authoritative servers and receive their
replies. Can be given multiple times to work on several inter-
faces. If none are given the default (all) is used. You can
specify the same interfaces in interface: and outgoing-inter-
face: lines, the interfaces are then used for both purposes.
Outgoing queries are sent via a random outgoing interface to
counter spoofing.
Код: Выделить всё
local-zone: "xxx.ru." transparent
local-data: "xxx.ru. 86400 IN SOA ns1.host.ru. abc.mail.ru. 2009060101 28800 7200 604800 86400"
local-data: "xxx.ru. 86400 IN NS ns1.host.ru."
local-data: "xxx.ru. 86400 IN NS ns2.host.ru."
local-data: "xxx.ru. 86400 IN A 1.2.3.4"
local-data: "www.xxx.ru. 86400 IN A 1.2.3.4"
Код: Выделить всё
forward-zone:
name: "abc.xxx.ru"
forward-addr: 127.0.0.1@5353
Код: Выделить всё
host x.xxx.ru
Host x.xxx.ru not found: 2(SERVFAIL)
Код: Выделить всё
host x.sex.ru
Host x.sex.ru not found: 3(NXDOMAIN)
Mrakus писал(а):Реально ли это сделать с помощью unbound?
правда тогда разрешение имен в зоне xxx.ru. которых нет в кеше, работать уже не будет...direct - serves the zone data for any subdomain in the zone.
Код: Выделить всё
do-not-query-address: 127.0.0.1/8
do-not-query-address: ::1
do-not-query-localhost: yes
Код: Выделить всё
local-zone: "xxx.ru." transparent
local-data: "xxx.ru. 86400 IN SOA ns1.host.ru. abc.mail.ru. 2009060101 28800 7200 604800 86400"
local-data: "xxx.ru. 86400 IN NS ns1.host.ru."
local-data: "xxx.ru. 86400 IN NS ns2.host.ru."
local-data: "xxx.ru. 86400 IN A 1.2.3.4"
local-data: "www.xxx.ru. 86400 IN A 1.2.3.4"
local-data: "abc.xxx.ru. 86400 IN NS dummy.host.ru."
local-data: "dummy.host.ru. 86400 IN A 127.0.0.2"
Директива do-not-query-localhost влияет?Mrakus писал(а): Вопрос второй.
Т.е. unbound выдает ошибку 2, а не 3. Может я как то неправильно настроил зону xxx.ru?
К сожалению не сработало, ведь мы просто прописали что на имя abc.xxx.ru возвращать IP 127.0.0.2, естественно когда мой ДНС клиент получает пакет с таким IP он его игнорирует и сам unbound никому ничего не пересылает, если я правильно понял.А на локальной машине пропишите для lo0 алиас 127.0.0.2/32 и запускайте второй DNS сервер на нем, но уже на стандартном 53 порте. Я не уверен, но по-идее это должно заработать...
Код: Выделить всё
DEBUG: 17.10.2009 16:20:48 Received 12 bytes from 1.2.3.4:54
DEBUG: 17.10.2009 16:20:48 Packet:[12] 78 3a 80 05 00 00 00 00 00 00 00 00
Код: Выделить всё
do-not-query-localhost: yes
access-control: 0.0.0.0/0 allow
Ну по-идее мы внесли в кеш запись о том, что зона abc.xxx.ru доступна через NS хост dummy.host.ru у которого в свою очередь адрес 127.0.0.2. Но вот почему это не срабатывает...К сожалению не сработало, ведь мы просто прописали что на имя abc.xxx.ru возвращать IP 127.0.0.2, естественно когда мой ДНС клиент получает пакет с таким IP он его игнорирует и сам unbound никому ничего не пересылает, если я правильно понял.
Мне надо на уровне сервера тупо пересылать пакеты на указанный IP и порт А как это сделать...
Думаю не срабатывает, по тому что в интернете нет IP - 127.0.0.2, он есть только на локальных машинахterminus писал(а):Ну по-идее мы внесли в кеш запись о том, что зона abc.xxx.ru доступна через NS хост dummy.host.ru у которого в свою очередь адрес 127.0.0.2. Но вот почему это не срабатывает...![]()
"Второй" сервер, помимо unbound - это мой самописный сервер, но он написан полностью в соответствии с RFC:Mrakus писал(а):к стати что за второй сервер вы используете - BIND, NSD
Код: Выделить всё
* http://www.ietf.org/rfc/rfc1035.txt
* http://www.ietf.org/rfc/rfc2782.txt
* http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt
* http://files.multicastdns.org/draft-cheshire-dnsext-multicastdns.txt
В общем вы верно описали задачу:Mrakus писал(а):У вас какая конкретно стоит задача?
Создал еще одну сеть допустим eth0:0 с IP 10.0.0.1 и посодил его туда. После этого вся схема заработала!terminus писал(а):127.0.0.2
Код: Выделить всё
#local-zone: "mail.ru." transparent
#local-data: "www.mail.ru. 300 IN A 10.10.10.10"
Код: Выделить всё
$TTL 1h
@ IN SOA ns.network.lan. root.network.lan. (
2010041606 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ 1D IN NS ns.network.lan.
ns 1D IN A 10.10.2.2
vpn 1D IN A 10.10.0.1
vpn 1D IN A 10.10.0.2
vpn 1D IN A 10.10.0.3
vpn 1D IN A 10.10.0.4
vpn 1D IN A 10.10.0.5
vpn 1D IN A 10.10.0.6
Код: Выделить всё
prefetch:yes