【问题标题】:Android: NAT table: “FIX ME! impliment getnetbyaddr() bionic/libc/bionic/stubs.c:444” what does it mean and how to fix itAndroid:NAT 表:“FIX ME! impliment getnetbyaddr() bionic/libc/bionic/stubs.c:444” 这是什么意思以及如何解决它
【发布时间】:2012-11-26 13:06:11
【问题描述】:

背景:

我正在尝试在安卓手机上设置 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

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

【问题讨论】:

    标签: android iptables nat


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!改源代码……,是不是意味着要使用定制的内核?
    • libc 与内核是分开的,因此更改内核不会影响 libc。如果您想在 Android 中实现该功能,请向 Android AOSP 团队提交补丁。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2021-06-25
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    相关资源
    最近更新 更多