저는 삼바가 설치된 여러 Windows 및 Linux 컴퓨터로 구성된 홈 네트워크를 가지고 있습니다.
Windows에서는 호스트 이름으로 각 컴퓨터를 잘 찾을 수 있습니다.
그러나 Linux 시스템에서는 호스트 이름으로 다른 시스템을 찾을 수 없으며 IP 주소만 작동합니다.
실제로 Linux는 자체적으로 이를 파악하지 못하는 것 같습니다.
user@atom:~$ host atom
Host atom not found: 3(NXDOMAIN)
답변1
Windows는 다른 시스템을 사용하여 Linux 호스트 이름을 확인합니다.
Linux는 /etc/hosts
이름 확인을 위해 파일 및/또는 DNS를 사용합니다.
이 /etc/hosts
파일은 IP 주소와 이름의 목록일 뿐이며, 관리하기에는 너무 커졌다는 사실을 깨닫기 전에 이름을 IP 주소에 매핑하는 유일한 방법이었습니다. 해결책은 DNS(도메인 명 시스템), 이제 전체 인터넷을 지원하는 분산 데이터베이스입니다.
host
사용 중인 명령은 DNS만 쿼리하므로 /etc/hosts
DNS 항목이 없으면 로컬 컴퓨터를 찾을 수 없습니다.
이름으로 모든 Linux 시스템에 액세스하려면 /etc/hosts
파일을 만듭니다.
127.0.0.1 localhost.localdomain localhost
192.168.0.5 laptop.mydomain.net laptop
192.168.0.6 server.mydomain.net server
192.168.0.7 printer.mydomain.net printer
모든 Linux 컴퓨터에 배포하거나 DNS를 설치하십시오. dnsmasq
소규모 네트워크에 매우 적합한 경량 DNS/DHCP 서버입니다.
Windows는 자체적으로 사용합니다.NetBIOS 이름 확인각 컴퓨터는 특정 이름을 가진 컴퓨터의 IP 주소를 찾기 위해 LAN에서 특별한 메시지를 브로드캐스트합니다. 이것이 Windows 컴퓨터가 동일한 네트워크에 있을 때 자동으로 서로를 찾는 경향이 있는 이유입니다. 나중에 사용할 수 있도록 캐시하므로 네트워크에 너무 많은 소음이 발생하지 않습니다.
이 브로드캐스트 이름 확인(대규모 배포의 경우)에 대한 대안은 WINS(Windows 인터넷 이름 지정 서비스) 이는 IP 주소에 대한 컴퓨터 및/또는 서비스 이름의 중앙 데이터베이스입니다. 이제 최신 버전의 Windows에서는 DNS가 이름 확인을 위한 사실상의 표준이고 WINS보다 확장성이 뛰어나기 때문에 DNS를 사용합니다.
답변2
Windows 컴퓨터는 NetBIOS를 사용하여 서로를 찾습니다. 기본적으로 네트워크의 모든 노드는 이름 확인을 담당할 컴퓨터를 선택하며 새 노드는 이 노드에만 쿼리할 수 있습니다.
host
DNS 서버를 설정하지 않은 경우 명령이 실패합니다. 이는 nslookup
Windows의 상황 과 동일합니다 . 한 Windows 시스템에서 다른 Windows 시스템으로 실행하는 경우 nslookup
선택한 명령으로 쿼리하는 DNS가 없으면 DNS 없이도 실패합니다.
즉, IP 주소로 다른 컴퓨터를 참조하거나 해당 IP 주소를 .IIRC에 추가할 수 있어야 합니다 /etc/hosts
. IIRC Gnome에는 Windows 작업 그룹에 대해 생각할 수 있는 것과 유사한 SMB 작업 그룹을 탐색할 수 있는 몇 가지 Samba 통합 옵션이 있습니다. 그런데 지금은 이 패키지의 이름이 기억나지 않습니다.
답변3
집에 DNS 서버가 없는 경우(가능성은 낮음) 몇 가지 옵션이 있는 것 같습니다.
- avahi 서버 읽기(참조이 스레드) 이를 통해 문제가 해결되는지 확인하세요. 호스트 이름에 ".local"을 추가하는 방법에 대해 참고하세요. 그런데 명령 프롬프트에 "hostname"을 입력하면 무엇을 얻게 됩니까? 특히 호스트 이름의 맨페이지를 읽어보는 것이 좋습니다. FQDN 섹션 정보.
- 편집하다
/etc/hosts
편집: 댓글 작성자의 요청에 따라 내가 링크한 스레드의 세부 정보는 다음과 같습니다. Linux 컴퓨터에서 Zeroconf를 구현하여 로컬 네트워크를 통해 호스트 이름을 알릴 수 있습니다. 일반적인 설치(우분투의 경우)는 "sudo apt-get install avahi-daemon"입니다. Avahi는 우분투 및 기타 Linux에서 Zeroconf를 구현하므로 호스트 이름을 알리려면 데몬을 설치하기만 하면 됩니다. 나는 여기에서 또 다른 스레드를 읽었습니다(https://superuser.com/questions/491747/how-can-i-resolve-local-addresses-in-windows) Bonjour(Apple의 Zeroconf 구현)를 Windows PC에 설치하여 동일한 기능을 수행할 수 있습니다.