「Firewalld」の版間の差分
(ページの作成:「Category:ファイアウォール en:Firewalld {{Related articles start}} {{Related|nftables}} {{Related articles end}} [https://firewalld.org/ firewalld] は Re…」) |
(→インターフェイスのゾーンを変更: NetworkManager を使ったゾーン管理を翻訳して追加) |
||
61行目: | 61行目: | ||
{{ic|''zone''}} はインターフェイスに割り当てたい新しいゾーンに置き換えてください。 |
{{ic|''zone''}} はインターフェイスに割り当てたい新しいゾーンに置き換えてください。 |
||
+ | |||
+ | ===== NetworkManager を使ったゾーン管理 ===== |
||
+ | |||
+ | [[NetworkManager]] は、異なる接続プロファイルを異なるゾーンに割り当てることができます。これにより、例えば自宅の WiFi 接続を ''home'' ゾーンに、仕事の WiFi 接続を ''work'' ゾーンに、その他全ての WiFi 接続をデフォルトの ''public'' ゾーンに追加することが可能です。 |
||
+ | |||
+ | 接続プロファイルを一覧表示します。 |
||
+ | |||
+ | nmcli connection show |
||
+ | |||
+ | ''myssid'' プロファイルを ''home'' ゾーンに割り当てます。 |
||
+ | |||
+ | $ nmcli connection modify ''myssid'' connection.zone ''home'' |
||
==== デフォルトゾーン==== |
==== デフォルトゾーン==== |
2022年1月18日 (火) 21:20時点における版
関連記事
firewalld は Red Hat によって開発されているファイアウォールデーモンです。デフォルトで nftables を使用します。プロジェクトのホームページより:
- Firewalld は動的に管理されるファイアウォールを提供し、ネットワーク・ファイアウォールゾーンによってネットワーク接続やインターフェイスの信頼レベルを定義します。IPv4 と IPv6 のファイアウォールの設定、イーサネットブリッジ、IP セットをサポートします。実行時と永続的な設定オプションは分離されています。サービスやアプリケーションのインターフェイスを提供しファイアウォールのルールを直接追加することができます。
目次
インストール
使用方法
firewalld.service
を起動・有効化してください。
コンソールユーティリティ firewall-cmd
でファイアウォールのルールを制御できます。
firewalld が稼働中でない場合 firewall-offline-cmd
ユーティリティを使うことで設定できます。firewall-cmd
と構文は似ています。
GUI は firewalld パッケージに含まれている firewall-config
で利用できます。
設定
firewall-cmd
を使うことで実行時の設定を変更できます。
ゾーン
ゾーンは特定のインターフェイスに適用することができるルール集です。
現在のゾーンと割り当てられたインターフェイスを確認するには:
# firewall-cmd --get-active-zones
(ポートやサービスの追加・削除など) 一部のコマンドではゾーンを指定する必要があります。
--zone=zone_name
パラメータを使って名前でゾーンを指定できます。
ゾーンを指定しなかった場合はデフォルトゾーンが使われます。
ゾーンの情報
全てのゾーンとその設定を確認するには:
# firewall-cmd --list-all-zones
あるいは特定のゾーンの情報だけ取得するには:
# firewall-cmd --info-zone=zone_name
インターフェイスのゾーンを変更
# firewall-cmd --zone=zone --change-interface=interface_name
zone
はインターフェイスに割り当てたい新しいゾーンに置き換えてください。
NetworkManager を使ったゾーン管理
NetworkManager は、異なる接続プロファイルを異なるゾーンに割り当てることができます。これにより、例えば自宅の WiFi 接続を home ゾーンに、仕事の WiFi 接続を work ゾーンに、その他全ての WiFi 接続をデフォルトの public ゾーンに追加することが可能です。
接続プロファイルを一覧表示します。
nmcli connection show
myssid プロファイルを home ゾーンに割り当てます。
$ nmcli connection modify myssid connection.zone home
デフォルトゾーン
新しいインターフェイスが接続されるとデフォルトゾーンが適用されます。以下のコマンドでデフォルトゾーンの名前を確認できます:
# firewall-cmd --get-default-zone
以下のコマンドでデフォルトゾーンを変更できます:
# firewall-cmd --set-default-zone=zone
サービス
サービスは特定のデーモンに合わせて作成されたルールです。例えば ssh
サービスは SSH に対応し、ゾーンに割り当てたときにポート 22 が開きます。
利用可能なサービスのリストを確認するには以下のコマンドを実行:
# firewall-cmd --get-services
特定のサービスの情報を確認するには:
# firewall-cmd --info-service service_name
ゾーンからサービスを追加・削除
ゾーンにサービスを追加するには:
# firewall-cmd --zone=zone_name --add-service service_name
サービスを削除するには:
# firewall-cmd --zone=zone_name --remove-service service_name
ポート
指定したゾーンのポートを直接開くことができます:
# firewall-cmd --zone=zone_name --add-port port_num/protocol
protocol
は tcp
または udp
に置き換えてください。
ポートを閉じるには --remove-port
オプションで同じポート番号とプロトコルを指定してください。
ヒントとテクニック
ポートあるいはサービスのタイムアウト
--timeout=value
オプションを使うことでサービスやポートの時間制限を追加することができます。値は何も付けないと秒数になり、m
や h
を後ろに付けることで分や時間になります。例えば SSH サービスを3時間の制約で追加するには:
# firewall-cmd --add-service ssh --timeout=3h
実行時の設定を永続的に変換
一時的な設定を永続化するには (再起動しても設定が消えなくなります):
# firewall-cmd --runtime-to-permanent
サービスの詳細をチェック
デフォルトでサポートされているサービスの設定ファイルは /usr/lib/firewalld/services/
に存在し、ユーザーが作成したサービスファイルは /etc/firewalld/services/
に配置されます。