2

我已经从http://source.android.com/source/building-kernels.html下载了 Android 内核源代码

然后我启动了模拟器并想使用 iptable 规则,但我收到以下错误。iptable 包是否未完全安装?为什么缺少 NAT 表?

最初我已经开始关注http://randomizedsort.blogspot.de/2011/03/porting-iptables-1410-to-android.html#comment-form_8482839589527760177来安装 iptables,但是在 adb shell 上看到了 iptablesv1.4.11.1 ,我已经放弃了这个想法。有没有人尝试在较新的 android 内核源上移植 iptables?

 adb shell
# su root

# iptables  -t nat -A OUTPUT -p tcp --dport 8000 -j REDIRECT --to-port 8080

FIX ME! implement getprotobyname() bionic/libc/bionic/stubs.c:450
iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

请指教!

4

1 回答 1

1

使用协议编号 ( -p 6) 而不是名称 ( -p tcp):

iptables -t nat -A OUTPUT -p 6 --dport 8000 -j REDIRECT --to-port 8080

有关更多信息,请参阅此答案: getprotobyname error iptables

于 2013-08-22T16:01:35.393 回答