我正在包含 3 台机器的 keepalive 集群中的 ssh 服务器上使用 OpenSSH 动态端口转发创建 SOCKS 代理。
- 该集群的虚拟ip是1.1.1.4
- 集群的主节点是1.1.1.3
- 另外两台机器在 1.1.1.1. & 1.1.1.2 上,对于这个问题可能可以忽略
我使用以下命令从 ssh-client 创建 SOCKS 代理
ssh -D1080 1.1.1.4
我从 ssh 客户端机器发送我的请求localhost:1080
,并且该请求通过代理成功转发。
我有一个防火墙,其中有一条规则允许来自 1.1.1.4 的流量通过。问题是,由于到 1.1.1.4 的 ssh 连接解析为 1.1.1.3 上的主节点,因此转发的请求被视为来自 1.1.1.3,而不是 1.1.1.4。
结果是我需要为该集群中所有 3 台机器的每个 IP 地址设置防火墙规则。我更希望在共享虚拟 IP 上为所有 3 台机器设置一条规则,但要使该选项成为可能,转发的请求需要被视为来自虚拟 IP。
我的目标是否考虑不周?是否有理由认为这是不可取的,或者是否有办法在不造成混乱的情况下实现我的目标?
谢谢
乔