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