一、设计方案
通过嵌入式Linux系统中的iptables数据包过滤系统将无线局域网和3G/4G网络连通。智能终端等设备通过WiFi信道接人到该路由器所提供的无线局域网中,分配到一个IP地址之后,则通过该无线局域网的网关进行数据包的接收和发送,而该网关则通过3G/4G模块上的网络拨号接口来接收和发送数据包至3G/4G 网络,从而实现了该路由器的设计方案。
二、关键技术
3G/4G路由器是指利用WiFi的2.4GHz频段,组建一个无线局域网,并配置无线局域网的基本信息,通过Linux系统的 iptables将无线局域网接人到3G/4G网络中。其关键技术具体分为3G/4G 网络的接入、无线局域网的组建以及iptables的连通三个部分。
采用iptables,将3G/4G网络和组建好的无线局域网连通,需要Linux系统内核中的网络数据包过滤框架的支持,因此要重新配置内核:
Networking —->
Networking options —->
[*] Network packet filtering (replaces ipchains) —>
Core Netfilter Configuration —>
<根据需要增加相关的配置>
IP: Netfilter Configuration —>
<根据需要增加相关的配置>
root@Jalyn:~# iptables -L
modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.1.15
iptables v1.4.20: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
root@Jalyn:~# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables: No chain/target/match by that name.
出现这些问题都是iptables内核配置相关,正常配置后可以解决。
工作脚本 ppp-share-wifi:
#!/bin/sh
#打开转发功能。
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.5.5.1/24 -o ppp0 -j MASQUERADE
stop-forward
iptables -t nat -D POSTROUTING -s 10.5.5.1/24 -o ppp0 -j MASQUERADE
echo 0 > /proc/sys/net/ipv4/ip_forward
扩展:
【iptables移植到ARM Linux教程】https://www.veryarm.com/568.html
【linux下IPTABLES配置详解】https://www.cnblogs.com/klb561/p/9011546.html
【SNAT/DNAT/MASQUERADE】https://blog.csdn.net/jk110333/article/details/8229828
网友评论