Есть сервер Ubuntu 13.10 с двумя сетевыми картами, которые смотрят в разные между собой не связанные корпоративные сети. В обоих сетях есть локальные домены, DNS серверы которых друг друга не видят. Обе сетевые карты получают адреса IP4 сети по DHCP вместе с DNS-серверами и DNS-именами доменов. cat /etc/resolv.conf дает в принципе правильную картину: все DNS-серверы присутствуют в списке, в списке поиска имена обоих доменов есть. Один из интерфейсов при установке был назначен основным. Ну так вот, тот домен, который на "основном" интерфейсе опрашивается без проблем (ping домен дает нужный результат), а вот имена из домена второго интерфейса не разрешаются (ping домен дает ответ unknown host). Как можно настроить, чтобы разрешения имен обоих доменов шли без ошибок. Сам сервер ни одному из доменов не принадлежит.
Настройка DNS с двумя сетевыми картами
а теперь все тоже в виде содержимого нам напечатайте...
т.е. ifconfig, cat /etc/resolv.conf, ip route list, ...
пожалуйста:
pyr0texn1c@ITS-GATE:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:d0:b7:8e:11:60
inet addr:192.168.10.36 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::2d0:b7ff:fe8e:1160/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6982 errors:0 dropped:0 overruns:0 frame:0
TX packets:2003 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5868608 (5.8 MB) TX bytes:149056 (149.0 KB)
eth1 Link encap:Ethernet HWaddr 00:01:6c:31:a4:02
inet addr:10.37.15.187 Bcast:10.37.15.255 Mask:255.255.252.0
inet6 addr: fe80::201:6cff:fe31:a402/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3946 errors:0 dropped:0 overruns:0 frame:0
TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:371034 (371.0 KB) TX bytes:5426 (5.4 KB)
Interrupt:20
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
pyr0texn1c@ITS-GATE:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.10.2
nameserver 10.37.12.3
nameserver 10.37.12.4
search cat.asd excise.ivs
pyr0texn1c@ITS-GATE:~$ ip route list
default via 192.168.10.254 dev eth0
10.37.12.0/22 dev eth1 proto kernel scope link src 10.37.15.187
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.36pyr0texn1c@ITS-GATE:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet dhcp
# dns-search excise.ivs eais.customs.ru
В interfaces строчка dns-search закомменчена, так как все равно не помогло.
Покажите но вывод
ping 192.168.10.2
ping 10.37.12.3
ping 10.37.12.4
результаты пингов плюс до кучи пинги двух доменов:
pyr0texn1c@ITS-GATE:~$ ping 192.168.10.2
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
64 bytes from 192.168.10.2: icmp_seq=1 ttl=128 time=1.60 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=128 time=1.36 ms
64 bytes from 192.168.10.2: icmp_seq=3 ttl=128 time=0.249 ms
64 bytes from 192.168.10.2: icmp_seq=4 ttl=128 time=1.35 ms
64 bytes from 192.168.10.2: icmp_seq=5 ttl=128 time=0.281 mspyr0texn1c@ITS-GATE:~$ ping 10.37.12.3
PING 10.37.12.3 (10.37.12.3) 56(84) bytes of data.
64 bytes from 10.37.12.3: icmp_seq=1 ttl=128 time=0.479 ms
64 bytes from 10.37.12.3: icmp_seq=2 ttl=128 time=0.197 ms
64 bytes from 10.37.12.3: icmp_seq=3 ttl=128 time=0.192 mspyr0texn1c@ITS-GATE:~$ ping 10.37.12.4
PING 10.37.12.4 (10.37.12.4) 56(84) bytes of data.
64 bytes from 10.37.12.4: icmp_seq=1 ttl=128 time=0.384 ms
64 bytes from 10.37.12.4: icmp_seq=2 ttl=128 time=0.225 ms
64 bytes from 10.37.12.4: icmp_seq=3 ttl=128 time=0.235 ms
pyr0texn1c@ITS-GATE:~$ ping cat.asd
PING cat.asd (192.168.10.2) 56(84) bytes of data.
64 bytes from 192.168.10.2: icmp_seq=1 ttl=128 time=0.194 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=128 time=0.295 mspyr0texn1c@ITS-GATE:~$ ping excise.ivs
ping: unknown host excise.ivsПользуйтесь тегами оформления сообщений.
verg
А теперь так
dig cat.asdи
dig excise.ivspyr0texn1c@ITS-GATE:~$ dig cat.asd
; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1 <<>> cat.asd
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60201
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;cat.asd. IN A
;; ANSWER SECTION:
cat.asd. 600 IN A 192.168.10.2
;; Query time: 2 msec
;; SERVER: 192.168.10.2#53(192.168.10.2)
;; WHEN: Tue Nov 19 14:11:48 MSK 2013
;; MSG SIZE rcvd: 52
pyr0texn1c@ITS-GATE:~$ dig excise.ivs
; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1 <<>> excise.ivs
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 3574
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;excise.ivs. IN A
;; AUTHORITY SECTION:
. 900 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2013111801 1800 900 604800 86400
;; Query time: 6 msec
;; SERVER: 192.168.10.2#53(192.168.10.2)
;; WHEN: Tue Nov 19 14:11:57 MSK 2013
;; MSG SIZE rcvd: 114
Насколько я сам понял, все так должно и быть поскольку сервер 192.168.10.2 не знает о существовании серверов 10.37.12.3 и 10.37.12.4 и никто не знает - домен локальный. Другой вопрос, почему за разрешением записи excise.ivs клиент обращается на 192.168.10.2 и не обращается на 10.37.12.3 и как это изменить?
Вот и что нужно было доказать. Гдето я тут на форуме когдато видел тему с похожей проблемой, но щас не вспомню. Если что найду отпишусь.
Вот и что нужно было доказать. Гдето я тут на форуме когдато видел тему с похожей проблемой, но щас не вспомню. Если что найду отпишусь.
А что доказать-то?
А то что у вас при разрешении имён используется первый сервер в списке, а другие не используются.
nameserver 192.168.10.2
nameserver 10.37.12.3
nameserver 10.37.12.4
search cat.asd excise.ivsТак и я об этом. А как заставить использовать все?
Итог действа таков. Совет конечно не помог и дело наверное вот в чем. При запросе на внешний DNS сервер имени из внутреннего домена назад возвращается "доверенный" ответ о том, что такого имени нет, поэтому резолвер дальше по списку серверов и не идет. Я временно поменял порядок чередования DNS-серверов и первым поставил внутренний, который тоже может резолвить любое имя, только через третьи-четвертые "руки". Все заработало.
Видимо в резолвере невозможно привязать конкретную зону к конкретному серверу и вне зависимости от имени зоны он проверяет ее по всему списку серверов по порядку. Вся разница в доверии к ответу: один сервер смотрит непосредственно в нет, и запрашивает резолвинг у серверов с белыми адресами, а второй получает ответы через "пятое" колено.
В любом случае то решение установки сервера было временным и сейчас уже не существует.