透明代理到lo

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

在DNS传播服务期间,原因是通过旧服务器和新服务器之间的SSH连接进行隧道传输,在“旧”服务器上,这适用于本地连接到本地主机的任何事情:

但是,对于任何打到“旧服务器”的外部地址的服务都不会转发,因为ssh隧道只监听到localhost(lo)的连接。

当前设置:

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

什么需要发生

 Client connection (ie tcp 8081) --> Old Server --> SSH Tunnel --> New server 

我试图在IP表规则的多种变化,设置-L <service port>:0.0.0.0:<service port>不听所有接口上只在LO。

解决scheme必须来自iptables,没有时间部署鱿鱼/另一个代理服务。

所以总结。

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

提前致谢

我可能会让你错。 但是,为什么不将SSH隧道的端点绑定到eth0,并允许使用-g开关从远程主机进行连接。

从manpage引用:

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