我正在運行名爲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