Android5.1 NAT功能的iptables规则

在Android4.2、4.4、5.1上面,参照之前写的《Linux下双网卡NAT组网》一文是可以验证成功的,不过在Android5.1上面,我们参照了系统里的WiFi热点、USB Tether、Bluetooth Tether功能,发现有另一组命令也可实现:

echo 0 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -t nat -A natctrl_nat_POSTROUTING -o eth0 -j MASQUERADE
/system/bin/iptables -A natctrl_FORWARD -i eth0 -o ap0 -m state --state ESTABLISHED,RELATED -g natctrl_tether_counters
/system/bin/iptables -A natctrl_FORWARD -i ap0 -o eth0 -m state --state INVALID -j DROP
/system/bin/iptables -A natctrl_FORWARD -i ap0 -o eth0 -g natctrl_tether_counters
/system/bin/iptables -A natctrl_tether_counters -i ap0 -o eth0 -j RETURN
/system/bin/iptables -A natctrl_tether_counters -i eth0 -o ap0 -j RETURN
/system/bin/iptables -D natctrl_FORWARD -j DROP
/system/bin/iptables -A natctrl_FORWARD -j DROP
echo 1 > /proc/sys/net/ipv4/ip_forward

其中,ap0是连接内网的网卡,eth0是连接外网的网卡。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 06:10:03       172 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 06:10:03       190 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 06:10:03       158 阅读
  4. Python语言-面向对象

    2024-07-23 06:10:03       171 阅读

热门阅读

  1. C语言-预处理详解

    2024-07-23 06:10:03       35 阅读
  2. ios CCUIHilightedLabel.m

    2024-07-23 06:10:03       38 阅读
  3. 动态内存管理

    2024-07-23 06:10:03       23 阅读
  4. linux协议栈之FDB表

    2024-07-23 06:10:03       30 阅读
  5. 记录贴-VUE相关

    2024-07-23 06:10:03       30 阅读
  6. ios CCUIImage.m

    2024-07-23 06:10:03       31 阅读
  7. unity和安卓的so文件联合使用

    2024-07-23 06:10:03       33 阅读
  8. 智能马桶的工作原理

    2024-07-23 06:10:03       33 阅读
  9. gitlab查询分支API显示不全,只有20个问题

    2024-07-23 06:10:03       27 阅读
  10. Linux Vim教程(四):文本编辑与修改技巧

    2024-07-23 06:10:03       30 阅读
  11. Esxi 上的 CentOS 7.6 系统中搭建本地 Yum 源

    2024-07-23 06:10:03       31 阅读