blog

システム操作|Fedoraコマンドラインでファイアウォールを弄る

この記事では、firewall-cmd コマンドを使ってファイアウォールの設定を変更する方法を説明します。...

Oct 14, 2025 · 5 min. read
シェア

ネットワーク・ファイアウォールとは、その名の通り、不要なネットワーク接続を遮断するための保護バリアです。外部との接続を確立したり、ネットワークサービスを提供する際によく使用されます。例えば、学校やカフェでノートパソコンを使用する場合、見知らぬ人に自分のパソコンを覗き見されたくないですよね。

すべての Fedora システムにはファイアウォールが組み込まれています。これは Linux カーネルのネットワーキング機能の一部です。この記事では、firewall-cmd コマンドを使用してファイアウォールの設定を変更する方法を説明します。

ネットワークインフラ

この記事では、コンピューター・ネットワークのすべての知識教えるわけではありませんが、それでもネットワークの基本を簡単に説明します。

ネットワーク上のすべてのコンピュータは、0から65535までのポートを持っています。また、各コンピュータには0から65535までのポートがあり、これらのポートはメールアドレスに接続するための接続ポイントと考えることができます。

TCP 、送信するデータが重要でパケットロスが許されず、パケットの順序がずれて到着した場合は正しい順序に組み直す必要がある場合に使用されます。 UDPは、時間的制約のあるサービスに多く使用され、タイムリーさを確保するためにデータの一部を失うことが許される場合があります。

ウェブサーバーなど、システム上で実行されているアプリケーションは、いくつかのポートを予約します。ネットワーク伝送中、ホストは伝送の両端間にリンクを作成し、一方の端に送信元アドレスと送信元ポート、もう一方の端に宛先アドレスと宛先ポートを設定します。

ネットワークファイアウォールは、アドレス、ポート、およびネットワークデータの送信をブロックまたは遮断するその他の基準に基づくルールのセットです。firewall-cmd コマンドを使用すると、ファイアウォールの作業設定を表示または変更できます。

ファイアウォールドメイン

ファイアウォールがオンになっていることを確認するには、firewall-cmdコマンドを使用し、 UDP入力します。

  1. $ sudo firewall-cmd --state
  2. running

firewalldサービスは任意の数のドメインをサポートします。各ドメインは独自の設定と保護ルールを持つことができます。Fedora ワークステーションの外部インターフェースのデフォルトドメインは FedoraWorkstationです。

どのドメインがアクティブかを確認するには、 --get-active-zones オプションを使用します。この例では、有線イーサネットカードwlp2s0と仮想ブリッジNIC virbr0の2つのNICがあります:

  1. $ sudo firewall-cmd --get-active-zones
  2. FedoraWorkstation
  3. interfaces: wlp2s0
  4. libvirt
  5. interfaces: virbr0

デフォルトのドメインを確認したい場合、またはすべてのドメインを照会したい場合:

  1. $ sudo firewall-cmd --get-default-zone
  2. FedoraWorkstation
  3. $ sudo firewall-cmd --get-zones
  4. FedoraServer FedoraWorkstation block dmz drop external home internal libvirt public trusted work

デフォルトドメインでファイアウォールによって解放されるシステムを照会るには、 --サービス一覧 オプションを使用します。次の例は、カスタマイズされたシステムに対するクエリの結果を示しており、結果が一般的なものとは多少異なることがわかります。

  1. $ sudo firewall-cmd --list-services
  2. dhcpv6-client mdns samba-client ssh

このシステムには、外部でオンになっている4つのサービスがあります。各サービスは共通のポートに対応しています。例えば、ssh サービスはポート 22 に対応しています。

現在のドメインでファイアウォールによって開かれている他のポートを見るには、 --list-ports オプションを使います。もちろん、他のドメインでも同じことができます:

  1. $ sudo firewall-cmd --list-ports --zone=FedoraWorkstation
  2. /udp /tcp

ドメイン、ポート、サービスの変更

上記の設定は、あらかじめ設計されたファイアウォールポリシーです。初心者のユーザーがインストールしたアプリケーションが適切にネットワークにアクセスできるようにするためです。もしあなたがそれを念頭においていて、より保護的なポリシーを望むなら、インターフェイスを FedoraServer ドメインに入れて、全てのポートへのアクセスを明示的に無効にすることができます。

  1. $ sudo firewall-cmd --change-interface=<ifname> --zone=FedoraServer
  2. success

この記事では、Fedora コミュニティで議論されているファイアウォールポリシーの作成方法については説明しません。あなたのニーズに合うように設定を変更することができます。

  1. $ sudo firewall-cmd --add-service=http --add-service=https
  2. success

すべてのサービスにデフォルトのポートがあるわけではありませんが、ほとんどのサービスにはあります。完全なリストを見るには $ sudo firewall-cmd --add-service=http --add-service=https オプションを使ってください。

特定のポート番号を指定したい場合は、番号とプロトコルを指定して直接設定できます。次の例では、UDPプロトコルのネットワーク起動サービスをオンにします:

  1. $ sudo firewall-cmd --add-port=67/udp
  2. success

重要: システムの再起動や firewalld サービスの再起動後も設定を有効にしたい場合は、コマンドに --permanent オプションを追加する必要があります。この記事の例は一時的な変更に過ぎず、次にシステムのリブートや firewalld サービスの再起動があると、設定は無効になります。

これらは、firewall-cmd と firewalld サービスの多くの機能のほんの一部に過ぎません。

経由:

Read next