2013-03-01 205 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 
相關問題