我有斯特朗斯旺运行正常,我需要通过其域名阻止 VPN 用户访问一些不良网站,我尝试了很多方法,但都没有成功,因为将流量从 vpn 重定向到像 squid 这样的代理服务器,但我发现转发到 squid 的流量是通过它的网站 IP 而不是域名完成的,所以这种技术没有成功。
或许这不是斯特朗斯旺业务,但任何想法都会受到欢迎。
提前致谢
答案1
我解决这个问题的方法是使用透明代理调整 strongswan VPN 出口节点:
https://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
但是,您要么需要允许 https 绕过代理,要么设置 SSL 拦截(这非常困难并且需要访问您的客户端电脑)。
解决问题的另一种方法是引入您自己的 DNS,它将把您的用户指向您自己的黑名单域名的 IP 地址……这当然意味着您正在运行 dhcp,而且没有人足够聪明到使用自定义 DNS..或 HTTPS 上的 DNS
答案2
这与 VPN 无关,与代理软件有关。
你正在寻找的是透明的拦截代理。除非你可以将新的 CA 证书推送到你的客户端机器,否则你最有可能寻找的是 Squid 的窥视并拼接模式检查 TLS 连接的 ClientHello。
请注意,这并不完美,因为域名前端将绕过它,因此将使用另一个未列入黑名单的代理,但这是在这些限制下可以做的最好的事情。