我正在尝试利用python-iptables包在Web应用程序中列出iptables规则。当我将iptc软件包添加到我的环境中时,我收到以下错误。我使用yum'provide'来查找libxtables.so.4文件的来源,发现iptables
和iptables-devel
包是CentOS 6.4 x64中的合适选择。我升级了这些软件包,但没有改变错误。
有没有人对我如何解决这个问题有任何建议?
pgrace@ny-misc01:~/repos/python-iptables/libxtwrapper$ python
Python 2.6.6 (r266:84292, Sep 11 2012, 08:34:23)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import iptc
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.6/site-packages/iptc/__init__.py", line 10, in
from ip4tc import Table, Chain, Rule, Match, Target, Policy, IPTCError
File "/usr/lib64/python2.6/site-packages/iptc/ip4tc.py", line 11, in
from xtables import (XT_INV_PROTO, NFPROTO_IPV4, XTablesError, xtables,
File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 744, in
class xtables(object):
File "/usr/lib64/python2.6/site-packages/iptc/xtables.py", line 757, in xtables
_xtables_afinfo = ct.c_void_p.in_dll(_lib_xtables, "afinfo")
ValueError: /lib64/libxtables.so.4: undefined symbol: afinfo
>>>
答案 0 :(得分:1)
请参阅:https://github.com/ldx/python-iptables/issues/25
这是已知问题,旧版本的libxtables将afinfo
声明为静态,因此python-iptables无法访问它。但是有一种可能的解决方法 - 请密切关注机票,一旦有进展就会更新。
另一种解决方案是在您的计算机上更新iptables。
免责声明:我是python-iptables的维护者。
更新:现在应该修复。