仅可通过 VPN 访问服务器

仅可通过 VPN 访问服务器

我在 Raspberry P 上运行着一个 Apache 服务器,它在本地网络中运行良好。在转发端口 80 并尝试使用公共 IP 进行连接后,Chrome 显示 ERR_CONNECTION_REFUSED。但奇怪的是,当我使用 VPN 并使用相同的 IP 时,我可以访问服务器。我该怎么办?

   -telnet 80.***.***.78 80

    Trying 80.***.***.78...
    telnet: connect to address 80.***.***.78: Connection refused
    telnet: Unable to connect to remote host

   -route -n

    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
    192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0


   -sudo netstat -lapute:

            Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
    tcp        0      0 *:http                  *:*                     LISTEN      root       6137        2051/apache2
    tcp        0      0 *:ssh                   *:*                     LISTEN      root       6367        2249/sshd
    tcp        0      0 pi.local:ssh            nmb.local:65535         ESTABLISHED root       8669        2565/sshd: pi [priv
    udp        0      0 *:9949                  *:*                                 root       5918        1809/dhclient
    udp        0      0 *:mdns                  *:*                                 avahi      6293        2184/avahi-daemon:
    udp        0      0 *:54070                 *:*                                 avahi      6295        2184/avahi-daemon:
    udp        0      0 *:bootpc                *:*                                 root       5946        1809/dhclient
    udp        0      0 pi.local:ntp            *:*                                 root       6310        2200/ntpd
    udp        0      0 localhost:ntp           *:*                                 root       6309        2200/ntpd
    udp        0      0 *:ntp                   *:*                                 root       6304        2200/ntpd

答案1

这是正常的。端口转发仅适用于从外部向内进行的连接。端口转发不允许 LAN 上的服务器使用路由器的公共 IP 地址连接到同一 LAN 上的机器。这需要一种称为发夹式的双 NAT(路由前和路由后均进行 NAT)。

某些路由器会在您配置端口转发时进行发夹式处理,这会让一些人误以为端口转发会这样做。但事实并非如此。

我更详细地解释了一下这里

相关内容