Bind9 DNS 서버 설정을 완료하려고 합니다.
두 시스템 모두 Debian Stretch를 실행합니다. 서비스 컴퓨터 (192.168.0.113)
는 VM 호스트이고 클라이언트 컴퓨터는 (192.168.0.104)
가상 게스트입니다.
서버가 제대로 실행되는 것 같지만 혼란스러운 결과가 나타납니다. 명령 은 host
예상대로 구문 분석합니다.
$ host wiles.local
wiles.local has address 192.168.0.113
하지만 다른 곳에서는 호스트 이름으로 시스템을 참조할 수 없습니다.
$ ssh wiles.local
ssh: Could not resolve hostname wiles.local: Name or service not known
물론, 명시적으로 IP를 참조하여 시스템에 아무런 문제 없이 SSH로 접속할 수 있습니다.
클라이언트 컴퓨터가 올바른 위치에서 DNS를 찾는 것 같습니다.
$ nslookup google.com
Server: 192.168.0.113
Address: 192.168.0.113#53
Non-authoritative answer:
Name: google.com
Address: 216.58.192.206
여기서 차이점이 무엇인지, 이 문제를 해결하기 위해 무엇을 할 수 있는지 알아내는 데 누군가 도움을 줄 수 있기를 바랍니다.
내가 알고 있는 관련 구성 정보를 제공하겠습니다.
서비스 시스템에서:
/etc/bind/named.conf.local
zone "wiles.local" {
type master;
file "/etc/bind/db.wiles.local";
};
/etc/bind/db.wiles.local
$TTL 86400
@ IN SOA wiles.local. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
IN A 192.168.0.113
@ IN NS localhost.
www IN A 192.168.0.104
연결된 시스템에서:
/etc/네트워크/인터페이스
auto lo enp0s3
iface lo inet loopback
iface enp0s3 inet static
address 192.168.0.104
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.113
마침내:
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.113
마지막 파일에 대한 참고 사항: 시끄러운 경고에 맞서서 해당 줄을 직접 작성해야 했습니다. 그때까지 시스템은 외부 또는 내부 서비스의 호스트 이름을 확인할 수 없습니다. 나는 이것이 설치하고 실행함으로써 해결될 수 있는 별도의 문제라고 생각 resolvconf
하지만, 문제가 관련된 경우를 대비해 언급합니다.
답변1
Johan Myréen이 댓글에서 지적했듯이 예약된 TLD를 사용하여 문제가 발생한 것 같습니다. 저는 mDNS를 사용하지 않기 때문에 에서 으로 전환하면 이름 확인이 제대로 작동합니다 .local
..com