- 论坛徽章:
- 0
|
搜资料好累啊。
在这个页面http://www.gossamer-threads.com/ ... =post_view_threaded最下面一段找到这几句。
So, to sum it up, you probably don't want to use TPROXY instead of
REDIRECT. (Especially if you redirect TCP traffic only, where the
ip_conntrack provides a getsockopt() to get the original destination
address.)
意思是说REDIRECT使用了ip_conntrack模块,可以通过函数接口获取原来目的地址。
看来REDIRECT的确会更改目的地址,监听程序收到的包是没有原目的地址的。要想知道原来的目的地址怎么办呢?可以通过调用ip_conntrack的函数获取,原目的地址在内存中还是保留在了socket buffer里。但要通过编程去获取。
关于tproxy模块,它的效率比REDIRECT低。它没用使用连接状态,即ip_conntrack。它对每一个包都作标记。而REDIRECt只处理第一个包,以后的包只要状态表里能匹配到就直接放过了。 |
|