저는 네트워크 관리자나 resolvconf가 설치되지 않은 Debian jessie를 사용하고 있으며 DHCP를 사용하고 있습니다.
정적 DNS가 포함된 DHCP
먼저 편집을 시도했습니다.
/etc/network/interfaces
그리고 다음을 추가하세요:
dns-nameservers 8.8.8.8
이제 인터페이스 파일은 다음과 같습니다.
allow-hotplug eth0
iface eth0 inet dhcp
dns-nameservers 8.8.8.8
DHCP와 정적 DNS가 모두 있지만 네트워크 서비스를 다시 시작해도 아무 것도 변경되지 않습니다.
DHCP를 사용하는 경우:
ps aux | grep dhcp
dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
수동 편집
/etc/resolv.conf를 수동으로 편집하고 거기에 네임서버 8.8.8.8을 넣으면 Networking.service를 다시 시작한 후 시스템 DNS 서버가 8.8.8.8로 변경되지만 ifup을 수행한 후에는 다음과 같습니다.
sudo ifup eth0
/etc/resolv.conf는 자동으로 192.168.1.1로 다시 변경됩니다.
네트워크 관리자
그런 다음 네트워크 관리자를 사용하기로 결정하고 네트워크 관리자를 설치했으며 기본 연결에서 DNS 서버 IP를 설정하고 다시 연결한 후 작동했지만 시스템을 다시 시작한 후 네트워크 관리자가 기본 DNS 서버(192.168.1.1)에 갇혀 있었습니다. 새 연결)에 자동으로 연결됩니다.
나도 확인했다이 네트워크를 사용할 수 있게 되면 자동으로 연결합니다.연결은 올바르지만 다시 시작하면 네트워크 관리자가 다른 네트워크에 다시 연결됩니다.
10시간 후 재설정
어떻게든 새 연결 구성을 변경하여 이 문제를 해결했는데 이제는 시작할 때마다 새 연결을 생성하지 않고 올바른 연결에 연결할 수 있지만 이제 약 10시간 후에 DNS 서버가 자동으로 192.168.1.1로 변경됩니다. DNS를 8.8.8.8로 되돌리려면 NetworkManager.service를 다시 연결하거나 다시 시작해야 합니다.
따라서 /etc/resolv.cof를 재정의하는 것은 네트워크 관리자가 아닙니다.
정적 구성
이 모든 것에 직면한 후에 나는 정적 구성을 사용하기로 결정했습니다.
먼저 네트워크 관리자를 제거한 다음 정적 구성을 다음에 추가했습니다.
/etc/network/interfaces
이 같은:
iface eth0 inet static
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8
network.service를 다시 시작한 후에는 이러한 설정이 시스템에 적용되지 않으며 인터페이스에 IP가 없으므로 네트워크에 액세스할 수 없습니다.
라우터 DHCP 끄기 이제 라우터에 대해 DHCP를 껐으므로 정적 구성이 제대로 작동하지만 다른 장치에 대해서는 DHCP를 켜야 합니다.
허용하다
/etc/resolv.conf를 편집하고 권한을 변경하여 누구도 편집할 수 없도록 할 수 있습니다.
하지만 나는 이유를 찾고 있어요. 이것이 작동하지 않는 이유, 어떤 프로그램이 /etc/resolv.conf를 무시하는지, DNS 서버를 설정하는 올바른 방법이 무엇인지 알고 싶습니다.
여기서 뭔가 빠졌나요?
답변1
기본적으로 jessie 네트워크는 DHCP를 통해 구성되므로
여러 가지 솔루션이 있습니다
솔 1:
sudo update-rc.d dhcpcd remove
솔 2:
sudo nano /etc/dhcpcd.conf
또는 /etc/dhcp/dhclient.conf
에 다음 명령을 추가하십시오.
nodhcp
그리고 /etc/network/interfaces 파일에서 행을 다음과 같이 변경해야 합니다.
iface lo inet loopback
auto eth0
any config .......
제시의 일반적인 구성
dhcpcd.conf 파일 편집
sudo nano /etc/dhcpcd.conf
파일 끝에 추가하십시오.
interface eth0
static ip_address=192.168.1.56
#gateway
static routers=192.168.1.210
static domain_name_servers=8.8.8.8
답변2
resolvconf
이 프로그램이 설치된 경우 resolv.conf
구성 파일은 시스템의 프로그램에 의해 동적으로 변경되므로 Debian 또는 Ubuntu 기반 시스템에서 수동으로 편집하면 안 됩니다. (정적 인터페이스와 마찬가지로) 네임서버를 수동으로 정의해야 하는 경우 /etc/network/interfaces
파일의 인터페이스 구성 파일에 다음과 같은 줄을 추가하세요.
#Place the line indented within an iface stanza, e.g., right after the gateway line.
dns-nameservers
8.8.8.8
127.0.0.1