다시 시작한 후 포트에 액세스할 수 없습니다.

다시 시작한 후 포트에 액세스할 수 없습니다.

서버를 다시 시작한 후에는 더 이상 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]는 추가해야 하는 포트입니다.
향후 재부팅 후 이러한 상황을 방지하려면 규칙을 자동으로 저장하고 복원하는 패키지를 설치하기만 하면 됩니다. apt-get install iptables-persistent 규칙은 iptables-save > /etc/iptables/rules.v4IPv6을 사용하여 저장할 수 있습니다.ip6tables-save > /etc/iptables/rules.v6

관련 정보