Могу ли я настроить resolv.conf для использования определенного сервера имен для домена?
например.:
nameserver internal.thekelleys.org.uk 192.168.1.1
nameserver 192.168.0.1
Я не хочу указывать * .test.com в / etc / hosts; Я не хочу устанавливать DNS-сервер локально (dnsmasq -S /internal.thekelleys.org.uk/192.168.1.1
); и я не хочу internal.thekelleys.org.uk
DNS-сервер для обслуживания других доменов.
Это действительно распространенный вариант использования, когда у вас более одного сетевого подключения, например подключение к Интернету (для общего трафика) и подключение к VPN (только для трафика в компанию или удаленный сайт).
Это действительный пример для вопроса OP. Я не знаю ни одной операционной системы (кроме OSX, как я узнал выше), которая могла бы справиться с этой проблемой на складе. При наличии Linux одним из решений может быть использование dnsmasq с resolvconf. Resolvconf отслеживает все различные домены и namserver и генерирует cfg для dnsmasq. Dnsmasq включает этот файл cfg. Затем локальная система использует dnsmasq в качестве сервера имен.
В более статическом сценарии можно было бы сэкономить resolvconf и использовать только dnsmasq.
И да, это некро-нить, но, следовательно, за последние 3 года нет никакого прогресса, я воскресил ее, чтобы снова сосредоточить внимание на этой довольно старой, но все еще нерешенной проблеме.
Вы не можете. Резольвер не устроен таким образом. Вам нужно будет написать свой собственный преобразователь и либо предварительно загрузить его в свои приложения, либо использовать NSS, чтобы сначала проверить его.