1

我尝试使用 IP_TRANSPARENT 套接字选项。但是我得到“IP_TRANSPARENT”没有在这个范围内声明。如果我直接在代码中使用它的代码(19),我会得到绑定错误:“无效参数”。我应该重新编译我的内核来支持这个选项吗?如果是这样,我使用内核 2.6.32。我在内核参数界面中找不到任何选项。

有什么想法吗?

谢谢,

4

1 回答 1

2

如果 C 库的头文件没有定义值 19,则使用值 19 是可以的,这不是导致它返回 -EINVAL 的原因。

但是需要启用一些内核选项才能使其正常工作。引用文档(在内核源代码中,Documentation/networking/tproxy.txt):

此功能为当前内核添加了类似 Linux 2.2 的透明代理支持。要使用它,请在内核配置中启用 NETFILTER_TPROXY、套接字匹配和 TPROXY 目标。您也需要策略路由,因此请务必启用它。

您可以在该文档中找到更多信息,或在此处在线阅读:http ://www.mjmwired.net/kernel/Documentation/networking/tproxy.txt

于 2013-01-25T22:40:14.383 回答