Centos7以降のディストリビューションは、firewalldファイアウォールを導入しようとし、firewalldはiptablesファイアウォールを導入しようとしました。その理由は、iptablesのファイアウォールポリシーはカーネルレベルでnetfilterネットワークフィルターによって処理されるのに対し、firewalldはカーネルレベルでnftablesパケットフィルタリングフレームワークによって処理されるためです。 iptablesファイアウォールと比較して、firewalldは動的更新テクノロジーをサポートし、ゾーンの概念を追加します。簡単に言うと、firewalldが事前に複数のファイアウォールポリシーセット(ポリシーテンプレート)を用意しているということです。ユーザーは、さまざまな本番シナリオに応じて適切なポリシーセットを選択し、ファイアウォールポリシー間の迅速な切り替えを実現できます。
ゾーンはfirewalldの主要な機能ですが、私たちにとって、Centos7は通常サーバー上にあり、ゾーンを切り替える必要が少ないため、この記事では紹介しません。オンライン資料は他にもあります。Baiduにアクセスして情報を見つけることができます。
サービスを開始します。
systemctl start firewalld
ファイアウォールを有効にした後、リモートでsshを渡すことができないことを心配する必要はありません。デフォルトでは、ポート22に許可ルールが追加されています。
故障中:
systemctl stop firewalld
サービスを再起動します。
systemctl restart firewalld
サービスステータスの表示:
systemctl status firewalld
Firewalldは、構成ファイルを / usr / lib / firewalld
と / etc / firewalld
の2つのディレクトリに格納します。前者はいくつかのデフォルトファイルを格納し、後者は主にユーザー定義データを格納するため、サービスまたはルールはすべて後者の下で実行されます。
server
フォルダーには、定義されたルールのセットであるサービスデータが格納されます。
` ゾーンのストレージエリアルール
Firewalld.conf
デフォルト設定ファイル、デフォルトゾーンを設定できます。デフォルトゾーンはパブリックで、zonesディレクトリの public.xml
に対応します。
ここで最初に注意することは、コマンドの実行時に --permanent
パラメーターがない場合、構成はすぐに有効になりますが、構成は保存されません。これは、サーバーの再起動と同等であり、失われます。持参すると、構成は構成ファイルに保存されますが、これは構成をファイルに保存するだけですが、リアルタイムでは有効になりません。有効にするには、 firewall-cmd--reload
コマンドを実行して構成を再読み込みする必要があります。
firewall-cmd --reload
firewall-cmd --state
firewall-cmd --list-all
firewall-cmd --panic-on #すべてのトラフィックを拒否します。リモート接続はすぐに切断され、ローカルのみがログインできます
firewall-cmd --panic-off #緊急モードをキャンセルしますが、リモートsshを実行する前にfirewalldを再起動する必要があります
firewall-cmd --query-panic #緊急モードかどうかを確認します
firewall-cmd --add-service=<service name> #サービスを追加
firewall-cmd --remove-service=<service name> #サービスを削除する
firewall-cmd --add-port=<port>/<protocol> #ポートを追加/プロトコル(TCP/UDP)
firewall-cmd --remove-port=<port>/<protocol> #ポートを削除します/プロトコル(TCP/UDP)
firewall-cmd --list-ports #開いているポートを表示する
firewall-cmd --add-protocol=<protocol> #合意を許可する(例:pingを許可するicmp)
firewall-cmd --remove-protocol=<protocol> #契約のキャンセル
firewall-cmd --list-protocols #許可された契約を表示する
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" accept" #192から許可されていることを示します.168.2.1すべてのトラフィック
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" protocol value="<protocol>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" protocol value="icmp" accept" #192を許可する.168.2.192を許可する208ホストのicmpプロトコル.168.2.208ホストping
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" service name="<service name>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.208" service name="ssh" accept" #192を許可する.168.2.208ホストアクセスsshサービス
firewall-cmd --add-rich-rule="rule family="ipv4" source address="<ip>" port protocol="<port protocol>" port="<port>" accept"
例:
firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.2.1" port protocol="tcp" port="22" accept" #192を許可する.168.2.1つのホストがポート22にアクセスします
8- 11 各コマンドは、ネットワークセグメントとして設定される「送信元アドレス」をサポートします。つまり、このネットワークセグメントのIPは次のルールに適合します。
例えば:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" accept"
192.168.2.0/24ネットワークセグメント上のホストがポート22へのアクセスを許可されていることを示します。
8- 12 各コマンドで、「accept」を「reject」に設定して拒否を示し、「drop」に設定して直接ドロップします(タイムアウト接続タイムアウトが返されます)
例えば:
firewall-cmd --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="22" reject"
192.168.2.0/24ネットワークセグメント上のホストがポート22にアクセスすることを禁止されていることを示します。
[ xuad88による詳細なファイアウォールファイアウォール](http://blog.51cto.com/andyxu/2137046)。