前段时间做了一个项目,其中客户有一个功能的需求就是用USB口虚拟一个网卡,接在安卓设备上,供安卓设备上网,网上搜了一些方法将iptables移植到了海思开发板上,USB网卡的驱动也成功添加,这时候就需要通过iptables实现网络转发的功能,这里总结一些注意事项分享给大家
海思端需要注意的有:
A.首先echo 1 >/proc/sys/net/ipv4/ip_forward打开网络共享,这个必须打开。
B.USB网卡的ip可自行配置,例如192.168.42.111,但是USB网卡的网关必须和指令当中对应
./iptables -A FORWARD -s 192.168.42.0/24 -o eth1 -j ACCEPT
./iptables -A FORWARD -d 192.168.42.0/24 -j ACCEPT
./iptables -t nat -A POSTROUTING -s 192.168.42.0/255.255.255.0 -o eth1 -j MASQUERADE
我们这边网关为192.168.42.0,指令当中就需要设置为一样的网关,其中FORWARD为转发模式,ACCEPT为允许数据转发。POSTROUTING为路由前模式,MASQUERADE为IP伪装模式,不同情况指令略有修改。安卓设备端修改
安卓端需要获取root权限,su指令进入root权限,然后使用busybox ifconfig查看网卡,使用busybox route指令将USB网卡的默认网关配置为卡发板上USB网卡的IP,用卡发板的IP作为安卓设备的网关进行通讯,这边要注意可能有些开发板没有busybox,指令可能有些区别。
配置完成后截图如下:免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:通过iptables实现共享上网-通过的近义词有哪些 https://www.yhzz.com.cn/a/9630.html