Systemd

Debian linux systemd 關閉,讓shorewall服務等待fail2ban服務

  • July 11, 2019

為防火牆和fail2ban 執行帶有shorewall 的Debian 不穩定。在 fail2ban 日誌中啟動時出現“shorewall not running 錯誤”,但已修復

After=network.target

在 /lib/systemd/system/fail2ban.service 中。但是,我仍然在關機或重新啟動時收到這些錯誤。我如何告訴shorewall 等到fail2ban 完成後再關機?

我為這個問題尋找了很長一段時間的答案。@Munir(在第一個答案的評論中)幾乎有它。為了確保編輯能夠承受軟體包升級,不要編輯 /lib/systemd/system/fail2ban.service,而是使用 systemd 的覆蓋機制。例如,創建一個文件 /etc/systemd/system/fail2ban.service.d/override.conf。在那個文件中,把

[Unit]
Requires=shorewall.service
After=shorewall.service

這會導致將shorewall.service 添加到Requires 和After(除了可能在/lib/systemd/system/fail2ban.service 中指定的內容),並且在升級fail2ban 的情況下不會被覆蓋。

就我而言,我已經設置了一個私有的 reprepro 儲存庫,所以我創建了一個插入此文件的包(並且還在 /etc/fail2ban/jail.d/local.conf 中添加了我的標準 fail2ban 配置)並具有包依賴項在fail2ban和shorewall上。呼叫包 f2b-shorewall。為了在伺服器上進行此操作,我所要做的就是安裝 f2b-shorewall,它會引入 fail2ban 和shorewall,我的標準fail2ban jail 配置已經存在,只需要配置shorewall(通常是無論如何,每個伺服器都不同)。

引用自:https://unix.stackexchange.com/questions/330153