2013-03-01 202 views
1

我正在运行名为INetSim的软件产品(http://www.inetsim.org/)。它需要我的Ubuntu 12.04系统上已经安装的各种Perl模块(包括IPTables::IPv4::IPQueue)。但是,运行时出现错误。我对Perl不熟悉,但已经尽力做尽可能多的研究。无法创建netlink套接字 - 协议不受支持

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

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并且它是空的。

+0

该模块通过'PF_INET'到'ipq_create_handle'作为协议,但 “有效值为'NFPROTO_IPV4' IPv4和'NFPROTO_IPV6'”。您可以尝试为您的系统找出这些常量的值,并使用'protocol => ___'将其传递给构造函数。 – ikegami 2013-03-01 14:52:51

回答

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 
相关问题