ファイアウォールテクノロジーは、コンピューターがデータを保護するために内部ネットワークと外部ネットワークの間に比較的隔離された保護バリアを構築するのに役立ちます。 Elastic Compute Service (ECS) インスタンスのファイアウォールを有効にし、外部アクセスをブロックするようにファイアウォールルールを設定した場合、インスタンスに接続できない場合があります。 このトピックでは、Linux ECSインスタンスのシステムファイアウォールを有効または無効にする方法について説明します。
手順
ECSインスタンスのLinuxディストリビューションに適したコマンドを実行します。
予期しないリスクを防ぐために、管理ユーザーではなく、ecs-userまたは通常ユーザーとして操作を実行することをお勧めします。 通常ユーザーにsudo権限がない場合は、ユーザーに権限を付与します。 詳細については、「」をご参照ください。質問2: 通常のユーザーにsudo権限を付与するにはどうすればよいですか?
CentOS 7、CentOS Stream 8、Red Hat 7、Red Hat 8、Alibaba Cloud Linux 2、またはAlibaba Cloud Linux 3
システムファイアウォールのステータスの確認
デフォルトでは、システムファイアウォールは無効になっています。 次のコマンドを実行して、システムファイアウォールのステータスを確認します。
sudo firewall-cmd --state
説明システムファイアウォールが無効になっている場合、コマンド出力に
not running
が表示されます。システムファイアウォールが有効になっている場合、コマンド出力に
running
が表示されます。システムファイアウォールがインストールされていない場合、コマンド出力に
-bash: firewall-cmd: command not found
というエラーメッセージが表示されます。 この場合、sudo yum install firewalld -y
コマンドを実行してシステムファイアウォールをインストールします。
システムファイアウォールの有効化
sudo systemctl start firewalld
次のコマンドを実行して、システム起動時にシステムファイアウォールを起動するように設定できます。
sudo systemctl enable firewalld
システムファイアウォールを無効にする
sudo systemctl stop firewalld
次のコマンドを実行して、システムの起動時に起動しないようにシステムファイアウォールを設定できます。
sudo systemctl disable firewalld
Ubuntu
システムファイアウォールのステータスの確認
デフォルトでは、システムファイアウォールは無効になっています。 次のコマンドを実行して、システムファイアウォールのステータスを確認します。
sudo ufw status
説明システムファイアウォールが無効になっている場合、コマンド出力に
Status: inactive
が表示されます。ファイアウォールが有効になっている場合、コマンド出力に
Status: active
が表示されます。システムファイアウォールの有効化
次のコマンドを実行して、システムファイアウォールを有効にします。 Linuxインスタンスが再起動されると、システムファイアウォールは自動的に有効になります。
sudo ufw enable
システムファイアウォールを無効にする
次のコマンドを実行して、システムファイアウォールを無効にします。 Linuxインスタンスが再起動されると、システムファイアウォールは無効のままです。
sudo ufw disable
Debian
デフォルトでは、Debianにファイアウォールはインストールされていません。 ファイアウォールがDebianにインストールされている場合は、すべてのファイアウォールルールを削除してトラフィックのブロックを解除できます。 すべてのファイアウォールルールを削除する前に、ルールをバックアップします。 ファイアウォールルールのバックアップファイルからファイアウォールルールを復元できます。
ファイアウォールルールの表示
sudo iptables -L
すべてのファイアウォールルールを削除してシステムファイアウォールを無効にする
すべてのファイアウォールルールを削除することで、システムファイアウォールを無効にできます。
説明[$Iptables]
変数を、ファイアウォールルールのバックアップファイルを格納する実際のディレクトリに置き換えます。次のコマンドを実行して、バックアップファイルを作成します。
sudo touch [$Iptables]
次のコマンドを実行して、ファイアウォールルールをバックアップします。
sudo sh -c "iptables-save > [$Iptables]"
次のコマンドを実行して、すべてのファイアウォールルールを削除します。
sudo iptables -F
バックアップファイルからファイアウォールルールを復元してシステムファイアウォールを有効にする
ファイアウォールルールを復元するか、ファイアウォールルールを追加することで、システムファイアウォールを有効にできます。
説明[$Iptables]
変数を、ファイアウォールルールのバックアップファイルが格納されている実際のディレクトリに置き換えます。sudo iptables-restore < [$Iptables]
関連ドキュメント
システムファイアウォールが無効になっていてもインスタンスに接続できない場合は、他の潜在的な原因を調査してください。 詳細については、「」をご参照ください。Linuxインスタンスに接続できない場合はどうすればよいですか?