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

Pri*_*tzl 6 networking linux dns ssh proxy

我可以通过 SSH 访问我工作中的跳转框。这个跳转盒可以访问工作中的完整网络基础设施。在家工作真是太好了。

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

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

我正在寻找一个更加动态和明确的解决方案,以消除必须维护/etc/hosts. 从本质上讲,我现在想继续使用我的 ISP 的 DNS 服务器,但我想将我的工作服务器(并且只针对它们)的 DNS 请求转发到那个跳转框(通过 SSH 或那个 SOCKS5 代理)。

那可能吗?

dir*_*rkt 6

部分答案:

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

您唯一能做的就是在某处运行一个 DNS 代理,它可以回答对特定主机本身的请求,或者按照特定模式将请求转发到特定服务器。

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

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