
DHCP/DNS 솔루션을 설정하는 데 문제가 있습니다. 특히 클라이언트가 라우터에서 제공하는 DNS 서비스를 사용하도록 하는 데 문제가 있습니다.
DHCP 서버 와 함께 스위치(인터페이스)로 설정한 "EdgeRouter" switch0
와 DHCP 호스트 이름 확인을 제공하는 Dnsmasq 서비스가 있습니다.이 가이드
# show service dhcp-server
disabled false
hostfile-update disable
shared-network-name my-dhcp {
authoritative disable
subnet 192.168.7.0/24 {
default-router 192.168.7.1
dns-server 192.168.7.1
domain-name local
lease 86400
start 192.168.7.100 {
stop 192.168.7.240
}
}
}
static-arp disable
use-dnsmasq enable
Ubuntu 18.04 Linux 노트북(이라고 함 ubuntu
)과 Windows 10 노트북(이라고 함 windows
)이라는 두 개의 클라이언트가 있는데 둘 다 스위치에 연결하고 DHCP를 통해 IP 주소를 얻습니다. 각 클라이언트와 스위치 관리 인터페이스 사이, 그리고 서로 간에 완전한 ping을 수행할 수 있습니다. 또한 각 클라이언트가 수신한 DHCP 레코드를 검사하여 DNS 서버 주소 192.168.7.1이 수신되는지 확인했는데 이는 올바른 것입니다.
스위치에서 다음을 통해 이러한 임대를 확인할 수 있습니다.
$ cat /var/run/dnsmasq-dhcp.leases
1420222142 ec:8e:b5:94:bd:8f 192.168.7.175 ubuntu *
1420219707 c8:d3:ff:6f:42:15 192.168.7.100 windows 01:c8:d3:ff:6f:42:15
On에서는 ubuntu
스위치의 DNS 서버가 올바르게 작동하는지 확인할 수도 있습니다.
$ dig @192.168.7.1 ubuntu
; <<>> DiG 9.11.3-1ubuntu1.13-Ubuntu <<>> @192.168.7.1 ubuntu
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15747
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ubuntu. IN A
;; ANSWER SECTION:
ubuntu. 43200 IN A 192.168.7.175
;; Query time: 0 msec
;; SERVER: 192.168.7.1#53(192.168.7.1)
;; WHEN: Tue Nov 03 12:21:15 NZDT 2020
;; MSG SIZE rcvd: 53
을 사용한 발굴에 대한 유사한 응답입니다 windows
.
라우터에 SSH를 통해 연결할 수 있거나 ping ubuntu
문제 ping windows
없이 연결하면 이름이 확인됩니다.
문제는 Windows에서 ping을 실행할 때 Linux나 Windows 노트북 모두 해결되지 않는 것 같다는 것입니다.
> ping ubuntu
Ping request could not find host ubuntu. Please check the name and try again.
또는 Linux에서:
$ ping windows
ping: windows: Name or service not known
또한 Linux 클라이언트에서:
$ nslookup windows
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find windows: SERVFAIL
내가 이해한 바에 따르면 내 Linux 노트북은 자체 dnsmasq를 실행하고 있으며 /etc/resolv.conf
다음과 같습니다.
nameserver 127.0.0.53
options edns0
search local
DHCP가 얻은 DNS 서버 주소로/에서 전달되는지 확인하기 위해 dnsmasq 상태를 확인하는 방법을 잘 모르겠습니다.
Windows 측에서는 이것을 디버깅하는 방법을 모릅니다.
그리고 이상하게도 이 글을 쓴 직후에 리눅스 쪽이 갑자기 작동하기 시작했습니다.
$ nslookup windows
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: windows.local
Address: 192.168.7.100
나는 아무것도 바꾸지 않았습니다! 어쩌면 10~20분 정도 지나면 뭔가가 저절로 해결될 수도 있습니다. 그러나 Windows 쪽이 작동하지 않습니다.
이를 파악하기 위한 가장 좋은 다음 단계는 무엇입니까?