저는 FreeNAS(FreeBSD)를 사용하고 있습니다. 감옥을 만들고 호스트 이름을 감옥에 할당했습니다. IP 주소를 통해 감옥에 액세스할 수 있지만 호스트 이름은 사용할 수 없습니다. (내 홈 네트워크 내에서)
어떻게든 로컬 DNS가 작동하도록 해야 할까요? 그런데 홈 네트워크에는 적절한 DNS가 없나요? 홈 네트워크에서 이름 확인이 어떻게 작동하는지 잘 모르겠습니다.
즉 나는 할 수 있다http://192.168.1.42:8000교도소는 이러한 요청에 응답합니다.
감옥 소개:
root@jailname:/ # hostname
jailname
하지만 네트워크의 다른 컴퓨터에서는 다음과 같습니다.
mckay@mckays-macbook ~ % ping jailname
ping: cannot resolve jailname: Unknown host
C:/> ping jailname
Ping request could not find host jailname. Please check the name and try again
FWIW, Windows 시스템의 호스트 이름으로 NAS와 Mac을 확인할 수 있지만 Mac은 NAS나 Windows 시스템의 호스트 이름을 가져올 수 없습니다. (그러나 IP를 통해 핑할 수는 있습니다).
Android 장치는 NAS에서 이름 확인을 수행할 수 있습니다.
답변1
홈 네트워크에는 라우터와 이를 인터넷에 연결하는 모뎀(또는 터미널 어댑터)이 있습니다. AP(액세스 포인트)가 있을 수도 있고, 라우터에 WiFi를 통해 라우터에 연결할 수 있는 통합 AP가 있을 수도 있습니다. 라우터가 LAN에 제공하는 두 가지 서비스는 DHCP와 DNS 확인입니다. 라우터가 IP 클라이언트에게 DNS 확인자를 찾을 수 있는 위치를 알려줄 때 DHCP 중에 DNS 확인이 제공됩니다.
기본적으로 대부분의 라우터는 DNS 확인을 위해 자체 로컬 IP 주소를 제공합니다. DNS 요청이 도착하면 LAN에서 업스트림 DNS 확인자로 DNS 요청을 프록시합니다. 이러한 업스트림 DNS 확인자는 ISP에 속할 수 있습니다. 또는 조금 더 똑똑하다면 라우터 설정으로 이동하여 더 나은(더 빠르고, 개인 정보 보호가 더 중요하고, 더 안정적인 등) 공개 DNS 확인자 세트를 선택할 수 있습니다.
라우터가 의존하는 DNS 확인자는 홈 LAN 외부에 있으며 일반적으로 라우터 NAT 및/또는 방화벽 뒤에 숨겨져 있는 LAN의 호스트에 대한 지식이 없습니다.
IPv4 호스트가 호스트 이름(NETBIOS, AppleTalk, zeroconf/멀티캐스트 DNS)을 사용하여 LAN에서 서로 통신할 수 있도록 하는 일부 자체 구성 프로토콜이 있지만 각 프로토콜에 대한 지원은 제한됩니다. 라우터는 이러한 프로토콜 중 하나 이상을 지원할 수도 있으므로 LAN의 호스트 이름에 이름으로 액세스할 수 있습니다. 이것이 작동하려면 라우터가 이를 지원해야 하며, 로컬 호스트의 이름을 게시하려면 프로토콜용 클라이언트를 설치해야 합니다.
FreeBSD에서는 멀티캐스트 DNS 구성을 위한 mDNSResponder 및 avahi 포트, IP를 통한 AppleTalk 구성을 위한 netatalk, NETBIOS 구성을 위한 samba 포트를 살펴보십시오. 나는 위의 모든 방법을 수년 동안 사용해 왔으며 각각의 효과는 다양했습니다.
IPv4 및 IPv6를 통한 호스트 이름 확인을 위한 완벽한 "항상 작동" 솔루션을 원하는 경우 다음을 실행하세요.속박되지 않은FreeBSD 호스트에서 이를 LAN의 고정 IP 주소에 바인딩합니다. 관례적으로 저는 라우터 위의 LAN에서 다음으로 높은 IP 주소에서 DNS 서버를 실행합니다. 따라서 라우터가 192.168.1.1이면 DNS는 192.168.1.2에 게시됩니다. 그런 다음 DHCP 할당에 로컬 DNS 서버의 고정 IP 주소를 사용하도록 라우터를 구성합니다.
이제 로컬 DNS 서버가 있으므로 LAN 내에서 안정적인 DNS 확인에 필요한 로컬 A, AAAA 및 PTR 레코드를 사용하여 이를 구성할 수 있습니다. 일단 구성되면 LAN의 모든 호스트는 DNS 이름을 통해 정적 호스트에 액세스할 수 있습니다.