我希望某些应用程序通过 OpenVPN 访问互联网。我在此问题/线程底部的最终答案/评论中找到了一个解决方案: Feed all traffic through OpenVPN for a specific network namespace only
您可以在命名空间内启动 OpenVPN 链接,然后运行要在命名空间内使用该 OpenVPN 链接的每个命令。有关如何执行此操作(不是我的工作)的详细信息:
http://www.naju.se/articles/openvpn-netns.html
我试过了,确实有效;这个想法是提供一个自定义脚本来在特定命名空间而不是全局命名空间内执行 OpenVPN 连接的 up 和 route-up 阶段。我引用了上面的链接,以防将来它下线:
First create an --up script for OpenVPN. This script will create the VPN tunnel interface inside a network namespace called vpn, instead of the default namespace.
$ cat > netns-up << EOF
#!/bin/sh
case $script_type in
up)
ip netns add vpn
ip netns exec vpn ip link set dev lo up
mkdir …
Run Code Online (Sandbox Code Playgroud)