Принудительное разрешение на серверах OpenDNS
Я пытаюсь настроить Debian как маршрутизатор / шлюз в моей сети, при этом eth0 подключается к модему моего провайдера, а eth1 - к локальной сети.
eth0 нуждается в DHCP, чтобы он получал правильный IP-адрес от моего модема ISP, но при использовании DHCP я также получаю DNS-серверы моего ISP, добавленные в файл /etc/resolv.conf. Я хотел бы переопределить предоставленные провайдером DHCP-серверы с серверами OpenDNS, но я не добился большого успеха. В документации, которую я нашел для работы с сетями Debian, предлагается установить параметр dns-nameservers следующим образом:
/ и т.д. / сеть / интерфейсы
iface eth0 inet dhcp
dns-nameservers 208.67.222.222 208.67.220.220
Но /etc/resolv.conf продолжает заполняться серверами имен ISP. Если я редактирую /etc/resolv.conf и устанавливаю в этом файле серверы openDNS, то он периодически стирается, предположительно, при обновлении аренды DHCP.
Как мне заставить сервера имен OpenDNS залипать?
1 ответ
Вероятно, самый правильный способ сделать то, что вы хотите, это взломать ваш dhclient.conf
и включить соответствующие supersede
вариант, который покажет dhclient
- программа фактически делает запрос DHCP и выполняет запрошенные операции, игнорирует то, что получает от сервера, и вместо этого использует то, что находится в файле конфигурации. Что-то вроде:
interface "eth0" {
supersede domain-name-servers 208.67.222.222, 208.67.220.220;
}
Я бы тогда сделал комментарий в вашем /etc/network/interfaces
что вы сделали это на тот случай, если вы измените его в будущем и ищете, почему он не изменится с OpenDNS.
То, как я это сделал, использовало тот факт, что dhclient
выполняет сценарии ловушек, и вы можете переопределить функцию, выполняющую назначение IP-адреса, и сказать ей просто вернуться. Но вышесказанное проще и правильнее.