한 컴퓨터에 Windows를 설치하고 LAN에 연결하면 다른 컴퓨터에서 즉시 이름으로 ping을 보낼 수 있습니다.
Mac에 MacOS를 설치하고 LAN에 연결하면 다른 컴퓨터에서 즉시 이름으로 ping을 보낼 수 있습니다.
컴퓨터에 Linux를 설치하고 LAN에 연결하면...Linux의 특정 특성, 현재 달의 위상, 설치 의식에서 염소를 희생할지 여부에 따라 달라집니다. 나는 밤의 전반부에 원을 그리며 돌아다녔다...나는가능한이름으로 핑을 보낼 수도 있고 그렇지 않을 수도 있습니다.
인터넷은가득한 ~의 법정 우편 묻다 이것 정밀한 질문. 인터넷에는 "라우터 설정으로 가서 DNS 항목을 추가하세요" 또는 "각 컴퓨터의 호스트 파일을 편집하고 새 컴퓨터에 대한 줄을 추가하세요"와 같은 답변이 가득합니다.
아니요. 자동으로 설정되는 메커니즘이 있는 것 같은데, 활용해보고 싶습니다.
그래서 내 질문은 다음과 같습니다Windows 및 Mac에서 자연스럽게 발생하는 것과 같이 내 컴퓨터의 호스트 이름을 내 라우터에 자동으로 등록하는 Linux(Debian, Alpine 또는 기타 실행하도록 선택한 패키지)에 어떤 패키지를 설치하거나 구성할 수 있습니까? 사용자 개입 없이 동일한 상황이 발생합니까? 가능해야합니다.
일부 답변이 제안되었지만 avahi-daemon
설치하고 구성했지만 여전히 작동하지 않습니다. 내 경험에 따르면 samba
그렇게 할 수 있지만 보안 허점을 열고 싶지는 않습니다. 나는 설치하는 동안 다른 것들도 많이 가져온다고 가정하고 있는데 samba
, 그 중 일부는 실제로 DNS를 고칠 것입니다....어쩌면요?
답변1
시스템은 호스트 이름이 아닌 IP 주소를 통해 서로 통신합니다. 따라서 컴퓨터는 호스트 이름을 IP 주소로 변환해야 합니다. 이를 수행하는 세 가지 일반적인 방법은 다음과 같습니다.
- 호스트 파일(
/etc/hosts
) - 도메인 명 시스템
- mDNS(멀티캐스트 DNS)
사람들이 DNS 서버에 항목을 추가하라고 하면 DNS를 사용합니다. 당신이 사용하고 싶은 것은 mDNS입니다.
mDNS는 네트워크에서 멀티캐스트되며 모든 mDNS 지원 장치는 이름이 호출될 때 응답합니다. 예를 들어 NAS가 응답할 수 있는 경우입니다 ping synology.local
. 그러면 확인자가 ping할 수 있는 IP 주소로 변환됩니다.
mDNS에는 많은 세부 정보가 있습니다. 로컬 서브넷에서만 작동합니다. TLD는 항상 입니다 .local
. 클라이언트와 서버 모두 이를 지원해야 합니다.
Linux의 mDNS는 Avahi에서 제공됩니다. Avahi를 설치하고 구성했지만 여전히 작동하지 않는 경우 로그에서 구성 및/또는 오류 메시지를 검토해야 합니다.
답변2
DHCP를 사용하여 IP 주소를 요청할 때 호스트 이름을 보내는 것은 선택적 확장입니다. 어떤 이유로든 Linux 시스템에는 이를 수행하지 않도록 구성된 DHCP 클라이언트가 있거나 심지어 DHCP에서 호스트 이름을 가져오도록 구성되어 있을 수 있습니다(이는 서버에만 해당됩니다).
일반적으로 재구성할 수 있지만 올바른 옵션을 찾기 위해서는 어떤 DHCP 클라이언트가 사용되고 있는지 및/또는 어떤 네트워크 관리 시스템(예: NetworkManager)이 설정되어 있는지 알아야 합니다. 이 솔루션은 동일한 방식으로 작동하는 설정에서만 작동합니다.