Networking
Linux 上用於遠端網路干預的死人開關
當我要更改遠端伺服器的網路配置時,我正在考慮一些安全機制來保護我不會意外失去對伺服器的控制。
我使用的 0 級保護是計劃的系統重啟:
# at now+x minutes > reboot > ctrl+D
其中 x 是重啟前的延遲。
雖然這對於非常簡單的任務(比如玩 iptables)非常有效,但這種方法至少有兩個缺點:
- 它不是很被動,例如,如果自動遠端 ssh 命令失敗在 x 秒內不再起作用,則應該自動檢測到連接問題。
- 如果需要修改一些配置文件然後重新啟動以測試更改,這顯然是行不通的。
你們在為第二點使用一些工具嗎?如果我無法在重啟後 X 分鐘加入伺服器,我希望能夠將系統配置恢復到以前已知的穩定狀態。
謝謝!
編輯:
- 該伺服器是遠端 Linux 伺服器,具有類似 Debian 或類似 RHEL 的發行版。
- 我只能訪問防火牆後面的這個特定伺服器。所有埠都被過濾,除了埠 22 (ssh)。所以沒有 KVM 切換器,沒有 iDRAC 等。
- 如果發生嚴重故障,我可以在這台機器上獲得本地支持,但這需要太多時間:開車需要三個小時。而且我更願意將這段時間花在伺服器故障上或開發自己的工具以避免去那裡。
- 我的實際計劃:開發一些基於 mercurial 或 git 的醜陋工具,並在 cron 中呼叫“hg revert;reboot”。我只是想知道是否已經存在一些經過良好測試的工具。
缺少替代連接方法,例如 ewwhite 建議的方法,我認為您的方法很好。這很簡單,你可以給自己足夠的時間。
注意 - 我認為您不需要重新啟動伺服器來驗證您的更改 - 如果絕對必要,請重新啟動相應的服務。無需重新啟動即可“鎖定”更改 - 這只是可能實現此目的的一種選擇。
我要補充一點,您可能不應該直接在生產系統上試驗更改。使用計劃的重新啟動作為預防措施,但只有在應用更改時才能確定會起作用。當您的更改生效時取消計劃的重新啟動。