2

背景:

我正在尝试在 Android 手机上设置 VPN 服务器。为此,我正在尝试使用 android 示例应用程序 ToyVpn。

要设置服务器,我必须在 nat 表中添加以下规则

#Pick a range of private addresses and perform NAT over eth0.
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

但我收到以下错误:

 iptables v1.4.14: can't initialize iptables table -nat: Table does not exist (do you need to insmod?)
 Perhaps iptables or your kernel needs to be upgraded.

我没有任何使用 iptables 的先验知识。但是,我搜索了它,并将“-A”替换为“-I”,即现在我在表中插入规则,而不是在表中附加规则,因为我的表是空的。

问题:

问题是,现在在 nat 表中有以下消息:

FIX ME! impliment getnetbyaddr() bionic/libc/bionic/stubs.c:444

在我插入的规则之上。该规则显示为:

MASQUERADE all -- 10.0.0.0/8 anywhere

谁能指导我我做错了什么以及如何解决它!

4

1 回答 1

1

我认为您没有做错任何事情 - 该消息似乎表明关键的 libc 函数未在仿生(Android 使用的 C 库)中实现。

我不认为你真的可以做任何事情,除了在仿生中实现该功能,然后可能从源代码编译大部分 Android 系统。

于 2012-11-26T13:18:25.643 回答