我有一台运行 Raspbian Buster 的 Raspberry Pi 设备,我想通过 openvpn vpn 连接运行一些应用程序,但不是整个系统。所以我想在操作系统中创建一个名为“vpn-user”的用户,然后以某种方式将 openvpn 连接的使用限制为仅通过“vpn-user”运行的内容。通过任何其他用户帐户运行的任何应用程序都应直接连接到互联网。
那么有没有办法限制 openvpn ovpn 连接配置文件仅适用于特定用户?
对我来说,这比仅允许一个特定应用程序使用 VPN 访问更有意义,因为我有多个应用程序需要使用 VPN 访问,并且将来可能会添加更多应用程序。通过指定一个用户帐户来访问 VPN,我只需告诉相关应用程序通过该用户帐户运行,这样它们就可以立即获得 VPN 访问权限。
答案1
告诉 OpenVPN 不要添加任何路由:
route-nopull
建立连接后,手动(或使用脚本up
)将相同的路由添加到不同的路由表:
ip -4 route add default dev $dev table 3
ip -6 route add default dev $dev table 3
在同一个脚本中,还添加一个路由策略规则来为您想要的用户 ID 选择此表:
ip -4 rule add pref 500 uidrange 1003-1003 lookup 3
ip -6 rule add pref 500 uidrange 1003-1003 lookup 3