语境
我有一个 pfSense 作为路由器/防火墙,与这个问题相关的是,我有两台连接的计算机,一台笔记本电脑和一台台式机。我使用笔记本电脑连接到 VPN 以访问一些与工作相关的服务器 (172.26.0.0/16)。这些服务器使用私有 DNS(即 10.0.1.1)解析其主机名。
问题
只是为了避免陷入XY问题,我将尝试以最简单、最通用的方式解释问题是什么以及我想要实现的目标:
我只希望能够通过我的台式电脑访问这些工作服务器,但目前还不能。
我的 VPN 连接是专门为我的笔记本电脑建立的,所以我不能用它来配置另一台电脑。以前我们使用 OpenVPN,所以我可以相当轻松地完成我在这里尝试的操作。事实上,我通过将 pfSense 设置为 OpenVPN 客户端来做到这一点。
如果您发现有任何其他方法可以解决这种情况,请随时提出与我尝试过的方法不同的建议。
到目前为止我尝试过的
因此,经过大量搜索,最有希望的方法是使用穿梭巴士。
我已经使用此命令作为第一次启动
sshuttle -v --dns -r <user>@10.23.23.30 --to-ns=10.0.1.1 172.26.0.0/16:0 -l 0.0.0.0:0
有了它,我就能够在 pfSense 上执行 nslookup,并且它可以正确解析我想要的域。
但当我在我的机器上尝试同样的事情时,它没有起作用。
通过在详细模式下使用 sshuttle,我可以看到,每当我尝试使用私有 DNS 通过我的台式电脑执行 nslookup 时,sshuttle 都会记录来自我的 WAN 地址的连接,但客户端上的响应会超时。
我尝试了 sshuttle 的其他选项,例如将我的路由器作为 传递ns-host
,这允许我使用它的 IP 地址而不是本地主机或私有 DNS 执行 nslookups,但这并不能解决我的问题。
我还尝试使用私有 DNS 在 pfSense 中设置域名覆盖,因为它看起来在那里可以访问。但我也没有成功。
最后的想法
我在 pfSense 上已经设置了一条规则,允许 LAN 连接设备内从任意位置到任意位置的流量。然后,为了以防万一,我在 WAN 上创建了一条从我的 WAN 地址到工作网络上的任意地址 (172.26.0.0/16) 的规则。但没有任何帮助。
我可以这样做吗?还有其他方法值得研究吗?
我感觉我已经接近了,因为我已经能够解析路由器上的域名,但现在我不知道具体该如何进行。