通过iptables实现共享上网
前段时间做了一个项目,其中客户有一个功能的需求就是用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,指令可能有些区别。
配置完成后截图如下:
- 分享
- 举报
-
浏览量:2600次2020-04-22 20:21:45
-
浏览量:2858次2020-07-31 16:50:14
-
浏览量:2679次2019-09-02 19:00:27
-
浏览量:3387次2020-04-21 20:28:40
-
浏览量:2154次2020-04-21 20:27:00
-
浏览量:1761次2020-03-25 20:08:11
-
浏览量:2109次2018-01-27 13:22:28
-
浏览量:2366次2020-08-30 12:39:35
-
浏览量:806次2023-06-03 16:08:12
-
浏览量:574次2023-08-24 15:30:23
-
浏览量:2593次2019-11-27 09:37:44
-
浏览量:3465次2017-11-23 18:51:47
-
浏览量:2425次2019-09-01 11:10:57
-
浏览量:1655次2022-12-08 17:12:46
-
浏览量:5327次2020-12-03 14:50:45
-
浏览量:1893次2018-02-22 16:20:30
-
浏览量:2324次2020-02-27 10:32:59
-
浏览量:4793次2017-10-30 11:12:34
-
浏览量:711次2024-01-09 08:52:25
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
墨桃夭夭
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明