재부팅 후 포트에 연결할 수 없음

재부팅 후 포트에 연결할 수 없음

서버를 재부팅한 후에는 더 이상 SSH를 통해 연결할 수 없습니다. 헤드리스 Ubuntu 20.04.5를 실행 중입니다. 문제를 조사한 후 내 서버의 모든 포트가 닫힌 것으로 나타났습니다(yougetsignal과 같은 개방형 포트 검사기를 사용하여). 이전에 모든 포트를 열어 놓은 상태에서 테스트했습니다.
그러나 sudo netstat -tulpn | grep LISTEN내 포트가 열려 있다고 반환됩니다. 포트 22의 예:

tcp6       0      0 :::22                   :::*                    LISTEN      362/sshd: /usr/sbin

telnet localhost 22또한 시간 초과가 발생합니다.

다음 가정은 어떻게든 iptables 규칙을 덮어썼기 때문에 iptables -S | grep '22'여전히 포트 22를 예로 사용하여 실행했습니다. 결과는 다음과 같습니다.

-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT 

또한 ufw나 내가 아는 다른 방화벽 서비스가 설치되어 있지 않습니다.

문제를 해결하는 것은커녕 문제를 찾을 수도 없기 때문에 지금은 다소 헤매고 있습니다.
어떤 도움이라도 대단히 감사하겠습니다.

업데이트:
nnmap localhost다음과 같은 출력이 있습니다.

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 985 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
110/tcp  open  pop3
143/tcp  open  imap
443/tcp  open  https
465/tcp  open  smtps
587/tcp  open  submission
993/tcp  open  imaps
995/tcp  open  pop3s
3000/tcp open  ppp
3306/tcp open  mysql
8090/tcp open  opsmessaging

그러나 nmap을 사용하여 다른 시스템에서 스캔하면 다음이 반환됩니다.

Host is up (0.0011s latency).
Not shown: 995 filtered ports
PORT      STATE  SERVICE
53/tcp    open   domain
143/tcp   open   imap
993/tcp   open   imaps
995/tcp   open   pop3s
40193/tcp closed unknown

따라서 포트가 열려 있는 것처럼 보이지만 외부에서는 연결할 수 없습니다.

답변1

나는 이 문제를 해결할 수 있었고, 누군가가 같은 문제로 이 스레드를 우연히 발견할 경우를 대비해 지침을 남겼습니다.
문제는 재부팅 후 iptables 규칙이 저장되지 않는다는 것입니다. 특히 IN_public_allow 부분입니다. 서버에 열려 있는 모든 포트가 나열되어야 합니다. 그렇지 않은 경우 iptables -A IN_public_allow -p tcp --dport [PORT]-j ACCEPT[Port]가 추가되어야 하는 포트인 해당 규칙을 수동으로 추가해야 합니다 .
나중에 다시 시작한 후 이를 방지하려면 다음을 사용하여 규칙을 자동으로 저장하고 복원하는 패키지를 설치하면 됩니다. 규칙은 IPv6을 사용 apt-get install iptables-persistent 하여 저장할 수 있습니다 .iptables-save > /etc/iptables/rules.v4ip6tables-save > /etc/iptables/rules.v6

관련 정보