TLD가 지정되지 않은 경우 getent가 기본적으로 .station을 사용하는 이유는 무엇입니까?

TLD가 지정되지 않은 경우 getent가 기본적으로 .station을 사용하는 이유는 무엇입니까?

현재 설정에는 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.

.stationTLD에 대한 정보를 찾을 수 없습니다 .

getent이 기본 동작이 존재하는 이유와 .station그 출처를 아는 사람이 있습니까 ?

/etc/nsswitch.conf hostsManjaro에서의 나의 경로

hosts: files mymachines mdns4_minimal [NOTFOUND=return] resolve dns mdns4 myhostname

민트에

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

답변1

getent hostshosts실행 라인은 nsswitch.conf무엇을 해야 할지 알려줍니다. strace유니캐스트 DNS 쿼리를 192.168.0.100으로 보내고 있음 을 나타냅니다 .

유니캐스트 DNS를 사용할 수 있는 두 가지 호스트 이름 확인 서비스가 있습니다: resolvedns. 이들 중 하나 또는 둘 다 stationDNS 기본 도메인 으로 사용되도록 구성되었습니다(아마도 DHCP 클라이언트에 의해) .

의 경우 를 resolve실행합니다 resolvectl status. 의 경우 를 dns실행합니다 cat /etc/resolv.conf. 그러면 어떤 DNS 확인 서비스 station에 도메인이 구성되어 있는지 알려줍니다 .

(일반 DNS를 사용하지 않도록 구성하지 않는 한 resolve두 가지를 함께 사용하는 것은 벨트 구성과 비슷합니다. 일반적으로 둘 중 하나만 필요합니다.)resolvedns

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.stationFirefox에서 이름 확인이 실패하게 됩니다. 사이트의 DNS에 의해 해결됨)

관련 정보