
나는 다음과 같은 상황에 처해 있습니다.
Raspberry Pi 3는 WiFi 액세스 포인트로 설정됩니다(다음에 따라).https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/) 및 웹 서버. 유선 또는 무선 연결 여부에 관계없이 모든 클라이언트의 로컬 네트워크에서 확인할 수 있는 호스트 이름을 지정하고 싶습니다. myrpi
따라서 웹 주소를 http://myrpi
브라우저(Firefox, Chrome)에 입력하면 모든 로컬 PC(Windows, Ubuntu)에서 웹 클라이언트 컴퓨터(RPi가 웹 서버인 경우 이미지의 Windows 및 Ubuntu PC)에서 아무것도 변경하지 않고 Raspberry Pi의 포트 80에서 웹 페이지를 제공합니다. )
나는 이것을 처음 발견했습니다 :
- http://www.howtogeek.com/167190/how-and-why-to-할당-the-.local-domain-to-your-raspberry-pi/
- http://www.howtogeek.com/167195/how-to-change-your-raspberry-pi-or-other-linux-devices-hostname/
그래서 나는 그것을 따라 갔다. 이제 RPi에 있습니다.
- 에서
/etc/hosts
->127.0.1.1 myrpi
- 에서
/etc/hostname
->myrpi
sudo apt-get install avahi-daemon
그런 다음 RPi를 수행 하고 재부팅했습니다.
그런 다음 Ubuntu PC(WiFi 클라이언트로 RPi에 연결됨)의 명령줄에서 시도합니다.
$ ping myrpi.local
PING myrpi.local (172.24.1.1) 56(84) bytes of data.
64 bytes from 172.24.1.1: icmp_seq=1 ttl=64 time=1.54 ms
...
$ wget -O- myrpi.local
Resolving myrpi.local (myrpi.local)... 172.24.1.1
Connecting to myrpi.local (myrpi.local)|172.24.1.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
...
<p>This is the default web page for this server.</p>
...
지금까지는 괜찮아 보입니다. 하지만 http://myrpi.local/
Ubuntu PC에서 Firefox나 Chromium에 웹 주소를 입력하면 "서버를 찾을 수 없습니다"라는 메시지가 나타납니다.
이는 Ubuntu의 Avahi 상태와 관련이 있을 수 있습니다.
[해결됨] 회사 LAN에서 .local 도메인의 서버에 접근할 수 없습니다
우분투에서는 작동하지 않습니다. 이는 Ubuntu가 기본적으로 AVAHI Zeroconf mDNS 시스템을 설치하고 .local 도메인을 "소유"하도록 구성하고 호스트 이름 확인 순서에서 일반 DNS보다 우선 순위를 지정하기 때문입니다.
- 173804 – [rfe]Bonjour(Rendezvous/zeroconfig)에 대한 지원을 브라우저에 추가합니다.
- https://stackoverflow.com/questions/29637622/resolve-mdns-local-url-in-browser-address-bar
- PC 버전의 Google Chrome이 ".local" 도메인 이름을 인식하지 못합니다.
그래서 저는 도메인 이름을 추가하는 것에 별로 관심이 없다고 생각했습니다 .local
. 단지 그렇게 해야 한다고 생각했습니다. 그래서 Ubuntu PC에서 직접 호스트 이름을 호출해 보았습니다.
$ ping myrpi
PING myrpi (127.0.1.1) 56(84) bytes of data.
64 bytes from myUbuntuLaptop (127.0.1.1): icmp_seq=1 ttl=64 time=0.022 ms
...
$ wget -O- http://myrpi/
--2017-01-26 13:38:56-- http://myrpi/
Resolving myrpi (myrpi)... 127.0.1.1
Connecting to myrpi (myrpi)|127.0.1.1|:80... failed: Connection refused.
여기에서는 작동하지 않습니다 wget
(그리고 분명히 Firefox나 Chromium 브라우저도 마찬가지입니다). 이유는 분명하지만 여기서는 myrpi
RPi의 축어로 작성된 127.0.1.1로 해결되었지만 /etc/hosts
Ubuntu 랩탑에서 동일한 주소는 " 이 노트북은 루프백 노트북이므로 Ubuntu 노트북에서 실행되는 웹 서버가 없기 때문에 전체 프로세스가 실패합니다.
이제 재미있는 점은 다음과 같습니다. 이 설정에서 Windows PC(Windows 7인 것 같습니다)는 myrpi.local
다음과 같이 해결됩니다 192.168.0.51
. 그리고 웹페이지는 http://myrpi.local/
Windows의 Firefox와 Chrome 모두에서 잘 작동합니까?!
/etc/nsswitch.conf
마지막 조치로 RPi를 변경해 보았습니다 .
# hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 # original
hosts: files dns mdns4 mdns4_minimal
... 그리고 재부팅 - 그러나 Ubuntu의 브라우저는 여전히 http://myrpi/
또는 http://myrpi.local/
. 내 /etc/resolv.conf
RPi는 여전히 변경되지 않았습니다.
그렇다면 로컬 네트워크에서 확인 가능한 이름( .local
또는 지정하지 않음)을 Raspberry Pi에 어떻게 부여할 수 있습니까? 그러면 동일한 로컬 네트워크에 있는 다른 모든 PC가 실행 중인 OS 및 브라우저에 관계없이 Raspberry Pi에서 웹 서버 콘텐츠를 검색할 수 있습니다. 그 PC에서?