无法创建netlink套接字 - 不支持协议

时间:2013-03-01 12:58:02

标签: perl

我正在运行名为INetSim(http://www.inetsim.org/)的软件产品。它需要已安装在我的Ubuntu 12.04系统上的各种Perl模块(包括IPTables::IPv4::IPQueue)。但是,我在运行它时遇到错误。我对Perl并不熟悉,但我尝试尽可能多地进行研究。

配置后运行应用程序时,出现以下错误。

redirect - failed! Error: Unable to create netlink socket: Protocol not supported
at lib/INetSim/Redirect.pm line 1229.

/INetSim/Redirect.pm的第1229行是:

$ipq = new IPTables::IPv4::IPQueue(copy_mode => IPQ_COPY_PACKET, copy_range => 1500)
       or die IPTables::IPv4::IPQueue->errstr;

我假设有一些类型的问题与iptables和这个函数运行,但我不熟悉Perl或iptables甚至开始如何解决这个问题。我已通过电子邮件向开发人员发送电子邮件,但我正等待回应。关于我可以做些什么来排除故障的任何想法?

根据我正在讨论的关于INetSim的一本书,“当你启用重定向时,INetSim会创建所有必要的iptables规则,并通过适当的服务重定向通过控制器(我的Linux盒子)的所有连接” 。我在运行程序后完成sudo iptables -L并且它是空的。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。在挖掘之后,我发现iNetSim不能与Ubuntu 12.04新内核一起使用。切换到旧的3.2内核后,iNetSim工作正常。

Linux test 3.2.0-53-generic #81-Ubuntu SMP Thu Aug 22 21:01:03 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux