在容器中运行的 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/