나는 DHCP 서버로부터 IP를 얻는 데비안 시스템을 가지고 있고 그 시스템에서 실행되는 자체 바인드9 서버를 갖고 있습니다 localhost
. 시스템이 DHCP 할당 DNS 서버와 일치하도록 파일을 업데이트하기 nameserver 127.0.0.1
때문에 부팅할 때마다 작성해야 합니다 . 내 네트워크의 DHCP 서버에서 업데이트된 DNS 서버 정보를 가져오는 것을 /etc/resolv.conf
방지하기 위해 resolv.conf
다음을 작성해 보았습니다 /etc/network/interfaces
.
iface eth0 inet dhcp
dns-nameservers 127.0.0.1
그러나 이는 시스템에 고정 IP가 있는 경우에만 작동합니다.
/etc/resolv.conf
내 시스템에 고정 IP를 제공하지 않고 DHCP 서버가 할당한 DNS 서버에 의해 재정의되는 것을 방지하려면 어떻게 해야 합니까 ?
저는 dhclient를 사용합니다.
답변1
을 사용하고 있다고 확신하는 경우 다음을 dhclient
수행할 수 있습니다.
1. dhclient
설정 변경(권장)
파일을 편집하고 다음 줄을 /etc/dhcp/dhclient.conf
검색하여 삭제합니다 .domain-name-servers,
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
2. /etc/resolv.conf
덮어쓰기 방지
파일을 다시 덮어쓰지 않도록 다음 명령을 root
또는 를 사용하여 실행하십시오.sudo
chattr +i /etc/resolv.conf
이것은 다소 중복된 질문입니다.데비안에서 정적 DNS를 설정할 수 없습니다. 하지만 댓글을 달 수 없어서 이 답변을 추가했습니다.
답변2
다음을 추가할 수 있습니다.
supersede domain-name-servers 127.0.0.1;
/etc/dhcp/dhclient.conf에
답변3
패키지를 제거 resolvconf
하면 자신의 패키지를 /etc/resolv.conf
덮어쓰지 않습니다.
답변4
네트워크 파일 /etc/network/interfaces.conf를 편집하고 PEERDNS="no"를 추가합니다. 이것은 Fedora에서 작동합니다. 바라건대 이것이 데비안에서 작동할 것입니다. chattr을 사용할 수도 있습니다. 누구도 파일을 수정할 수 없도록 합니다.