サブスクリプションサイクル - FirewallDとDBusException

サブスクリプションサイクル - FirewallDとDBusException

[体系]

Virgin DigitalOcean Droplet Ubuntu 18.04.2 LTS(GNU/Linux 4.15.0-52-generic x86_64)には、すべての最新のVirtualminアップデートのみが含まれています。

私はこれをするようにどのように提案しますか?

[問題] 再起動後、以下のように D-Bus と FirewallD が 30% の時間失敗します。

Jun 20 09:28:35 ns1 networkd-dispatcher[679]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory 
Jun 20 09:28:35 ns1 systemd[1]: networkd-dispatcher.service: Main process exited, code=exited, status=1/FAILURE Jun 20 09:28:35 ns1 systemd[1]: networkd-dispatcher.service: Failed with result 'exit-code'. 
Jun 20 09:28:35 ns1 systemd[1]: Failed to start Dispatcher daemon for systemd-networkd.

成功した時と比べてみてください。

Jun 20 09:30:16 ns1 networkd-dispatcher[678]: No valid path found for iwconfig
Jun 20 09:30:16 ns1 networkd-dispatcher[678]: No valid path found for iw 
Jun 20 09:30:16 ns1 networkd-dispatcher[678]: WARNING: systemd-networkd is not running, output will be incomplete. 
Jun 20 09:30:16 ns1 systemd[1]: Started Dispatcher daemon for systemd-networkd. 
Jun 20 09:30:16 ns1 systemd[1]: Started firewalld - dynamic firewall daemon.

[背景] 「Networkd-dispatcherはsystemd-networkd接続状態を変更するためのディスパッチャデーモンです...デーモンはdbusを介してsystemd-networkdからの信号を受け取ります。」

[理論] したがって、networkd-dispatcher.serviceがサービスシグナルに依存するDBusは起動しません... "systemd-networkdのディスパッチャデーモンを起動できません"と言うと、ファイアウォールはガタガタになります。別のことがあるかもしれません。

[パターン] これらのエラーが発生したときにパターンが見つかりました。

[FirewallD reports:] Failed to list zones : Error: DBUS_ERROR: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Jun 21 05:54:11 ns1 kernel: [ 8.398419] systemd[1]: firewalld.service: Found ordering cycle on dbus.socket/start
Jun 21 05:54:11 ns1 kernel: [ 8.404282] systemd[1]: firewalld.service: Found dependency on sysinit.target/start
Jun 21 05:54:11 ns1 kernel: [ 8.424332] systemd[1]: firewalld.service: Found dependency on cloud-init.service/start
Jun 21 05:54:11 ns1 kernel: [ 8.438320] systemd[1]: firewalld.service: Found dependency on systemd-networkd-wait-online.service/start
Jun 21 05:54:11 ns1 kernel: [ 8.497168] systemd[1]: firewalld.service: Found dependency on systemd-networkd.service/start
Jun 21 05:54:11 ns1 kernel: [ 8.505811] systemd[1]: firewalld.service: Found dependency on network-pre.target/start

[FirewallD reports:] Failed to list zones : FirewallD is not running
Jun 21 05:44:39 ns1 kernel: [ 7.396133] systemd[1]: network-pre.target: Found ordering cycle on firewalld.service/stop
Jun 21 05:44:39 ns1 kernel: [ 7.408784] systemd[1]: network-pre.target: Found dependency on basic.target/start
Jun 21 05:44:39 ns1 kernel: [ 7.418770] systemd[1]: network-pre.target: Found dependency on sockets.target/start
Jun 21 05:44:39 ns1 kernel: [ 7.455484] systemd[1]: network-pre.target: Found dependency on lxd.socket/start
Jun 21 05:44:39 ns1 kernel: [ 7.470305] systemd[1]: network-pre.target: Found dependency on sysinit.target/start
Jun 21 05:44:39 ns1 kernel: [ 7.476614] systemd[1]: network-pre.target: Found dependency on cloud-init.service/start

答え1

ファイアウォールを無効にしてブロックした後、IPTablesに戻りました。その後は何の問題もありませんでした。

コメントでIPTablesを使用するには、fall2banを変更する必要がありました。

# banaction=firewallcmd-ipset

in /etc/fail2ban/jail.d/00-firewalld.conf- ファイルを削除しません。

その後、シャットダウン時にIPTableを保存および復元し、次のように再起動する新しいサービスを設定しました。

Ubuntu 18.04を終了/再起動したときにコマンドを実行する

そうしなかったのは、iptablesを一時ファイルとして使用してiptablesを編集するiptables-persistentWebminとIPTablesを統合したかったからです。/etc/webmin/firewall/iptables.save/etc/webmin/firewall6/ip6tables.save

カスタムサービスを使用すると、webminを使用してiptablesを編集して適用でき、シャットダウン/再起動時にiptablesを保存および復元できます。

最後に、f2bが再起動時に再度追加されたため、Fail2banチェーンとルールがすべてクリアされるようにサービスに修正を追加する必要がありました。これを行うには、ここで私の解決策に従うことができます。

REGEX:iptablesでいくつかの関連チェーンを更新する

関連情報