Command-Line

如何確保 OpenVPN 已連接?

  • July 16, 2019

我的 VPN 連接需要某種“保護”。如果連接斷開,機器甚至不應該連接到網際網路。(我可以通過其他方式到達機器。)

有可能嗎?

如果我沒記錯的話,Windows 有一些“保護措施”,但我從未聽說過 Linux 有這樣的解決方案。更不用說cli。

您可以down在客戶端配置中使用該指令在連接斷開時觸發自定義腳本。在腳本中,您可以做幾件事來限制公共網路連接。這是我的想法:

  • 設置一些只允許連接到 VPN 伺服器的 iptables,所有其他連接都被丟棄。當然,當客戶端重新啟動時,不要忘記刪除此限制
  • 修改 resolv.conf 文件以限製或關閉名稱解析
  • 合併自定義路由表

您可以為此使用防火牆。預設情況下禁用所有傳入和傳出流量。允許 openvpn 網路介面上的傳出流量。允許從所有介面訪問您的 vpn 伺服器(以便您可以連接到 vpn)。

如果您只能使用主機名訪問 vpn 伺服器,則必須使這些規則更加寬鬆。允許傳出埠 53 用於名稱解析和傳出 vpn 埠。

我將把配置命令用於ufw(簡單的防火牆)。這些命令基於askubuntu “UFW for OpenVPN” answer

# Adapt this value to your config!
VPN_ADDRESS=...

ufw --force reset

ufw default deny incoming
ufw default deny outgoing

ufw allow out on tun0
ufw allow out to $VPN_ADDRESS

ufw enable

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