Oracle Cloud Infrastructure(OCI)にUbuntuインスタンスを作成しました。このインスタンスにSSH(TCP 22)で接続できます。昼間(TCP 13)、メール(TCP 25)、http(TCP 80)、dns(TCP/UDP 53)など、このインスタンスでいくつかのサービスを作成しました。このインスタンスのOCI管理WebページのDefault Security Listに、デフォルトのSSHルールと同様の同様のルールを追加しました。ただし、インターネットからこれらのサービスのanyに接続しようとすると、No route to Host
エラー。唯一の例外は問題なく機能するSSHサービスです。
このインスタンスにufw
をインストールしたら、ただし、後でufw
を無効にして削除しました。その後、iptables
パッケージも削除しました。したがって、今はLinuxファイアウォールがまったくありません。しかし、私はまだこの問題を抱えています。
これはOCI関連の問題のようです。他のクラウドプラットフォーム(AWS、GCPなど)でも同様の構成を問題なく行っていました。
この問題を特定するために他にどこを見ればいいですか?
更新:iptablesの削除および再起動問題を解決しました。次に、iptablesの再インストールを試みます。
問題は、OCIがUbuntuでufw
を使用することを望まないことに関連しているようです: https://docs.cloud.Oracle.com/iaas/Content/knownissues.htm#ufw
ufw
を無効にするか削除して、ファイルを編集する必要があります/etc/iptables/rules.v4
上記のリンクに記載されています。その後、新しいルールを有効にするために、以下を実行する必要があります。
# iptables-restore </etc/iptables/rules.v4
そのような構成ではufw
ルールは効果がないようで、iptables
を使用するhaveことができます。ただし、これはOCIプラットフォーム上のUbuntuサーバーでファイアウォールルールを管理するためのユーザーフレンドリーな方法ではありません。
Oracle CloudのOracle Linuxでこの問題が見つかりました。事前定義されたブロッキングルールのセットがあります。そのため、22ポート(ssh)を正常に接続していましたが、「ホストへのルートがありません」と他のポートを接続しようとしていました。
ポートを個別に開く必要があります:
例:Dockerの場合:
firewall-cmd --permanent --zone=public --add-port=2377/tcp
firewall-cmd --reload
また、仮想クラウドネットワークのセキュリティリストを設定する必要があります。
これは、ネットワーク内またはLinuxインスタンス内にあります。 Linuxの場合は、iptablesまたはサービスを使用できます。
最後のものを開始するには、メールがあるため、Linuxボックスを試してください。
telnet 127.0.0.1 smtp
helo there
quit
220、250、221メッセージが表示されますか?その後、メールサービスが機能します。あなたが取得する場合 Connection refused
の場合、サービスは稼働していません。
次、 iptables -nvL
は、ポートが外部向けに開いているかどうかを通知します。出力の先頭または末尾を作成できない場合は、
service iptables stop
iptablesを停止する必要があります。これはテストでは許容できる場合があります。あなたはufw
を取り除くと言ったので、私はSudo ufw disable
はもう必要ありません。
Iptablesが邪魔になっても接続できない場合は、Amazonクラウドの設定である可能性があり、経験はありません。