回答が受け入れられて投票されたとしても、それが正しいものだとは思いません。ドキュメントで明確な説明を見つけることができませんが、実装された動作からは次のようになります。
- インターフェースおよびソースはセレクターとして使用されます-アクティブにするゾーン
- デフォルトゾーンでは両方とも無視されます(常にアクティブ)
答えは次のとおりです。
- 「パブリック」と言うデフォルトゾーンをロックダウン-ポートが開いていないか、利用可能なサービスがない
- 別のゾーンで、「作業」と言う-ソースと開いているポートを定義する
たとえば、デフォルトゾーンがパブリックであり、開いているポートがない場合、「work」ゾーンにソースとポート範囲を追加します。
$ sudo firewall-cmd --zone=work --add-source=192.168.0.0/24
$ sudo firewall-cmd --zone=work --add-port=8080-8090/tcp
アクティブなゾーンを確認します(デフォルトのゾーンは常にアクティブです):
$ sudo firewall-cmd --get-active-zones
あなたが取得します:
work
sources: 192.168.0.0/24
そのため、「作業」ゾーンルールは特定のサブネットに適用されます。「ホワイトリスト」用に開いているポートの範囲があります=リクエストに応じサブネットます。そしてもちろん--permanent
、--add-xxx
ステートメントでオプションを使用して、動作を維持します。
また、「パブリック」(デフォルト)ゾーンにあるポートまたはサービスは、すべてのインターフェイスと送信元アドレスに適用されます。
$ sudo firewall-cmd --list-all-zones
public (default)
interfaces:
sources:
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
work (active)
interfaces:
sources: 192.168.0.0/24
services: dhcpv6-client ipp-client ssh
ports: 8080-8090/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
同じシステムがインターフェースに対して機能します。インターフェース「ens3」を「work」ゾーンに追加して言います。
$ sudo firewall-cmd --zone=work --add-interface=ens3
特定のインターフェイスからのリクエストには「作業」ゾーンルールを使用します-「ソース」よりも大まかなセレクター。