![TLD가 지정되지 않은 경우 getent가 기본적으로 .station을 사용하는 이유는 무엇입니까?](https://linux55.com/image/190653/TLD%EA%B0%80%20%EC%A7%80%EC%A0%95%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EA%B2%BD%EC%9A%B0%20getent%EA%B0%80%20%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9C%BC%EB%A1%9C%20.station%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
현재 설정에는 dnsmasq
홈 서버(Void Linux)에서 하나의 인스턴스가 실행되고 있으며 이를 기본 DNS로 사용하는 3개의 GNU/Linux 장치(1 Manjaro, 1 Arch, 1 Linux Mint 20.1)가 있습니다.
관련이 없어 보이는 질문에 대해 mdns를 사용하여 이름 확인을 테스트하고 있는데 getent
, 로그를 보고 실행하여 dnsmasq
아직 지정되지 않은 최상위 도메인이 자동으로 추가된다는 strace getent
사실을 발견했습니다.getent
.station
getent hosts home-server
밝혀지다
dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: query[AAAA] home-server.station from 192.168.0.6
dnsmasq[24671]: forwarded home-server.station to 9.9.9.9
dnsmasq[24671]: forwarded home-server.station to 95.216.24.230
dnsmasq[24671]: forwarded home-server.station to 89.233.43.71
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 78.46.244.143
dnsmasq[24671]: forwarded home-server.station to 146.255.56.98
dnsmasq[24671]: forwarded home-server.station to 45.90.57.121
dnsmasq[24671]: forwarded home-server.station to 80.67.169.40
dnsmasq[24671]: forwarded home-server.station to 104.244.78.231
dnsmasq[24671]: reply home-server.station is NXDOMAIN
dnsmasq[24671]: query[AAAA] home-server from 192.168.0.6
dnsmasq 로그 및
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 4
setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.0.100")}, 16) = 0
poll([{fd=4, events=POLLOUT}], 1, 0) = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "\2\17\1\0\0\1\0\0\0\0\0\0\vhome-server\7station"..., 37, MSG_NOSIGNAL, NULL, 0) = 3
getent
로 전화하세요 strace
.
.station
TLD에 대한 정보를 찾을 수 없습니다 .
getent
이 기본 동작이 존재하는 이유와 .station
그 출처를 아는 사람이 있습니까 ?
/etc/nsswitch.conf
hosts
Manjaro에서의 나의 경로
hosts: files mymachines mdns4_minimal [NOTFOUND=return] resolve dns mdns4 myhostname
민트에
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
답변1
getent hosts
hosts
실행 라인은 nsswitch.conf
무엇을 해야 할지 알려줍니다. strace
유니캐스트 DNS 쿼리를 192.168.0.100으로 보내고 있음 을 나타냅니다 .
유니캐스트 DNS를 사용할 수 있는 두 가지 호스트 이름 확인 서비스가 있습니다: resolve
및 dns
. 이들 중 하나 또는 둘 다 station
DNS 기본 도메인 으로 사용되도록 구성되었습니다(아마도 DHCP 클라이언트에 의해) .
의 경우 를 resolve
실행합니다 resolvectl status
. 의 경우 를 dns
실행합니다 cat /etc/resolv.conf
. 그러면 어떤 DNS 확인 서비스 station
에 도메인이 구성되어 있는지 알려줍니다 .
(일반 DNS를 사용하지 않도록 구성하지 않는 한 resolve
두 가지를 함께 사용하는 것은 벨트 구성과 비슷합니다. 일반적으로 둘 중 하나만 필요합니다.)resolve
dns
NetworkManager를 사용하여 네트워크 인터페이스를 구성하고 DHCP를 사용하는 경우 최신 *.lease
파일(또는 이에 상응하는 파일, 이는 NetworkManager가 사용하도록 구성된 DHCP 클라이언트에 따라 다를 수 있음)을 보고 /var/lib/NetworkManager
실제로 IP 주소를 제공한 DHCP 서버를 확인할 수 있습니다. 추가 DHCP 옵션도 함께 제공됩니다.
DHCP 서버에서 제공하는 DHCP 옵션을 보는 또 다른 방법은 실행하여 nmcli c show
구성된 연결을 나열하고 활성 연결의 이름을 찾은 다음 를 사용하는 것입니다 nmcli c show <name of active connection> | grep DHCP..OPTION
.
Vodafone Power Station은 라우터이므로 홈 네트워크의 DHCP 서버 역할도 할 가능성이 높습니다. .station
이는 모든 DHCP 클라이언트에 전파되는 DNS 도메인의 공장 기본 설정일 수도 있습니다. 라우터 설정을 통해 변경할 수 있습니다.
답변2
관련없는 질문으로 인해 결국 확인해보니 클라이언트로 사용하는 모든 배포판에서 생성되었습니다 /etc/resolv.conf
.NetworkManager
search station
@Kusalananda의 제안에 따르면 Vodafone Power Station은 네트워크 관리자가 IP 주소가 있는 파일에 DNS 서버로 옵션을 추가하도록 하는 것으로 보입니다 . 이 줄을 제거하면 http://vodafone.station
Firefox에서 이름 확인이 실패하게 됩니다. 사이트의 DNS에 의해 해결됨)