>>Смотри в сторону view (bind).
>
>Полностью согласен.
>Проблема решается посредством view в BIND 9.2.1
Можно пример , а то чегойто я не понял
скажем у меня есть мастер зона для
named.conf
options {
directory "/var/named";
allow-transfer{
any;
};
allow-query{
any;
};
listen-on port 53{
any;
};
transfer-format many-answers;
cleaning-interval 60;
interface-interval 60;
statistics-interval 60;
deallocate-on-exit no;
};
controls{
inet 127.0.0.1 allow{
any;
} keys{
"key";
};
};
// generated by named-bootconf.pl
// secret must be the same as in /etc/rndc.conf
key "key"{
algorithm hmac-md5;
secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";
};
view "root" {
match-clients { any; };
zone "." {
type hint;
file "named.ca";
};
};
view "internal.peterstar.test.spb.ru" {
// in my internal networks.
match-clients { 192.168.0.0/16;127/8; };
zone "test.spb.ru" {
type master;
file "internal.peterstar.test.spb.ru";
notify yes;
};
};
view "external.peterstar.test.spb.ru" {
// in my external networks.
match-clients { any; };
zone "test.spb.ru" {
type master;
file "peterstar.test.spb.ru";
notify yes;
allow-transfer{
any;
};
allow-query{
any;
};
};
};
view "external2" {
// in my external networks.
match-clients { any; };
zone "locals.test.spb.ru" {
type master;
file "locals.test.spb.ru";
notify yes;
allow-transfer{
192.168.0.0/16;
};
allow-query{
192.168.0.0/16;
};
allow-update{
192.168.0.0/16;
};
};
};
view "external3" {
// in my external networks.
match-clients { any; };
zone "0.0.127.IN-ADDR.ARPA" IN {
type master;
file "127.0.0";
};
};
view "external4" {
// in my external networks.
match-clients { any; };
zone "83.195.217.IN-ADDR.ARPA" IN {
type master;
file "217.195.83";
notify yes;
allow-transfer{
any;
};
allow-query{
any;
};
};
};
view "external14" {
// in my external networks.
match-clients { any; };
zone "83.195.217.internal.IN-ADDR.ARPA" IN {
type master;
file "internal.217.195.83";
notify yes;
allow-transfer{
any;
};
allow-query{
any;
};
};
};
view "external14" {
match-clients { 192.168.0.0/16; };
zone "83.195.217.IN-ADDR.ARPA" IN {
type master;
file "internal.217.195.83";
notify yes;
allow-transfer{
any;
};
allow-query{
any;
};
};
};
view "external5" {
// in my external networks.
match-clients { any; };
zone "168.192.IN-ADDR.ARPA" IN {
type master;
file "192.168";
notify yes;
allow-transfer{
192.168.0.0/16;
};
allow-query{
192.168.0.0/16;
};
allow-update{
192.168.0.0/16;
};
};
};
Файл external.peterstar.test.spb.ru выглядит так
$TTL 43200
@ IN SOA ns1.test.spb.ru. 111.hotmail.com. (
2002070501 ; serial
1H ; refresh
15 ; retry
7D ; expire
12H ; default_ttl
)
ns1 IN A 217.195.83.11
freebsd.locals IN A 192.168.1.1
qnx IN CNAME ns1.test.spb.ru.
ftp IN CNAME ns1.test.spb.ru.
freebsd IN CNAME ns1.test.spb.ru.
post IN CNAME ns1.test.spb.ru.
mail IN A 217.195.83.22
nord IN CNAME mail.test.spb.ru.
lotus0 IN CNAME mail.test.spb.ru.
sauto IN A 217.195.83.33
itest IN A 217.195.83.44
i-test IN CNAME ibank.test.spb.ru.
www.itest IN CNAME ibank.test.spb.ru.
www.i-test IN CNAME ibank.test.spb.ru.
www IN CNAME ibank.test.spb.ru.
@ IN A 217.195.83.44
@ IN NS ns1.test.spb.ru.
@ IN NS ns.peterstar.ru.
@ IN NS ns2.peterstar.ru.
@ IN MX 5 mail.test.spb.ru.
@ IN MX 10 relay.peterstar.ru.
@ IN MX 15 relay2.peterstar.ru.
@ IN MX 20 ns1.test.spb.ru.
Файл internal.peterstar.test.spb.ru выглядит так
$TTL 43200
@ IN SOA ns1.test.spb.ru. 111.hotmail.com. (
2002080601 ; serial
1H ; refresh
15 ; retry
7D ; expire
12H ; default_ttl
)
ns1 IN A 217.195.83.11
freebsd.locals IN A 192.168.1.1
qnx IN CNAME ns1.test.spb.ru.
ftp IN CNAME ns1.test.spb.ru.
freebsd IN CNAME ns1.test.spb.ru.
post IN CNAME ns1.test.spb.ru.
mail IN A 192.168.1.170
nord IN CNAME mail.test.spb.ru.
lotus0 IN CNAME mail.test.spb.ru.
sauto IN A 217.195.83.22
itest IN A 192.168.1.4
i-test IN CNAME itest.test.spb.ru.
www.itest IN CNAME itest.test.spb.ru.
www.i-test IN CNAME itest.test.spb.ru.
www IN CNAME itest.test.spb.ru.
@ IN NS ns1.test.spb.ru.
@ IN NS ns.peterstar.ru.
@ IN NS ns2.peterstar.ru.
@ IN MX 5 mail.test.spb.ru.
@ IN MX 10 relay.peterstar.ru.
@ IN MX 15 relay2.peterstar.ru.
@ IN MX 20 ns1.test.spb.ru.
Я так понял мы external.peterstar.test.spb.ru подставляем для внешних клиентов (у них резольв проходит без проблем), internal.peterstar.test.spb.ru подставляем локальным пользователям
(так вот всеравно видится глобальный адрес 217.195.83.44 а должен 192.168.1.4)
Если набираю из локальной сети itest.test.spb.ru получаю 217.195.83.44 а хотелось бы 192.168.1.4
В чем я не прав ?