![如何在 Debian 中使用 OpenVPN 正确(安全)地断开/连接到 VPN?](https://linux22.com/image/117278/%E5%A6%82%E4%BD%95%E5%9C%A8%20Debian%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20OpenVPN%20%E6%AD%A3%E7%A1%AE%EF%BC%88%E5%AE%89%E5%85%A8%EF%BC%89%E5%9C%B0%E6%96%AD%E5%BC%80%2F%E8%BF%9E%E6%8E%A5%E5%88%B0%20VPN%EF%BC%9F.png)
在 Debian 9.1 中使用 KDE 通过 OpenVPN 连接 VPN 的正确、最安全、最方便的方法是什么?
就是它:
sudo openvpn --config config-path
在控制台中运行并保持控制台窗口打开以连接/保持连接- 按 ctrl+c 断开连接
以最安全、最方便的方式,我的意思是有可能让我能够在 OpenVPN 中的 IP 之间切换,无需非 VPN 流量和确保(或允许我确保)我始终使用 OpenVPN 连接到我的 VPN。
答案1
一种安全且简单的方法是使用,iptables
因为它甚至可以在 tun 设备可用之前和之后工作。
openvpn_if=tun0
vpn_only_addresses=(192.168.123.4 10.1.2.3)
for ip in "${vpn_only_addresses[@]}"; do
iptables -A OUTPUT -d "$ip" -o "$openvpn_if" -j ACCEPT
iptables -A OUTPUT -d "$ip" -j DROP
done
也许可以通过高级路由来完成类似的事情。ip rule
即使接口不存在,也许也可以使用输出接口规则。但这比 Netfilter 解决方案更复杂。
答案2
如何安全连接到 openvpn?
来自 openvpn 文档:
通常,安装 OpenVPN 客户端的最简单方法是使用 --config 参数来指定下载的客户端配置文件的位置:
openvpn --config client.ovpn
您可以使用该--daemon
选项来运行 openvpn背景作为一个守护进程根据openvpn 联机帮助页:
--daemon [progname]
所有初始化功能完成后成为守护进程。此选项将导致所有消息和错误输出发送到 syslog 文件(例如 /var/log/messages),但脚本和 ifconfig 命令的输出除外,除非另有重定向,否则这些输出将发送到 /dev/null。系统日志重定向会在命令行上解析 --daemon 时立即发生,即使守护进程点稍后发生。如果存在 --log 选项之一,它将取代系统日志重定向。
openvpn --config client.ovpn --daemon
如何安全地断开openvpn?
根据手册页和官方文档openvpn 接受SIGINIT
并发出允许安全退出的SIGTERM
信号。openvn
SIGINT
,SIGTERM
导致 OpenVPN 正常退出。