LinuxForum.Fans
Тема

Настройка DNS с двумя сетевыми картами

Автор: greenbalak 13 сообщений 2986 просмотров
#350109

Есть сервер Ubuntu 13.10 с двумя сетевыми картами, которые смотрят в разные между собой не связанные корпоративные сети. В обоих сетях есть локальные домены, DNS серверы которых друг друга не видят. Обе сетевые карты получают адреса IP4 сети по DHCP вместе с DNS-серверами и DNS-именами доменов. cat /etc/resolv.conf дает в принципе правильную картину: все DNS-серверы присутствуют в списке, в списке поиска имена обоих доменов есть. Один из интерфейсов при установке был назначен основным. Ну так вот, тот домен, который на "основном" интерфейсе опрашивается без проблем (ping домен дает нужный результат), а вот имена из домена второго интерфейса не разрешаются (ping домен дает ответ unknown host). Как можно настроить, чтобы разрешения имен обоих доменов шли без ошибок. Сам сервер ни одному из доменов не принадлежит.

#350111

а теперь все тоже в виде содержимого нам напечатайте...
т.е. ifconfig, cat /etc/resolv.conf, ip route list, ...

#350113

пожалуйста:

text
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)

text
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
text
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.36
text
pyr0texn1c@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 закомменчена, так как все равно не помогло.

#350120

Покажите но вывод

text
ping 192.168.10.2
ping  10.37.12.3
ping  10.37.12.4
#350122

результаты пингов плюс до кучи пинги двух доменов:

text
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 ms
text
pyr0texn1c@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 ms
text
pyr0texn1c@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
text
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 ms
text
pyr0texn1c@ITS-GATE:~$ ping excise.ivs
ping: unknown host excise.ivs

Пользуйтесь тегами оформления сообщений.
verg

#350123

А теперь так

text
dig cat.asd

и

text
dig  excise.ivs
#350124
text
pyr0texn1c@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

text
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 и как это изменить?

#350125

Вот и что нужно было доказать. Гдето я тут на форуме когдато видел тему с похожей проблемой, но щас не вспомню. Если что найду отпишусь.

#350126
kisil написал:
Вот и что нужно было доказать. Гдето я тут на форуме когдато видел тему с похожей проблемой, но щас не вспомню. Если что найду отпишусь.

А что доказать-то?

#350127

А то что у вас при разрешении имён используется первый сервер в списке, а другие не используются.

text
nameserver 192.168.10.2
nameserver 10.37.12.3
nameserver 10.37.12.4
search cat.asd excise.ivs
#350128

Так и я об этом. А как заставить использовать все?

#350129

А вы не могли бы настроить интерфейсы данной машины на статические айпишки и тогда resolv.conf подправить к такому виду

text

search cat.asd 
search excise.ivs
nameserver 192.168.10.2
nameserver 10.37.12.3
nameserver 10.37.12.4

Взято отсюда

#356606

Итог действа таков. Совет конечно не помог и дело наверное вот в чем. При запросе на внешний DNS сервер имени из внутреннего домена назад возвращается "доверенный" ответ о том, что такого имени нет, поэтому резолвер дальше по списку серверов и не идет. Я временно поменял порядок чередования DNS-серверов и первым поставил внутренний, который тоже может резолвить любое имя, только через третьи-четвертые "руки". Все заработало.
Видимо в резолвере невозможно привязать конкретную зону к конкретному серверу и вне зависимости от имени зоны он проверяет ее по всему списку серверов по порядку. Вся разница в доверии к ответу: один сервер смотрит непосредственно в нет, и запрашивает резолвинг у серверов с белыми адресами, а второй получает ответы через "пятое" колено.
В любом случае то решение установки сервера было временным и сейчас уже не существует.

Войдите или зарегистрируйтесь, чтобы ответить.