CentOS7.7 Firewalld Error : nf_conntrack

サーバにある機能を追加しようとして、Firewalldを確認したところ、エラーが出ていました。

# firewall-cmd --get-active-zones
FirewallD is not running

「実行されていません」となっています。

# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 土 2020-02-15 15:54:11 JST; 4h 55min ago
     Docs: man:firewalld(1)
  Process: 1525 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 1525 (code=exited, status=0/SUCCESS)

 2月 15 15:54:10 marusv.maruweb.jp.net systemd[1]: Starting firewalld - dynamic firewall daemon...
 2月 15 15:54:11 marusv.maruweb.jp.net systemd[1]: Started firewalld - dynamic firewall daemon.
 2月 15 15:54:11 marusv.maruweb.jp.net firewalld[1525]: WARNING: ipset not usable, disabling ipset usage in firewall.
 2月 15 15:54:11 marusv.maruweb.jp.net firewalld[1525]: ERROR: Failed to load nf_conntrack module: modprobe: ERROR: could not find module by name='nf_conntrack'
                                                         modprobe: ERROR: could not insert 'nf_conntrack': Function not implemented
                                                         modprobe: ERROR: Error running install command for nf_conntrack...
 2月 15 15:54:11 marusv.maruweb.jp.net firewalld[1525]: ERROR: Raising SystemExit in run_server
Hint: Some lines were ellipsized, use -l to show in full.

systemctlコマンドでfirewalldサービスの確認をしました。
4行目:Active欄では、非アクティブで稼働していない
12行目:journalログでは、nf_conntrackモジュールが読み込めずエラーとなっている

systemctlコマンドでサービスの起動を試みましたが、起動できませんでした。
色々と検索した結果、下記2点が判明しました。

1 CentOS7.7にアップデートしてからのバグ
2 Firewalldをダウングレードすることで回避できる

ダウングレードすることとしました。
その前に現状バージョンの確認です。

# firewall-cmd --version
0.6.3

yumでダウングレードするにあたり、特定のバージョンを指定しない場合は、ひとつ前のバージョンとなるようなので、実行してみます。

# yum downgrade firewalld firewalld-filesystem
読み込んだプラグイン:langpacks, versionlock
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ firewalld.noarch 0:0.6.3-2.el7_7.2 を ダウングレード
--> 依存性の処理をしています: python-firewall = 0.6.3-2.el7_7.2 のパッケージ: firewalld-0.6.3-2.el7_7.2.noarch
---> パッケージ firewalld.noarch 0:0.6.3-2.el7_7.3 を 削除
---> パッケージ firewalld-filesystem.noarch 0:0.6.3-2.el7_7.2 を ダウングレード
---> パッケージ firewalld-filesystem.noarch 0:0.6.3-2.el7_7.3 を 削除
--> 依存性解決を終了しました。
エラー: パッケージ: firewalld-0.6.3-2.el7_7.2.noarch (updates)
             要求: python-firewall = 0.6.3-2.el7_7.2
            インストール: python-firewall-0.6.3-2.el7_7.3.noarch (@updates)
                python-firewall = 0.6.3-2.el7_7.3
            利用可能: python-firewall-0.6.3-2.el7.noarch (base)
                python-firewall = 0.6.3-2.el7
            利用可能: python-firewall-0.6.3-2.el7_7.1.noarch (updates)
                python-firewall = 0.6.3-2.el7_7.1
            利用可能: python-firewall-0.6.3-2.el7_7.2.noarch (updates)
                python-firewall = 0.6.3-2.el7_7.2
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest

依存性の処理でpython-firewallが必要で、要求に対して利用可能が3つあり、依存性解決ができなかったようです。

必要なパッケージは、次の3つであることが判明したので、再度実行します。
firewalld
firewalld-filesystem
python-firewall

# yum downgrade firewalld firewalld-filesystem python-firewall
読み込んだプラグイン:langpacks, versionlock
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ firewalld.noarch 0:0.6.3-2.el7_7.2 を ダウングレード
---> パッケージ firewalld.noarch 0:0.6.3-2.el7_7.3 を 削除
---> パッケージ firewalld-filesystem.noarch 0:0.6.3-2.el7_7.2 を ダウングレード
---> パッケージ firewalld-filesystem.noarch 0:0.6.3-2.el7_7.3 を 削除
---> パッケージ python-firewall.noarch 0:0.6.3-2.el7_7.2 を ダウングレード
---> パッケージ python-firewall.noarch 0:0.6.3-2.el7_7.3 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================================================
 Package                             アーキテクチャー      バージョン                     リポジトリー            容量
=======================================================================================================================
ダウングレード中:
 firewalld                           noarch                0.6.3-2.el7_7.2                updates                441 k
 firewalld-filesystem                noarch                0.6.3-2.el7_7.2                updates                 50 k
 python-firewall                     noarch                0.6.3-2.el7_7.2                updates                352 k

トランザクションの要約
=======================================================================================================================
ダウングレード  3 パッケージ

総ダウンロード容量: 844 k
Is this ok [y/d/N]: y
Downloading packages:
(1/3): firewalld-filesystem-0.6.3-2.el7_7.2.noarch.rpm                                          |  50 kB  00:00:00
(2/3): firewalld-0.6.3-2.el7_7.2.noarch.rpm                                                     | 441 kB  00:00:00
(3/3): python-firewall-0.6.3-2.el7_7.2.noarch.rpm                                               | 352 kB  00:00:00
-----------------------------------------------------------------------------------------------------------------------
合計                                                                                   2.9 MB/s | 844 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : firewalld-filesystem-0.6.3-2.el7_7.2.noarch                                            1/6
  インストール中          : python-firewall-0.6.3-2.el7_7.2.noarch                                                 2/6
  インストール中          : firewalld-0.6.3-2.el7_7.2.noarch                                                       3/6
  整理中                  : firewalld-0.6.3-2.el7_7.3.noarch                                                       4/6
  整理中                  : firewalld-filesystem-0.6.3-2.el7_7.3.noarch                                            5/6
  整理中                  : python-firewall-0.6.3-2.el7_7.3.noarch                                                 6/6
  検証中                  : firewalld-0.6.3-2.el7_7.2.noarch                                                       1/6
  検証中                  : python-firewall-0.6.3-2.el7_7.2.noarch                                                 2/6
  検証中                  : firewalld-filesystem-0.6.3-2.el7_7.2.noarch                                            3/6
  検証中                  : python-firewall-0.6.3-2.el7_7.3.noarch                                                 4/6
  検証中                  : firewalld-filesystem-0.6.3-2.el7_7.3.noarch                                            5/6
  検証中                  : firewalld-0.6.3-2.el7_7.3.noarch                                                       6/6

削除しました:
  firewalld.noarch 0:0.6.3-2.el7_7.3                      firewalld-filesystem.noarch 0:0.6.3-2.el7_7.3
  python-firewall.noarch 0:0.6.3-2.el7_7.3

インストール:
  firewalld.noarch 0:0.6.3-2.el7_7.2                      firewalld-filesystem.noarch 0:0.6.3-2.el7_7.2
  python-firewall.noarch 0:0.6.3-2.el7_7.2

完了しました!

一つ前のリリース番号にダウングレードされました。
再度、systemctlでfirewalldサービスを起動してみました。が、同様に起動しませんでした。

更にダウングレードしてみます。
最終的に、バージョン0.6.3のベース版までダウングレードしてみましたが、改善されませんでした。
yumでバージョン指定なしでのダウングレードは、これ以上できないようですので必要なパッケージをサイトからダウンロードして実行します。

ダウングレードパッケージのダウンロード
http://vault.centos.org/centos/7.6.1810/os/x86_64/Packages/

# wget http://vault.centos.org/centos/7.6.1810/os/x86_64/Packages/firewalld-0.5.3-5.el7.noarch.rpm
# wget http://vault.centos.org/centos/7.6.1810/os/x86_64/Packages/firewalld-filesystem-0.5.3-5.el7.noarch.rpm
# wget http://vault.centos.org/centos/7.6.1810/os/x86_64/Packages/python-firewall-0.5.3-5.el7.noarch.rpm

続けて、ダウングレードの実行です。

# yum downgrade firewalld-0.5.3-5.el7.noarch.rpm firewalld-filesystem-0.5.3-5.el7.noarch.rpm python-firewall-0.5.3-5.el7.noarch.rpm
読み込んだプラグイン:langpacks, versionlock
firewalld-0.5.3-5.el7.noarch.rpm を調べています: firewalld-0.5.3-5.el7.noarch
firewalld-filesystem-0.5.3-5.el7.noarch.rpm を調べています: firewalld-filesystem-0.5.3-5.el7.noarch
python-firewall-0.5.3-5.el7.noarch.rpm を調べています: python-firewall-0.5.3-5.el7.noarch
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ firewalld.noarch 0:0.5.3-5.el7 を ダウングレード
---> パッケージ firewalld.noarch 0:0.6.3-2.el7 を 削除
---> パッケージ firewalld-filesystem.noarch 0:0.5.3-5.el7 を ダウングレード
---> パッケージ firewalld-filesystem.noarch 0:0.6.3-2.el7 を 削除
---> パッケージ python-firewall.noarch 0:0.5.3-5.el7 を ダウングレード
---> パッケージ python-firewall.noarch 0:0.6.3-2.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=======================================================================================================================
 Package                     アーキテクチャー
                                           バージョン            リポジトリー                                     容量
=======================================================================================================================
ダウングレード中:
 firewalld                   noarch        0.5.3-5.el7           /firewalld-0.5.3-5.el7.noarch                   1.8 M
 firewalld-filesystem        noarch        0.5.3-5.el7           /firewalld-filesystem-0.5.3-5.el7.noarch        239
 python-firewall             noarch        0.5.3-5.el7           /python-firewall-0.5.3-5.el7.noarch             1.8 M

トランザクションの要約
=======================================================================================================================
ダウングレード  3 パッケージ

合計容量: 3.6 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python-firewall-0.5.3-5.el7.noarch                                                     1/6
  インストール中          : firewalld-filesystem-0.5.3-5.el7.noarch                                                2/6
  インストール中          : firewalld-0.5.3-5.el7.noarch                                                           3/6
  整理中                  : firewalld-0.6.3-2.el7.noarch                                                           4/6
  整理中                  : firewalld-filesystem-0.6.3-2.el7.noarch                                                5/6
  整理中                  : python-firewall-0.6.3-2.el7.noarch                                                     6/6
  検証中                  : firewalld-filesystem-0.5.3-5.el7.noarch                                                1/6
  検証中                  : firewalld-0.5.3-5.el7.noarch                                                           2/6
  検証中                  : python-firewall-0.5.3-5.el7.noarch                                                     3/6
  検証中                  : firewalld-0.6.3-2.el7.noarch                                                           4/6
  検証中                  : python-firewall-0.6.3-2.el7.noarch                                                     5/6
  検証中                  : firewalld-filesystem-0.6.3-2.el7.noarch                                                6/6

削除しました:
  firewalld.noarch 0:0.6.3-2.el7   firewalld-filesystem.noarch 0:0.6.3-2.el7   python-firewall.noarch 0:0.6.3-2.el7

インストール:
  firewalld.noarch 0:0.5.3-5.el7   firewalld-filesystem.noarch 0:0.5.3-5.el7   python-firewall.noarch 0:0.5.3-5.el7

完了しました!

特定のバージョンを指定をしてダウングレードの実行をしました。
サービスを起動してみます。

# systemctl restart firewalld.service
# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 土 2020-02-15 22:14:18 JST; 8s ago
     Docs: man:firewalld(1)
 Main PID: 19694 (firewalld)
   CGroup: /system.slice/firewalld.service
           mq19694 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

1行目:サービスの再起動
2行目:状態の確認
5行目:Active欄で、active(running)と稼働している

# firewall-cmd --state
running

firewall-cmdで確認しても稼働中となっていました。

最後に折角ダウングレードしたのに、自動更新されては困るのでしないように処置をしました。

# vi /etc/yum.conf
[main]

 ~ 中略 ~

#一時的にfirewalldのアップデートを停止
exclude=firewalld*,python-firewall

yum.confの[main]セクションに自動更新しないようにパッケージの指定をします。
しばらく、様子を見てバージョンを戻してみようと思います。

参考サイト:purpledice.jpCentOS7.7 Failed to load nf_conntrack module(Firewalld)

LINEで送る
Pocket

コメントは受け付けていません。