Server hanya dapat dijangkau melalui VPN

3

Saya memiliki server Apache yang berjalan pada Raspberry P dan berfungsi dengan baik di jaringan lokal. Dan setelah meneruskan port 80 dan mencoba terhubung menggunakan IP publik, Chrome mengatakan ERR_CONNECTION_REFUSED. Tetapi yang aneh adalah bahwa saya BISA mencapai server ketika menggunakan VPN dan menggunakan IP yang sama. Apa yang dapat saya?

   -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
mischnic
sumber
1
Saya yakin itu masalah penerusan porta. Periksa firewall Anda (atau perangkat apa pun yang Anda gunakan) dan berikan lebih banyak informasi tentangnya. Melakukan telnet PUBLIC_IP 80 dari host jarak jauh. Apakah itu bekerja?
user996142
Ini akan lebih baik di Server Fault.
Julian Knight
1
Mereka mengatakan bahwa RP bukan "kelas profesional" dan mengatakan kepada saya bahwa "Pertanyaan komputasi rumah dan pengguna akhir mungkin ditanyakan pada Pengguna Super": serverfault.com/questions/693911/server-only-reachable-over-vpn
mischnic

Jawaban:

2

Ini normal. Port forwarding hanya berfungsi untuk koneksi dari luar masuk. Port forwarding tidak memungkinkan server pada LAN untuk terhubung ke mesin pada LAN yang sama menggunakan alamat IP publik router. Itu membutuhkan bentuk dual NAT (NAT baik sebelum routing dan setelah routing) yang disebut hairpinning.

Beberapa router melakukan hairpinning ketika Anda mengkonfigurasi port forwarding, yang membingungkan sebagian orang untuk berpikir port forwarding melakukan ini. Tapi ternyata tidak.

Saya menjelaskannya lebih terinci sini .

David Schwartz
sumber