
私は、無料レベルの Oracle Cloud Infrastructure Compute Node を所有しており、オペレーティング システムとして Ubuntu 22.04 を設定しています。Nginx を正常にインストールし、ポート 80 でインターネット接続を許可するようにサブネットにイングレス ルールを追加しました。
しかし、ブラウザにパブリック IP を入力してもサーバーにアクセスできないという問題が発生しています。調べてみると、ポート 80 で HTTP トラフィックを許可するには iptables ルールを追加する必要があることがわかりました。ルールを追加すると、サーバーにアクセスできるようになります。これを行うには、次の 2 つの方法を見つけました。
このルールを追加すると:
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT sudo netfilter-persistent 保存
または、次の 2 つのルールを追加します。$
sudo iptables -I 入力 -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
$ sudo iptables -I 出力 -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
デフォルトの INPUT ポリシーが ACCEPT に設定されていて、ポート 80 を具体的にブロックする拒否ルールが見つからないにもかかわらず、ルールを追加しないと外部からサーバーにアクセスできないという事実に困惑しています。
ルールを追加する前に、sudo iptables -S コマンドを使用し、次の結果が得られました。
-P 入力を受け入れる
-P 転送 受け入れ
-P 出力受け入れ
-N インスタンスサービス
-A 入力 -m 状態 --state RELATED、ESTABLISHED -j ACCEPT
-A 入力 -p icmp -j 受け入れ
-A 入力 -i lo -j 受け入れ
-A 入力 -p udp -m udp --sport 123 -j 受け入れ
-A 入力 -p tcp -m 状態 --state 新規 -m tcp --dport 22 -j 受け入れる
-A 入力 -j 拒否 --拒否-icmp-ホスト禁止
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A 出力 -d 169.254.0.0/16 -j インスタンスサービス
-A InstanceServices -d 169.254.0.2/32 -p tcp -m owner --uid-owner 0 -m tcp --dport 3260 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.2.0/24 -p tcp -m owner --uid-owner 0 -m tcp --dport 3260 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.4.0/24 -p tcp -m owner --uid-owner 0 -m tcp --dport 3260 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.5.0/24 -p tcp -m owner --uid-owner 0 -m tcp --dport 3260 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.0.2/32 -p tcp -m tcp --dport 80 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 53 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p tcp -m tcp --dport 53 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.0.3/32 -p tcp -m owner --uid-owner 0 -m tcp --dport 80 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.0.4/32 -p tcp -m tcp --dport 80 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 67 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 69 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j ACCEPT
-A InstanceServices -d 169.254.0.0/16 -p tcp -m tcp -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j REJECT --reject-with tcp-reset
-A InstanceServices -d 169.254.0.0/16 -p udp -m udp -m comment --comment 「このルールを変更または削除した場合のセキュリティへの影響については、Oracle Cloud Infrastructure ドキュメントの Oracle 提供のイメージのセクションを参照してください」 -j REJECT --reject-with icmp-port-unreachable
INPUT、FORWARD、および OUTPUT チェーンのデフォルト ポリシーは ACCEPT に設定されています。特定の IP のポート 80 を指す唯一のルールもアクティブに設定されています。
質問: サーバーにアクセスするにはこれで十分ではないでしょうか? 何が足りないのでしょうか?
初心者なので、理由と方法をわかりやすく説明してください。よろしくお願いします!