Linux에서 포트 허용/로컬 액세스 포트만 사용할 수 있음, IP 시간 초과

Linux에서 포트 허용/로컬 액세스 포트만 사용할 수 있음, IP 시간 초과

25565내 라우터 (Minecraft 서버 포트라고도 함) 에서 포트를 열었습니다 . 이미 이 서버에서 호스팅되는 웹사이트가 있습니다.

togtja@togtja_server:/$ sudo iptables -nL | grep 80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 /* 'dapp_Apache%20Full' */

서버를 실행할 때 포트가 수신 대기 중인지 다시 확인합니다.

/**Some other ports as well such as 22 from ssh**/
apache2   1926            root    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1926            root    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
apache2   1927        www-data    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1927        www-data    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
apache2   1928        www-data    4u  IPv6  29136      0t0  TCP *:80 (LISTEN)
apache2   1928        www-data    6u  IPv6  29140      0t0  TCP *:443 (LISTEN)
java      3159       togtja      52u  IPv6  41266      0t0  TCP *:25565 (LISTEN)

그러나 포트에서 telnet또는 실행 시:nc

togtja@togtja_server:/$ nc -z -v -w5 my_ip 25565
nc: connect to my_ip port 25565 (tcp) timed out: Operation now in progress

닫아야 할 다른 포트를 시도하면 바로 거부됩니다.

togtja@togtja_server:/$ nc -z -v -w5 my_ip 1337
nc: connect to my_ip port 1337 (tcp) failed: Connection refused

그러나 localhost를 시도하면 통과할 수 있습니다.

togtja@togtja_server:/$ nc -z -v -w5 localhost 25565
Connection to localhost 25565 port [tcp/*] succeeded!

예상대로 로컬로 열려 있지 않은 포트는 거부됩니다.

togtja@togtja_server:/$ nc -z -v -w5 localhost 1337
nc: connect to localhost port 1337 (tcp) failed: Connection refused

나는 나를 믿는다가능한웹 서버를 설정할 때 명시적으로 허용된 포트를 제외한 모든 포트가 잠겨 있었지만 해당 설정이 어디에 있는지 또는 그것이 문제인지 확실하지 않습니다. 참고: 저는 우분투 18.04 서버(GUI 없음)를 실행하고 있습니다.

편집하다: 이를 명확히 하기 위해 nc my_ip다른 네트워크에 있는 PC에서도 명령을 실행하여 로컬 서버에서만 작동하는 것이 아닌지 확인했습니다.

답변1

문제는 IP 테이블의 기본 정책을 로 설정했다는 것입니다 DROP. 따라서 호출이 이루어지면 다음과 같은 sudo iptables -L결과가 나타납니다.

Chain INPUT (policy DROP)
target     prot opt source               destination
Chain FORWARD (policy DROP)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

그래서 내 포트가 실행할 예외를 추가했습니다. 이는 규칙을 만들고자 하는 대상에 따라 달라질 수 sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT INPUT있습니다 .FORWARDOUTPUT

전체 테이블 체인을 하나의 정책으로 변경하려면 다음을 수행하면 됩니다. sudo iptables -P INPUT ACCEPT그러면 INPUT에 대한 기본 정책이 허용됩니다.

관련 정보