将 DNS 请求转发到我工作的跳转服务器

将 DNS 请求转发到我工作的跳转服务器

我可以通过 SSH 访问我工作地点的跳转盒。此跳转盒可访问工作地点的完整网络基础设施。这对于在家办公来说非常棒。

我可以在跳转盒上运行 SOCKS5 代理(通过ssh -D),并成功配置我的浏览器以使用该 SOCKS5 代理访问工作主机(通过https://getfoxyproxy.org)。Foxyproxy 似乎将 DNS 请求转发到该 SOCKS5 代理,因此一切运行正常。

我的问题是,其他工具(例如 Maven(用于构建 Java))可以使用 SOCKS5 代理,但遗憾的是无法通过它转发 DNS。据我所知,这是一个已知的限制。所以我最终将我的工作服务器添加到/etc/hosts

我正在寻找一个更具活力和明确的解决方案,以消除维护的负担/etc/hosts。本质上,我想继续使用我的 ISP DNS 服务器,但我想将我的工作服务器的 DNS 请求(并且只转发给它们)转发到该跳转箱(通过 SSH 或 SOCKS5 代理)。

那可能吗?

答案1

部分答案:

一般来说,您不能有选择地转发针对特定主机的 DNS 请求(例如 Foxyproxy 可以处理针对特定主机或路径的特定请求)。

您唯一能做的就是在某处运行 DNS 代理,它会自己回答特定主机的请求,或者将遵循特定模式的请求转发到特定的服务器。

一个流行的 DNS 代理是dnsmasq。您可以将其配置为将 DNS 请求转发到不同的服务器基于模式

因此,您必须dnsmasq在本地计算机上运行,​​使用它在本地计算机上进行 DNS 解析,并将其配置为使用 ISP 的 DNS 服务器和跳转主机 DNS 服务器作为上游 DNS 服务器。这将需要一些调整才能正确配置,特别是让它同时接收动态给定的 DNS 服务器(来自您的 ISP)和静态给定的 DNS 服务器。

答案2

这正是穿梭巴士专为

透明代理服务器,可用作穷人的 VPN。通过 ssh 转发。无需管理员。适用于 Linux 和 MacOS。支持 DNS 隧道。

相关内容