Red Hat、Debian / Ubuntu、Windowsでのファイアウォール設定コマンド比較【主要操作例で解説】

みなさん、こんにちは。

ITインフラの管理をしていると、複数のOS環境を扱う機会が増えてきます。よく使うコマンドなのにOSによって文法が違うので頭が混乱するなんてことは、ITインフラ管理者のあるあるです。

とりわけ、よく問題になるのはファイアウォールの設定です。使用しているOSにあわせて毎回調べ直さないとなりません。

そこで、今回は自身の備忘録の意味も含め Red Hat系、Debian / Ubuntu系、Windows という異なるOSでの ファイアウォール設定の違い を、代表的な操作例とともに比較・解説します。

なお、本記事で取り扱うOSは以下の通りです。
Red Hat系やDebian / Ubuntu系は派生ディストリビューションも多いため、本記事で紹介する操作は多くのLinuxディストリビューションでも応用可能 です。

  • Red Hat系(Red Hat Enterprise Linux、Fedora、CentOS、AlmaLinux、Rocky Linux、MIRACLE LINUX など)
  • Debian / Ubuntu系(Debian、Ubuntu、Linux Mint、Bodhi Linux、Raspberry Pi OS、Pop!_OS、Kali Linux など)
  • Windows(Windows 10、11、Windows Server 2016以降のPowerShell対応環境)

それでは、代表的なファイアウォール設定コマンドを横並びで比較していきましょう!

 


 

1. TCP 80番ポート(HTTP)を開放する

 

Webサーバを公開するとき、まずは HTTP 用の 80番ポートを開放する必要があります。

OSコマンド例
Red Hatsudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw allow 80/tcp
Windows (PowerShell)New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow

Red Hat系では firewalld、Debian / Ubuntu系では ufw、Windowsでは PowerShellのNetFirewallモジュール を使います。

 


 

2. サービス(HTTP)を許可する

 

OSによって「サービス名で許可する」という操作も可能です。

OSコマンド例
Red Hatsudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw allow http
Windows (PowerShell)※基本的にポート指定で管理(サービス名では指定しない)

Windowsでは「サービス名」で許可するという概念はなく、ポート番号で指定するのが一般的 です。

 


 

3. TCP 80番ポートを閉じる(ブロックする)

 

「開けたポートを閉じたい」ときの操作です。

OSコマンド例
Red Hatsudo firewall-cmd --permanent --remove-port=80/tcp
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw delete allow 80/tcp
Windows (PowerShell)Remove-NetFirewallRule -DisplayName "Allow HTTP"

Windowsは ルール名で削除 する点に注意しましょう。

 


 

4. ファイアウォールの現在の状態を確認する

 

ルールや許可状態の確認も重要です。

OSコマンド例
Red Hatsudo firewall-cmd --list-all
Debian / Ubuntusudo ufw status verbose
Windows (PowerShell)Get-NetFirewallRule

Windowsではルール名やフィルター条件を指定するとより詳細に確認できます。

Get-NetFirewallRule | where DisplayName -like "*HTTP*"

 


 

5. ファイアウォール自体を有効化/無効化する

 

ファイアウォール機能そのもののON/OFFを切り替える操作です。

OS有効化無効化
Red Hatsudo systemctl enable --now firewalldsudo systemctl disable --now firewalld
Debian / Ubuntusudo ufw enablesudo ufw disable
Windows (PowerShell)Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled TrueSet-NetFirewallProfile -Profile Domain,Private,Public -Enabled False

Windowsは ドメイン・プライベート・パブリック それぞれのプロファイルを指定する必要があります。

 


 

6. 特定のポート範囲を開放する

 

「TCP 10000番から20000番まで」のように、ポート範囲をまとめて開放 したいケースもあります。

OSコマンド例
Red Hatsudo firewall-cmd --permanent --add-port=10000-20000/tcp
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw allow 10000:20000/tcp
Windows (PowerShell)New-NetFirewallRule -DisplayName "Allow Port Range" -Direction Inbound -Protocol TCP -LocalPort 10000-20000 -Action Allow
  • Red Hat系は「ハイフン –」で、Debina / Ubuntu系は「コロン :」で範囲指定
  • Windowsでは -LocalPort に 「ハイフン –」で範囲指定が可能

 


 

7. 特定のIPアドレスを許可/拒否する

 

例えば「192.168.1.100 からの接続だけ許可」「192.168.1.200 からの接続を拒否」のようなIP制御を行いたい場合です。

192.168.1.100 からの接続のみ許可(他は拒否)

OSコマンド例
Red Hatsudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port=80 protocol=tcp accept'
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw allow from 192.168.1.100 to any port 80 proto tcp
Windows (PowerShell)New-NetFirewallRule -DisplayName "Allow HTTP from 192.168.1.100" -Direction Inbound -Protocol TCP -LocalPort 80 -RemoteAddress 192.168.1.100 -Action Allow

 

192.168.1.200 からの接続を拒否

OSコマンド例
Red Hatsudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.200" drop'
sudo firewall-cmd --reload
Debian / Ubuntusudo ufw deny from 192.168.1.200
Windows (PowerShell)New-NetFirewallRule -DisplayName "Block 192.168.1.200" -Direction Inbound -RemoteAddress 192.168.1.200 -Action Block
  • Red Hat系は rich-rule を利用
  • Debian / Ubuntu系は ufw allow/deny from
  • Windowsでは RemoteAddress に対象IPを指定

 

この設定が有効なケース

特定のポート範囲やIPアドレス指定は、次のような用途に便利です。

  • 外部からのSSH管理端末を限定
  • WebアプリのAPI用ポートだけ外部公開
  • 特定の開発者IPだけVPNアクセス許可

より強固なネットワークセキュリティを構築する上で重要なポイントです。

 


 

最後に

 

本記事では、3つの異なるOSでのファイアウォール設定について、代表的な操作 を比較しました。

日々の運用やトラブル対応で、
「このOSだとどう設定するんだっけ?」
と迷ったときの 早見表的に使っていただける内容 になれば嬉しいです。

 

本日も最後までお読みいただきありがとうございました。

それでは、よいネットワーク管理ライフを!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール