我知道这个问题被问了很多,但不幸的是,没有一个帖子真正有帮助。
我正在尝试在我的 Raspberry Pi 上设置 Apache 服务器。我认为我设法正确设置它,但我无法从 LAN 外部访问它。我想可能是我的ISP阻止了80端口,所以将端口更改为3000,仍然没有运气。看来apache的配置没有问题:
pi@raspberrypi /home/pi $ netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN
当我尝试使用以下地址从 LAN 内部访问它时:http://109.65.74.55:3000/index.html它工作正常,但是当从我的 LAN 外部尝试相同的地址时 - 没有连接。
我的电脑上的 ipconfig 给出以下信息:
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::b57c:a8cd:7d5:a935%10
IPv4 Address. . . . . . . . . . . : 10.0.0.6
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.0.138.
我想这意味着我落后于 NAT?
答案1
这是行不通的。外部 LAN 不知道如何处理您的 RaspberryPi 的 IP。 (=如何路由数据包到达您的 RaspberryPi)
去http://www.whatismyip.com/找出您的公共IP。记下来,但不要告诉我们。
如果你想访问你的 RaspberryPi,你必须指向这个 IP。您必须在路由器的端口转发中定义要使用哪个端口。
关闭并打开路由器电源并重新访问上述网址。
如果您的 IP 发生变化,则您拥有动态 IP,并且需要 DynDNS 服务来获取始终有效的 URL,以便从外部访问您的本地网络。
您能通过nmap 10.0.0.*
和nmap 109.65.74.*
找出您本地网络中的 IP 地址吗?奇怪的是,你的路由器是10.0.0.138,但RaspberryPi是109.65.74.55
如果您位于 NAT 后面,则任何人都无法使用此信息攻击您的网络。
附言。他们到底为什么要把这个问题从 serverfault 转移到 unix?!