web-dev-qa-db-ja.com

Oracle Cloud IntanceのTCPサービスに接続しようとすると、「ホストへのルートがありません」

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の再インストールを試みます。

3
FedonKadifeli

問題は、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サーバーでファイアウォールルールを管理するためのユーザーフレンドリーな方法ではありません。

0
FedonKadifeli

Oracle CloudのOracle Linuxでこの問題が見つかりました。事前定義されたブロッキングルールのセットがあります。そのため、22ポート(ssh)を正常に接続していましたが、「ホストへのルートがありません」と他のポートを接続しようとしていました。
ポートを個別に開く必要があります:

例:Dockerの場合:

firewall-cmd  --permanent --zone=public --add-port=2377/tcp
firewall-cmd  --reload

また、仮想クラウドネットワークのセキュリティリストを設定する必要があります。

3
mentatxx

これは、ネットワーク内または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クラウドの設定である可能性があり、経験はありません。

1
Ljm Dullaart