【Firewalld講座 番外編】プロはここを見る!現場でハマらないための補足テクニック&全12回リンク集

「知っている」を「使いこなせる」へ

こんにちは!「リナックス先生」です。
全12回のFirewalld講座、完走おめでとうございます!

これまでの連載で、ポート開放からルーター化まで、一通りの操作はマスターできたはずです。
しかし、実際のサーバー運用の現場では、「教科書通りにやったのに動かない」「再起動したら設定が先祖返りした」という怪現象に遭遇することがあります。

今回は番外編として、本編では語りきれなかった「Linuxのネットワーク機能との連携」「現場レベルの豆知識」を補足します。
また、記事の後半には「全12回の目次リンク」を用意しました。ブックマークして辞書代わりに使ってくださいね。

コウ君

先生、実はこの前、再起動したらゾーンの設定が勝手に戻っちゃったことがあって…。
Firewalldの設定ファイルは合ってるはずなのに、なんでですか?

リナックス先生

それはね、「NetworkManager」という別の管理ツールがイタズラしている可能性が高いわ。
Firewalldだけでなく、OS全体のネットワーク設定との関係を知っておくことが、脱初心者のカギよ!

1. 【重要補足】NetworkManagerとの競合に注意

第3回「ゾーン管理編」で、インターフェースのゾーン変更を行いました。
しかし、AlmaLinux 9(RHEL 9系)では、インターフェースの管理は **NetworkManager(nmcli)** が主導権を握っています。

現象:ゾーン設定が固定されない

firewall-cmd でゾーンを変更しても、OSを再起動すると元(publicなど)に戻ってしまう場合、NetworkManager側の設定ファイル(/etc/NetworkManager/system-connections/ 内)にゾーン設定が書き込まれていない可能性があります。

解決策:nmcli側でゾーンを指定する

確実にゾーンを固定したい場合、Firewalldコマンドではなく、以下のコマンドでネットワーク設定自体を書き換えるのが最も確実です。

# eth0 を home ゾーンに完全固定する
sudo nmcli connection modify eth0 connection.zone home
sudo nmcli connection up eth0

これにより、ネットワークインターフェースが立ち上がる瞬間に、NetworkManagerがFirewalldに対して「このIFはhomeゾーンに入れてくれ」と指示を出すようになります。
「設定が消える!」と悩んだら、このコマンドを思い出してください。

2. 【重要補足】IPv6の扱いについて

講座の中では主にIPv4(192.168...)を扱ってきましたが、FirewalldはデフォルトでIPv6にも同時に適用されます。

サービス許可の挙動

以下のコマンドを実行したとします。

sudo firewall-cmd --add-service=http

これは、「IPv4の80番」と「IPv6の80番」の両方を開放します。
Firewalldの良いところは、ここを意識しなくても勝手に両対応してくれる点です。

リッチルールでの注意点

ただし、第10回の「リッチルール」だけは注意が必要です。
family="ipv4" と指定した場合、当然ながらIPv6の通信は制御されません。

完全にブロックしたい場合は、IPv6用のルールも書く必要があります。

# IPv4をブロック
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="1.2.3.4" drop'

# IPv6もブロック(必要なら)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source address="2001:db8::1" drop'

3. 【便利コマンド】逆引きリファレンス

「あれ、あのコマンドなんだっけ?」となった時のための、頻出コマンド集です。

基本操作

やりたいこと コマンド
状態確認 firewall-cmd --state
全設定を表示 firewall-cmd --list-all
設定反映 firewall-cmd --reload

設定変更(必ず –permanent をつける!)

やりたいこと コマンド
サービスの許可 firewall-cmd --permanent --add-service=http
ポートの許可 firewall-cmd --permanent --add-port=8080/tcp
許可の取り消し --add の部分を --remove に変える
特定のIPを許可 firewall-cmd --permanent --zone=trusted --add-source=1.2.3.4

調査・トラブル対応

やりたいこと コマンド
定義済みサービス一覧 firewall-cmd --get-services
サービスのポート確認 firewall-cmd --info-service=ssh
パニックモードON firewall-cmd --panic-on
パニックモードOFF firewall-cmd --panic-off

4. 全12回 講座インデックス

必要な情報にすぐアクセスできるよう、全記事のリンクをまとめました。

【入門編:Firewalldの仕組み】

【実践編:主要サーバーの構築】

【上級編:プロの運用技術】

最後に:サーバーを守るのは「あなた」です

Firewalldは非常に強力なツールですが、あくまで「言われたことしかやらない」プログラムに過ぎません。
「どの通信を通して、どの通信を止めるか」を決めるのは、エンジニアであるあなた自身です。

この講座で学んだ知識があれば、どんなサーバー構築の依頼が来ても、自信を持ってセキュリティ設計ができるはずです。
エラーが出ても焦らず、ログを見て、コマンドを確認してください。その繰り返しが、あなたを本物のエンジニアへと成長させます。

皆さんのLinuxライフが、安全で楽しいものになりますように!
それでは、また別の記事でお会いしましょう。

リナックス先生

これにてFirewalld集中講座、完結です!
コウ君も皆さんも、本当によく頑張りました。
さあ、次の技術への扉を開けに行きましょう!

▼セキュリティ技術を磨けるVPS

安全な環境でコマンドを試すには、何度でも初期化できるVPSが最適です。AlmaLinux 9が使えて、学習コストも抑えられるおすすめVPSはこちら。

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント