Linux에서 DHCP 연결을위한 DNS 서버 찾기 /etc/resolv.conf있습니다.없는 경우

에 정의되어 있다는 것을 알고 /etc/resolv.conf있습니다.없는 경우 어떻게합니까? 보다 구체적으로 DHCP가 반환 한 DNS 서버를 어떻게 찾습니까?

그놈에서는 NetworkManager 애플릿을 사용하여 모든 연결의 기본 DNS를 볼 수 있습니다. 그러면 명령 줄에서 어떻게합니까?



답변

일반적으로 dhclient.leases 파일은에 있으며 /var/lib/dhcp3/dhclient.leases다음 명령을 입력하십시오.

less /var/lib/dhcp3/dhclient.leases

또는

cat /var/lib/dhcp3/dhclient.leases

또는

grep 명령을 사용하여 DHCP 서버 주소를 얻으려면 다음을 입력하십시오.

grep dhcp-server-identifier /var/lib/dhcp3/dhclient.leases

또는

dhclient eth0


답변

최근에 dhcpcdDNS 서버를 설정하지 않아서 잘못 구성 된 이 문제가 발생했습니다 . 다음 명령을 사용하여 DHCP에서 사용할 수있는 네임 서버를 쿼리 할 수 ​​있다는 것을 알았습니다.

sudo dhcpcd -o domain_name_servers -T

이 명령은 많은 네트워크 연결 정보를 출력합니다. 로 시작하는 줄을 찾으십시오 new_domain_name_servers.

여기에서 이름 서버를 수동으로 설정할 수있었습니다.


답변

/var/lib/dhclient/dhclient-eth0.leases다른 사람이 찾을 수없는 경우에 DHCP 임대 정보를 찾았습니다./var/lib/dhcp3/dhclient.leases


답변

글쎄, 왜 단순히 그것을 파지 않습니까?

marcus@marcus ~ $ dig google.de

; <<>> DiG 9.4.3-P3 <<>> google.de
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27579
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 6, ADDITIONAL: 0

;; QUESTION SECTION:
;google.de.         IN  A

;; ANSWER SECTION:
google.de.      1785    IN  A   209.85.229.104
google.de.      1785    IN  A   216.239.59.104
google.de.      1785    IN  A   74.125.77.104

;; AUTHORITY SECTION:
de.         23431   IN  NS  L.DE.NET.
de.         23431   IN  NS  Z.NIC.de.
de.         23431   IN  NS  F.NIC.de.
de.         23431   IN  NS  C.DE.NET.
de.         23431   IN  NS  S.DE.NET.
de.         23431   IN  NS  A.NIC.de.

;; Query time: 1 msec
;; SERVER: 192.168.1.15#53(192.168.1.15)
;; WHEN: Thu Sep 17 19:33:39 2009
;; MSG SIZE  rcvd: 181

마지막 줄을보십시오 : ;; 서버 : 192.168.1.15 # 53 (192.168.1.15)


답변

/etc/resolv.conf에 아무것도 없으면 DNS 확인 (즉, /etc/nsswitch.conf에 정의 된 dns를 사용한 확인)이 작동하지 않습니다. 이것이 dig, host 및 libc 루틴이 DNS 확인을 위해 사용하는 것입니다. 이 파일에 아무것도 지정되어 있지 않으면 DNS 확인이 작동하지 않습니다 (NIS와 같은 다른 호스트 확인 방법이 구성된 경우 다른 방법을 통해 호스트 확인이 작동 할 수 있음).


답변

이 명령은 인터넷상의 DNS 서버를 보여줍니다

발굴 | grep 서버 : | awk -F # ‘{print $ 1}’| awk -F : ‘{print $ 2}’

172.17.0.1


답변

읽어보십시오 /etc/resolv.conf. 그게 다야.

man resolv.conf 유용합니다.