내가 IP 주소를 할당하기 위해 DHCP를 사용하는 LAN에 있다는 점을 고려하면(그리고 나는 그것의 관리자가 아닙니다), 일치 항목을 추가하지 않고도 뭔가를 얻을 수 있도록 어떻게 설정합니까 ping <hostname>
? ping <IP address>
"/etc/호스트 이름"에서)? 웹 서버와 SSH 서버의 다른 위치에서 이 변경을 수행해야 합니까?
나는 알고 싶다. 왜냐면 나는생각하다"/etc/hosts"를 조작하지 않고도 이 작업을 수행할 수 있었던 때가 있었습니다(아니면 제가 틀렸습니까?). 이 파일의 문제점은 이름-IP 매핑을 사용하려는 모든 클라이언트에서 이 작업을 수행해야 하며 일부 IP 주소가 변경되면 계속 변경해야 한다는 것입니다.
실제 질문은 호스트 이름(물론 IP 주소와 일치)의 네트워크 검색을 수행할 수 있는 도구가 있습니까?입니다.
답변1
이상적으로는 시스템 관리자가 DHCP의 호스트 이름으로 동적으로 업데이트되는 DNS 서버로 네트워크를 설정해야 합니다.
당신은 사용해 볼 수 있습니다ICMP 도메인 이름 메시지수확하기 위해 노력하고 있지만 이것이 널리 구현되지는 않은 것 같습니다.
또 다른 오래된 방법은 NIS 서버입니다. 그러나 이러한 일들은 더 이상 흔하지 않습니다. 당신은 그것을 시도 ypcat hosts
하고 이것이 당신에게 어떤 보상을 가져다 주는지 확인할 수 있습니다.
또 다른 하나는 Zeroconf입니다. 이를 지원하는 호스트는 자신의 이름을 브로드캐스트하고 이를 캐시하는 서비스를 실행할 수 있습니다(넘쳐가방이 하는 일이 바로 그것이다. 이미 설정했다면 ping <hostname>.local
이미 효과가 있을 수도 있습니다. 그러나 모든 노드가 이를 지원하는 것은 아닙니다. 쿼리를 위해 avahi 도구를 사용 avahi-resolve-host-name <hostname>.local
하고 일반 확인자가 작동하지 않는 경우 /etc/hosts를 업데이트하는 스크립트를 작성할 수도 있습니다.
따라서 호스트 이름을 얻을 수 있는 다른 "마법의" 장소는 없습니다. 누군가 이 매핑을 정의하거나 동적으로 검색할 수 있도록 만들어야 합니다. 시스템 관리자가 이를 수행하지 않거나 수행하지 않을 경우 귀하가 이를 수행해야 합니다. 로컬 컴퓨터에서 이 작업을 수행할 수 있는 유일한 위치는 /etc/hosts 파일입니다. 따라서 위의 방법 중 어느 것도 효과가 없다면 이것이 당신이 해야 할 전부입니다. 죄송합니다.
답변2
생각해 본 적 있어?제로 구성? Zeroconf는 두 개 이상의 시스템 간에 IP 링크를 설정하고 서비스를 검색하기 위한 프로토콜 집합입니다. 불행하게도 zeroconf 세계에는 여러 이름 확인 프로토콜이 있으므로 완전한 크로스 플랫폼이라는 목표는 완전히 달성되지 않습니다. 그러나 모든 컴퓨터가 동일한 운영 체제를 실행하고 있다면 이는 문제가 되지 않습니다. Zeroconf의 주요 대상 사용 사례는 크로스오버 케이블로 연결된 두 대의 시스템이지만 로컬 전환 네트워크에서도 작동할 수 있습니다.
Linux에서 가장 일반적인 Zeroconf 구현은 다음과 같습니다.넘쳐. Debian 또는 Ubuntu에서는 이 avahi-daemon
패키지를 설치하는 것만으로도 시작하기에 충분합니다. 다른 소프트웨어 패키지도 유용할 수 있습니다(특히 avahi-autoipd
DHCP 서버를 실행하지 않는 네트워크에서 IP 주소를 협상하여 avahi-discover
어떤 서비스를 사용할 수 있는지 확인하려는 경우).
답변3
DNS 서버가 이를 도와줄 수 있습니다. DHCP에서 IP를 얻도록 클라이언트를 설정하고 동적 DNS를 사용하여 클라이언트가 새 IP를 얻을 때 DNS 서버를 업데이트하도록 할 수 있습니다.
보다아래 링크BIND DNS 서버를 예로 들어 보겠습니다.
답변4
100%는 아니더라도 시도해 볼 수는 있습니다.
ping <hostname>.local
OSX 또는 Ubuntu 호스트를 찾을 때 이것이 작동한다는 것을 알고 있습니다.