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
vpn
apache-http-server
port-forwarding
mischnic
sumber
sumber
telnet PUBLIC_IP 80
dari host jarak jauh. Apakah itu bekerja?Jawaban:
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 .
sumber