Server nur über VPN erreichbar

Server nur über VPN erreichbar

Ich habe einen Apache-Server auf einem Raspberry P laufen und er funktioniert im lokalen Netzwerk einwandfrei. Und nachdem ich Port 80 weitergeleitet und versucht habe, eine Verbindung über die öffentliche IP herzustellen, meldet Chrome ERR_CONNECTION_REFUSED. Aber das Seltsame ist, dass ich den Server erreichen kann, wenn ich VPN verwende und dieselbe IP verwende. Was kann ich tun?

   -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

Antwort1

Das ist normal. Portweiterleitung funktioniert nur für Verbindungen von außen nach innen. Portweiterleitung erlaubt es Servern in einem LAN nicht, sich mit Rechnern in demselben LAN über die öffentliche IP-Adresse des Routers zu verbinden. Dies erfordert eine Form von Dual-NAT (NAT sowohl vor als auch nach dem Routing), die Hairpinning genannt wird.

Einige Router führen Hairpinning durch, wenn Sie die Portweiterleitung konfigurieren, was manche Leute verwirrt und sie glauben lässt, dass dies bei der Portweiterleitung der Fall ist. Das ist aber nicht der Fall.

Ich habe es genauer erklärtHier.

verwandte Informationen