Networking
打開埠不起作用
我有一個在樹莓派上的 8000 埠上執行的 python 伺服器,並希望在目前無法正常工作的本地網路中訪問它。
介面 wlan0 配置了 IP 10.0.0.69 和網路遮罩 255.255.255.0。
我無法訪問本地網路中的伺服器(來自不同的主機):
root@DESKTOP-Lukas:~# curl http://10.0.0.69:8000 curl: (7) Failed to connect to 10.0.0.69 port 8000: Connection refused
我也無法從樹莓派訪問伺服器:
lukas@raspberrypi:~ $ curl http://10.0.0.69:8000 curl: (7) Failed to connect to 10.0.0.69 port 8000: Connection refused
伺服器正在執行並偵聽埠 8000:
lukas@raspberrypi:~ $ sudo netstat -tnlp | ack 8000 tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 743/python
使用 localhost 時伺服器正確響應:
lukas@raspberrypi:~ $ curl localhost:8000 <h1>Not Found</h1><p>The requested URL / was not found on this server.</p>
防火牆允許對埠 8000 執行操作:
lukas@raspberrypi:~ $ sudo ufw status Status: active To Action From -- ------ ---- ... 8000 ALLOW Anywhere 8000/tcp ALLOW Anywhere 8000 (v6) ALLOW Anywhere (v6) 8000/tcp (v6) ALLOW Anywhere (v6)
您的
netstat
輸出顯示了問題:tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 743/python
具體來說,
127.0.0.1:8000
表明您的 Web 伺服器僅綁定到環回地址127.0.0.1
。您需要將其綁定到實際的網路介面,或者更簡單地說,將其綁定到所有地址(通常通過指定0.0.0.0
),然後所有其他主機都可以通過路由訪問您的 Pi。