OpenVPN 客戶端維護
disable_openvpn_client_dns.sh 適用於既有 CentOS 7 風格 OpenVPN 用戶端,希望保留隧道但停用 DNS 鉤子的情況。腳本會先備份目標設定,再註解符合條件的鉤子。使用 --set-dns 時,會依主機環境修改作用中的 NetworkManager 連線設定或覆寫 /etc/resolv.conf;腳本不提供自動回復。
核對已下載檔案 與本頁面建置時內建的確切位元組比較。檔案僅在目前分頁處理,此工具不上傳、不持久儲存檔案。上限2 MiB。
預期 SHA-256 72aa960429bb6bc1ca576a42de7f9441969d999838972f30828b9bff120cd2ac
內建檔案位元組數: 5339
儲存校驗檔案 將腳本與校驗檔案儲存在同一目錄。Linux 安裝 GNU Coreutils 後可用下方命令僅檢查位元組,不執行腳本;使用此命令時需保留原檔名。
複製校驗命令 sha256sum --check './disable_openvpn_client_dns.sh.sha256' 尚未比較。
所選檔案 SHA-256
校驗值與腳本來自同一網站,不是獨立簽章。一致不證明安全、上游相依項目真實可信或適合本機;可變遠端相依項目需單獨審閱。
查看驗證與限制
安全提示
停用鉤子後可能無法解析內部網域名稱。 保留時間戳設定備份,回復需手動完成。 --set-dns 依管理狀態更改 NetworkManager 或覆寫 resolv.conf。 相容範圍與限制 依 CentOS 7 的 OpenVPN 用戶端服務慣例編寫;需要 root、systemctl 和既有用戶端設定。預設目標是 /etc/openvpn/client/client.conf 與 openvpn-client@client;可用 --config-dir、--config-name 指定其他目標。 沒有 dry-run。腳本會建立含時間戳的設定副本,但不會自動回復。使用 --set-dns 時,腳本可能修改作用中的 NetworkManager 連線設定,或截斷並重寫 /etc/resolv.conf。 腳本不會驗證 DNS 位址格式。直接寫入 resolv.conf 可能與 NetworkManager 或其他解析服務衝突。 受影響的檔案、服務與資料 註解目標設定中符合條件的 script-security 2、up /etc/openvpn/update-resolv-conf 與 down /etc/openvpn/update-resolv-conf 行。 若 systemctl 可辨識目標服務,就會嘗試重新啟動;重新啟動命令失敗會被忽略,之後再檢查服務是否為 active。 NetworkManager 執行中、nmcli 可用,且作用中的連線符合預設路由網卡時,會將該連線的 DNS 重設為 DHCP 或 --set-dns 值;否則 --set-dns 會覆寫 /etc/resolv.conf。不帶 --set-dns 時不會修改該檔案。 唯讀核驗 執行前檢查目標設定與 DNS 管理方式:`sudo grep -nE "^(#?script-security 2|#?up /etc/openvpn/update-resolv-conf|#?down /etc/openvpn/update-resolv-conf)" /etc/openvpn/client/client.conf`、`systemctl status openvpn-client@client`、`readlink -f /etc/resolv.conf`。 經核准的維護操作後,檢查 `systemctl status openvpn-client@client`、`nmcli connection show --active` 與 `cat /etc/resolv.conf`;分別測試所需的內部與公開網域名稱,並審閱產生的 .bak 和 NetworkManager DNS 設定。 失敗後的下一步 若 DNS 或隧道異常,保留設定備份,檢查 `sudo journalctl -u openvpn-client@client -n 100 --no-pager` 與 `nmcli connection show`。必要時手動還原設定鉤子並重新啟動服務。先確認由哪個解析服務管理 resolv.conf,再透過該管理器復原;不要盲目覆寫受管理檔案或符號連結。
先下載、審閱並核對版本,再決定是否執行。雜湊只能識別這一版位元組,不能證明安全。pipe 命令會立即執行遠端內容;上游依賴也可能變動。