我正在尝试在 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.