python - NetfilterQueue 在 docker 容器中不起作用

标签 python docker network-programming iptables netfilter

在容器中运行的 python 脚本中导入时,NetfilterQueue 出现了一个奇怪的问题:

File "main.py", line 1, in <module>
    from netfilterqueue import NetfilterQueue
ImportError: /usr/local/lib/python2.7/dist-packages/netfilterqueue.so: undefined symbol: nfq_set_verdict2

在容器中,我安装了:
FROM debian:wheezy
RUN apt-get update && apt-get install -y \
    bridge-utils \
    net-tools \
    iptables \
    python \ 
    scapy \
    tcpdump \
    python-nfqueue \
    build-essential \
    python-dev \
    libnetfilter-queue-dev \
    python-pip

RUN pip install netfilterqueue

COPY ./main.py /main.py

ENTRYPOINT  sysctl net.ipv6.conf.all.forwarding=1 && ip6tables -A FORWARD -j NFQUEUE --queue-num 1 && python main.py

构建就像一个魅力。知道什么可能导致运行时出现此错误吗?

谢谢您的帮助

最佳答案

仅供引用,我可以通过使用 ubuntu 作为基础而不是 debian 来解决这个问题。容器主机也是ubuntu。我用 --privileged 和 --net=host 启动了容器

关于python - NetfilterQueue 在 docker 容器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39103565/

相关文章:

python - 为多列绘制多个条形图

java - JDK 10 模块和 sun.security.provider.certpath.SunCertPathBuilderException

javascript - 通过存储过程插入记录不工作(使用乏味的 MS SQL 驱动程序)

mysql - 容器处于等待状态,kubernetes,docker容器

c# - 无法建立连接,因为目标机器主动拒绝了它-套接字C#

Java套接字——套接字端口

python - 用于存储交叉引用的最合适的文件格式

python - QToolBar 的大小和与隐藏操作的对齐

python - 如何在 Django 管理中更改 "app name"?

php - 警告 : Module 'curl' already loading in Unknown on line 0 (Fix this from a custom. php.ini 文件)