透明代理

透明代理

我正在尝试在 eth0 和 lo 之间设置透明代理,

原因是在 DNS 传播期间,服务通过新旧服务器之间的 SSH 连接进行隧道传输,在“旧”服务器上,这对于在本地运行的任何连接到本地主机的操作都是正常的:

但是,对于任何访问“旧服务器”外部地址的内容,服务都不会转发,因为 ssh 隧道仅监听与本地主机 (lo) 的连接。

当前设置:

Old server --> SSH Tunnel --> New server

需要做什么

Client connection (i.e. tcp 8081) --> Old Server --> SSH Tunnel --> New server

我正在尝试对 IP 表规则进行多种变化,设置-L <service port>:0.0.0.0:<service port>不监听所有接口,只监听 lo。

解决方案必须单独来自 iptables,没有时间部署 squid/另一个代理服务。

总而言之。

  • 假设 TCP 8081 通过 SSH 连接建立隧道
  • 我需要这个从 eth0 绑定地址工作

提前致谢

答案1

我可能误解你的意思了。但你为什么不直接将 SSH 隧道的端点绑定到 eth0,然后使用 -g 开关允许来自远程主机的连接呢?

引用手册页:

-g      Allows remote hosts to connect to local forwarded ports.

相关内容