두 개의 네트워크가 구성된 라즈베리 파이 3가 있습니다 (하나는 이더넷을 통해, 다른 하나는 무선 랜을 통해).
eth0 Link encap:Ethernet HWaddr b8:27:eb:82:ca:0c
inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::57ac:b6e:33c1:8bbb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:797 errors:0 dropped:0 overruns:0 frame:0
TX packets:797 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:219915 (214.7 KiB) TX bytes:117516 (114.7 KiB)
wlan0 Link encap:Ethernet HWaddr b8:27:eb:d7:9f:59
inet addr:192.168.2.200 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::6463:5ba:3b28:6d39/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1532 errors:0 dropped:1215 overruns:0 frame:0
TX packets:201 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:364160 (355.6 KiB) TX bytes:29417 (28.7 KiB)
sigma@sigma:~ $ ip route show table main
default via 192.168.1.1 dev eth0 metric 202
default via 192.168.2.1 dev wlan0 metric 303
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.200 metric 202
192.168.2.0/24 dev wlan0 proto kernel scope link src 192.168.2.200 metric 303
포트 80이 전달되므로 장치는 네트워크 공개 ips에서 사용할 수 있습니다.
하지만 문제는 아파치가 연결이 첫 번째 네트워크에서 오는 경우에만 응답하는 것 같습니다 ... 두 번째 네트워크에서 오류가 발생했습니다 (브라우저에서), 해당 사이트를 사용할 수 없습니다.
처음에는 포트 포워딩 문제 일 수 있다고 생각했지만 iftop
두 네트워크에서 브라우저가 연결을 시도하고 있음을 알 수 있습니다 (두 네트워크를 통해 연결할 때 연결이 끊어짐을 볼 수 있습니다).
내가 뭘 잘못하고 있죠? 한 번에 두 네트워크에서 어떻게 작동하게합니까?
추신. 보시다시피 wlan0에는 삭제 된 패킷이 많이 있습니다 ( dropped:1215
).
나는 그렇게 생각하지 않는다. SSH가 작동하지 않기 때문에 라우팅 문제가되어야한다. 서버 버전 :
—
Flash Thunder
Apache/2.4.10 (Raspbian)
... Listen 80
... <VirtualHost *:80>
@ JakeGould : 이름 기반 가상 호스트는 일반적으로 특정 IP 바인딩의 정확한 반대를 의미하는 경향이 있습니다.
—
grawity
@grawity 내가 아는 한 익명의 호스트는 단지 베어 IP 주소 일 것이고 명시 적으로 다른 것을 설정하지 않는다면 IP 주소는 그것이 가져온 첫 번째 인터페이스에 연결될 것인가?
—
JakeGould
@ JakeGould : 아파치가 내 지식으로 결코 "첫 번째"IP 주소를 임의로 선택하지 않았다. 수동으로 주소를 지정하면 0.0.0.0 "와일드 카드"에 바인딩됩니다. 그것은 또한 무엇인가?
—
grawity
<VirtualHost *:80>
방법.
192.168.1.1
. 설치 프로그램에서 어떤 버전의 Apache를 사용하고 있는지 명확하지 않지만 증상이 그 문제를 지적하고 있습니다. 장치의 쉘에 로그인하여 실행 해보십시오.apachectl -S
또는httpd -S
Apache 서버가 바인드 된 인터페이스 / 호스트 이름을 확인하십시오.