如何欺骗操作系统将一个主机名视为另一个主机名

如何欺骗操作系统将一个主机名视为另一个主机名

我有3台机器:

A.local ---> B.example.com
        ---> C.local

C.local5000是一个在代理B.example.com(远程 Docker 注册表)的端口(本地 Docker 注册表)上运行服务的 Docker 容器。

我如何配置 A 以便它C.local在尝试到达时解析/连接到B.example.com

我不确定这是否可能以及在 OSI 的哪个层上。我想使用,/etc/host但这只是 DNS 分配硬编码的 IP 地址。够
iptables吗?

结果应该是 A 将 B 视为original-B.example.com并将其替换为 C,即视为B.example.com
这样它应该C.local:5000在尝试连接时连接到B.example.com(在端口 443 上,如果我理解正确的话

答案1

如果您在所有三台机器上都有 SSH,您可以执行以下操作:

[email protected] $ ssh -J B.example.com -L 5555:127.0.0.1:5000 C.local 

C.local:5000当该连接处于活动状态时,您可以通过访问进行连接127.0.0.1:5555(5555 是任意的)。

分解

  • ssh
  • -J B.example.com:通过 B.example.com 进行代理跳转(您需要先登录 B,然后才能转发到 C)
  • -L 5555:127.0.0.1:5000,将本地端口绑定127.0.0.1:5555到最终目标端口5000。
  • C.local: 最终目的地

相关内容