以前常用 iptables 的 redirect 动作做端口转发,那个时候我的理解就是对 IP 包的目标端口做了修改然后转发;最近看了一些透明代理的实现,发现规则里也用到了 iptables 的 redirect 动作来转到某些代理协议的服务端口(比如:dokodemo door )。
如果按照以前的理解 redirect 动作修改了目标端口,那么代理程序的出口如何知道这个 IP 包要转发到的原始端口?如果 redirect 动作仅仅是把匹配的数据包转发 到指定端口什么都不修改,那么 IP 报文的目标端口都和实际服务的端口不一样,这个数据包怎么被服务收到? 官方文档我看过,没有看到详细过程的说明。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.