配置 /etc/hosts 文件,以便所有应用程序在有意义的时候始终使用本地网络?

配置 /etc/hosts 文件,以便所有应用程序在有意义的时候始终使用本地网络?

我在本地网络中设置了两台 Linux CentOS 服务器。服务器 A 是 192.168.0.1,服务器 B 是 192.168.0.2。

服务器 A 上有一个应用程序使用 host2.serverAname.com 与服务器 B 通信。但是,服务器 B 上的流量被阻止,因为所使用的端口有防火墙,只允许本地网络上的流量通过。因此,服务器 B 需要将来自服务器 A 的流量视为来自 192.168.0.1(而不是 host2.serverA.com)。

有没有办法可以配置 /etc/hosts 文件以确保在两个服务器之间发送的流量始终使用本地 IP 地址,而不管使用什么主机名,并且对于所有应用程序都是如此?

如果可以,有人能给我举个例子吗?我只有 2 台服务器,所以越简单越好。

答案1

“愚蠢”的方法应该可行:在/etc/hostsserverA 中为每个主机名添加一个条目(或合并为一行 - 为便于阅读在此拆分):

192.168.0.2    serverB
192.168.0.2    serverB.serverAname.com
192.168.0.2    host2
192.168.0.2    host2.serverAname.com

根据需要为该 IP 添加任何其他主机名。在服务器 B 上,如果服务器 A 是发起连接的服务器,则实际上只需要为服务器 A 提供 IP,但无论如何这都是一个好主意。

另外,请检查您的路由和默认网关没有出现任何异常,并使用 进行三次检查traceroute

答案2

如果我理解正确的话,您需要能够从具有不同目标 IP 的不同位置连接到同一台服务器。

一种方法是使用拆分 DNS。这实际上包括为同一个域定义两个单独的区域文件。一个内部视图供内部用户(私有 IP)查看,另一个外部视图供外部用户(公共 IP)查看。请查看这一页bind在DNS 服务器中配置多个视图。

相关内容