Linuxシステムの場合、ファイアウォールソフトウェアiptablesを設定するにはどうすればよいですか
ご注意:
iptables は、CentOS 7 前後のバージョンに重大な変更があります。
CentOS 7より前のバージョン、デフォルトでは iptables サービスをファイアウォールとして使用され、service iptables stop
コードを使用して、iptables サービスはまず、ルールをクリアしてiptables コンポーネントをアンインストールします。再起動すると、設定ファイルからルールがロードされます。 iptables サービスを停止すると、ファイアウォールが制限されているかどうかをテストできます。
CentOS 7 以降のバージョン、デフォルトではfirewallサービスをファイアウォールとして使用されます。互換性のため、iptables_filter モジュールもロードされていますが、iptablesサービスは利用できません。そのため、CentOS 7以降、iptables コマンドを使用してルールを追加できますが、iptables サービスはデフォルトで無効になっています。ユーザーがiptable_filterモジュールをロードすることを確認してから、ルールが有効になります。
ファイアウォールを判断する最も安全な方法はiptables -nvL
を使用して、ルールを確認することです。
以下では2つの例を通して設定する方法を説明します。
シナリオ1
Ubuntu 14 システムの場合、セキュリティグループ、監視ポートが開放したが、Telnetは機能しません。
セキュリティグループのインバウンドルール:
セキュリティグループのアウトバウンドルール:
telnetが機能しない:
ソリューション
1. 最初にCVMにパケットキャプチャして、パケットがCVMに到達したかどうかを判断します。
CVMに到達していない場合、セキュリティグループあるいは上位tgw、キャリアによってブロックされている可能性があります。
パケットがCVMに到達したが、応答パケットに問題が発生する場合、CVM内のiptables ポリシーが原因である可能性があります。次の図に示すように、Telnet操作後、TCP パケットは64.11に返されません。
2. iptables ポリシー問題であることを確認した後、iptables –nvL
を使用してポリシーがポート8081をインターネットに開放されるかどうかを確認します。ここではこのポートがインターネットに開放されていません。
3. コマンドを使用して、8081ポートをインターネットに開放するポリシーを追加します。
iptables -I INPUT 5 -p tcp --dport 8081 -j ACCEPT
4. ポート8081が開いていることがテストされています。 問題は解決されました。
シナリオ2
iptables の設定によると、ポリシーがインターネットに開かれていますが、宛先サーバーはまだ到達できません。
ソリューション
以下の状況が発生した場合:
コマンドを実行して output 方向の最初のルールを削除します: テスト後に問題は解決しました。
ファイアウォールをクリアする方法について
Windows インスタンス:
1. インスタンスにログインした後、【スタート】>【コントロールパネル】【ファイアウォール設定】をクリックし、ファイアウォール設定画面に入ります。
2. ファイアウォールおよびその他のセキュリティソフトウェア(セキュリティドッグなど)が有効になっているかどうかを確認します。有効になっている場合は無効にします。
Linux インスタンス:
1. コマンドを実行し、ユーザーがファイアウォールポリシーを有効になっているかどうかを確認します。無効にする場合は、ステップ2をスキップしてステップ3に進んでください。
2. ファイアウォールポリシーが有効になっている場合は、コマンドを実行して現在のファイアウォールポリシーをバックアップします:
3. コマンドを実行して、ファイアウォールポリシーをクリアします。
Tencent Cloud以外のCDNを使用してCVMを加速する場合、ファイアウォールによってブロックされますか
ブロックされません。影響が心配する場合、ファイアウォールを無効にすることができます。
この記事はお役に立ちましたか?