Назад | Перейти на главную страницу

Как настроить DNS при подключении к двум сетям?

У меня Linux-машина с двумя сетевыми интерфейсами. Они оба подключены к локальным сетям - одна 192.168.*.*, другой 10.*.*.*.

В 192.168.*.* сеть является полностью частной и не имеет доступа в Интернет. В 10.*.*.* сеть имеет доступ в Интернет.

В настоящее время я могу выполнить внешний пинг, и имена будут разрешены

ping google.com

Однако, когда я пытаюсь пропинговать имя машины на 192.168.*.* сеть, имя не разрешится

ping computer-name
ping computer-name.domain
ping computer-name.domain.local

Если я укажу IP-адрес, он разрешит

ping 192.168.x.x

Как я могу настроить параметры DNS, чтобы имена машин в частной локальной сети разрешались, но я все еще мог разрешать внешние адреса?

Я использую Centos6.

В подобных ситуациях обычно требуется настроить преобразователь DNS, который будет перенаправлять на различные вышестоящие DNS-серверы в зависимости от пространства имен. Ты можешь сделать это с DNSMasq, Привязать и другие DNS-серверы.

Я смог заставить это работать, изменив свой /etc/resolv.conf файл

domain privatedomain
search privatedomain publicdomain.com
nameserver 192.168.10.15
nameserver 10.10.1.15

В privatedomain местный 192.168.*.* сетевое доменное имя. В publicdomain.com это доменное имя для 10.*.*.* сеть с доступом в Интернет.

Теперь он может правильно разрешать все эти запросы

ping computer.privatedomain
ping computer
ping computer2.publicdomain.com
ping google.com

Единственным недостатком этого является то, что когда я пытаюсь разрешить имя, недоступное из частного домена, возникает заметная задержка. Например:

ping google.com

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