我注意到我看到的一个 DNS 代理服务使用 openvpn 和隧道,据说只有 DNS 流量通过 VPN,它掩盖了 VPN 地理位置的用户,并允许用户系统将其初始连接用于所有其他流量。
我可以看到这对于我正在使用 VPN 的项目非常有用,我希望通过隧道路由的流量将是专门针对我们拥有的某些 Intranet 站点的 dns。
我试过思考他们的设置是如何通过 openvpn 工作的,我似乎无法找到有关 openvpn 源/目标过滤的信息。我发现的是 openvpn 管理员过滤客户端访问流量的示例,以便一个 openvpn 客户端可以与另一个 openvpn 客户端通信,这不是我想要的。
从我能想到的实现这一点的唯一方法是,如果 openvpn 为管理员提供过滤选项,管理员可以将其放置在排除 IP 过滤器列表中。例如,如果用户通过 DNS 查询 google.ca,则 openvpn IP 排除过滤器将看到 google.ca(我知道 openvpn 仅达到第 3 层,因此对 google 的请求将只是 google 的 IP,而不是在排除列表中)IP 不是通过隧道进行流量的可接受 IP,但如果用户想要与 myIntranetServer.com 交谈,则 vpn 知道允许流量通过 VPN。
当 openvpn 服务器由于 google 的 IP 不是允许通过 VPN 传输的 IP 列表中的 IP 而拒绝通过 google.ca IP 流量时,它会将通知发送回 openvpn 客户端,以便客户端操作系统生成 DNS查询而不是 openvpn 的 DNS 路由。
由于我不熟悉 openvpn 提供的所有选项并且似乎无法找到此类设置的明确信息,你们如何看待该服务是如何做到这一点的?
我发现了一个涉及该主题的示例,但我不熟悉如何指定流量: OpenVPN - 客户端流量并未完全通过 VPN 路由
RCG*_*RCG 27
从不同角度对此进行研究,我发现使用 openvpn 路由可以传输特定内容。
我发现可以使用以下类型的设置:
# redirect all default traffic via the VPN
redirect-gateway def1
# redirect the Intranet network 192.168.1/24 via the VPN
route 192.168.1.0 255.255.255.0
# redirect another network to NOT go via the VPN
route 10.10.0.0 255.255.255.0 net_gateway
# redirect a host using a domainname to NOT go via the VPN
route www.google.ca 255.255.255.255 net_gateway
Run Code Online (Sandbox Code Playgroud)
但是使用最后一个配置变量:
# redirect a host using a domainname to NOT go via the VPN
route www.google.ca 255.255.255.255 net_gateway
Run Code Online (Sandbox Code Playgroud)
当它查询 google.ca 的解析时,它只会过滤查询响应中的第一个 IP。
归档时间: |
|
查看次数: |
64955 次 |
最近记录: |