공용 IP 주소는 로컬 포트에 액세스할 수 없습니다.

공용 IP 주소는 로컬 포트에 액세스할 수 없습니다.

공용 IP와 개인 IP가 있는 Linux 서버가 있습니다. 그래서 공인IP로 로그인을 하면 단말기에 바로 사설IP가 표시됩니다.

예:

$ ssh [email protected]
root's password: 
[email protected]:~$ hostname -I
10.1.4.20
[email protected]:~$ wget -qO- http://ipecho.net/plain ; echo
55.27.xx.xx

이제 Nginx가 설치되었으며 기본 nginx 페이지를 사용하여 55.27.xx.xx를 로드할 수 있습니다. 그러나 포트 85를 사용하여 phpmyadmin을 설치하면 공용 IP에서 페이지에 액세스하는 것이 허용되지 않습니다.

을 사용하면 을 curl 10.1.4.20:85얻습니다 200 OK response. 하지만 컬을 사용하면 55.27.xx.xx:85시간 초과가 발생합니다.

netcat 명령과 동일:

[email protected]:~$ nc -vz localhost 85
nc: connect to localhost port 85 (tcp) failed: Connection refused
Connection to localhost 85 port [tcp/*] succeeded!
[email protected]:~$ nc -vz 55.27.xx.xx 85
nc: connectx to 55.27.xx.xx port 85 (tcp) failed: Operation timed out

서버가 라우터 뒤에 있을 수 있습니다.

[email protected]:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:55:00:tt:a6:76 brd ff:ff:ff:ff:ff:ff
    inet 10.1.4.20/16 brd 10.4.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 dddd::xxxx:ff:4534/64 scope link 
       valid_lft forever preferred_lft forever

포트 전달 단계를 수행하지 않았습니다. iptables -L다음과 같은 빈 출력이 표시됩니다 .

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

서버에서 google.com을 핑할 수 없습니다.

ping www.google.com
PING www.google.com (xx.xx.xx.xx) 56(84) bytes of data.
^C
--- www.google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2000ms

공용 IP 주소에서 포트 85를 통해 phpmyadmin에 액세스하는 방법을 제안해 주세요.

답변1

항목은 ip addr show서버에 로컬 주소만 있음을 나타냅니다.

inet 10.1.4.20/16 brd 10.4.255.255 scope global eth0

55.27.XX.XX10.1.4.20주소를 포트 tcp/85 에 매핑하고 포트 tcp/85에 대한 포트 전달을 제공하는 외부 NAT 장치를 확인해야 합니다 .

관련 정보