Ubuntu
測試 UFW 防火牆更改是否會阻止我重新連接
我想使用 Ansible 在許多遠端 Ubuntu 18.04 機器上管理 UFW 防火牆規則。如果防火牆規則的更改阻止我通過 SSH 重新連接到機器,這將很難修復(趕緊去數據中心,一個一個輸入複雜的 root 密碼,手動編輯防火牆配置)。有沒有辦法測試防火牆規則更改不會阻止我在應用更改之前重新連接?
或者,如果應用了防火牆規則並且我被鎖定了,有沒有辦法自動恢復它們?(我可以自己備份並設置一個 cron 作業來恢復它,然後再次連接並刪除該 cron 作業,但也許這樣的東西已經存在?)
未內置在 ufw 模組中。您所做的更改將在下次重新啟動或防火牆重新載入時強制執行。
您可以做的是重新載入防火牆,然後測試與 SSH 埠的新連接。如果失敗,請通過仍然打開的持久連接重置 ufw。
我有一個無聊的實現,稱為 ansible -role-ufw。特別注意使用
wait_for
, 因為wait_for_connection
將使用持久連接而不檢測故障。請注意,這只有一招。當 SSH 損壞時,您仍然需要遠端控制台訪問。