再起動後、ポートにアクセスできません。

再起動後、ポートにアクセスできません。

サーバーを再起動した後、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

おすすめ記事