首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android中的iptables错误: iptables-save和iptables-restore不起作用

android中的iptables错误: iptables-save和iptables-restore不起作用
EN

Stack Overflow用户
提问于 2011-04-05 01:18:10
回答 1查看 6.7K关注 0票数 5

我已经编译了Linux for android模拟器,并启用了完整的netfilter功能。并在从源代码构建android之后得到了一个iptables二进制文件。

当我将这个二进制文件推送到仿真器时

我可以成功地执行下面这样的命令。

代码语言:javascript
复制
iptables -L
iptables -F
iptables -A INPUT -s www.google.com -j DROP 

出现以下错误:

代码语言:javascript
复制
# # iptables -L
getsockopt for multiport failed strangely: No such file or directory
getsockopt for multiport failed strangely: No such file or directory
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
# 

代码语言:javascript
复制
# iptables -A INPUT -s www.google.com -j DROP
getsockopt for multiport failed strangely: No such file or directory
getsockopt for multiport failed strangely: No such file or directory
FIX ME! implement getgrnam() bionic/libc/bionic/stubs.c:344

但至少上面的命令是有效的!

但当我尝试的时候

代码语言:javascript
复制
iptables-save     or
iptables-restore

我得到的错误是

代码语言:javascript
复制
iptables-save: not found

在我的配置文件

代码语言:javascript
复制
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m

问题出在哪里??如何在android中启用完整的iptables功能,或者如何安全地保存当前活动的iptables规则并在下次重新启动时重新加载它们。

请帮帮忙。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-04-05 09:00:43

iptables-saveiptables-restore二进制文件不是由默认的Android系统makefile构建的。

您需要将规则添加到$mydroid/external/iptables/中的Android.mk文件中才能构建它们。源文件iptables-save.ciptables-restore.c已经在该目录中。

未经测试,但要构建iptables-save,请在Android.mk的末尾添加类似以下内容。对iptables-restore重复冲洗和重复操作

代码语言:javascript
复制
#
# Build iptables-save
#

include $(CLEAR_VARS)

LOCAL_C_INCLUDES:= \
    $(LOCAL_PATH)/include/ \
    $(KERNEL_HEADERS)

LOCAL_CFLAGS:=-DNO_SHARED_LIBS
LOCAL_CFLAGS+=-DIPTABLES_VERSION=\"1.3.7\"

LOCAL_SRC_FILES:= \
    iptables-save.c 

LOCAL_MODULE_TAGS:=debug
LOCAL_MODULE:=iptables-save

LOCAL_STATIC_LIBRARIES := \
    libiptc \
    libext

include $(BUILD_EXECUTABLE)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5541983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档