平台:M6G2C 开发环境:Linux EPC-M6G2C 4.1.15开发需求:RTU利用4G上网(PPP0)然后使用eth0接入其他的嵌入式设备A,使A设备可以穿透RTU内网进行外网访问嵌入式linux 内核配置问题:请参考:http://www.lai18.com/content/638256.html系统环境ifconfig的配置如下:可以通过查询 /etc/resolv.conf 来查看DNS一、PPP的拨号1.Linux 内核 模块的配置 请参考 《龙尚4G模块在ARM平台下的应用(基于DCP-1000L工控板)》2. 在终端运行 pppd call ls-gprs &二、Linux编写脚本:[~]# cat /usr/local/nat/nat.sh
| #!/bin/bash |
| # 0. 设定你的参数值 |
| EXIF='ppp0' # 这个是对外的网卡接口, 可能是'ppp0'等 |
| EXNET='192.168.1.222/24' # 这个是对内的网段 |
| # 底下如无需要, 请不要改动了! |
| # 1. 启动routing等 |
| echo 1 > /proc/sys/net/ipv4/ip_forward |
| /sbin/iptables -F |
| /sbin/iptables -X |
| /sbin/iptables -Z |
| /sbin/iptables -F -t nat |
| /sbin/iptables -X -t nat |
| /sbin/iptables -Z -t nat |
| /sbin/iptables -P INPUT ACCEPT |
| /sbin/iptables -P OUTPUT ACCEPT |
| /sbin/iptables -P FORWARD ACCEPT |
| /sbin/iptables -t nat -P PREROUTING ACCEPT |
| /sbin/iptables -t nat -P POSTROUTING ACCEPT |
| /sbin/iptables -t nat -P OUTPUT ACCEPT |
| # 2. 载入模组 |
| /sbin/modprobe ip_tables 2> /dev/null |
| /sbin/modprobe ip_nat_ftp 2> /dev/null |
| /sbin/modprobe ip_nat_irc 2> /dev/null |
| /sbin/modprobe ip_conntrack 2> /dev/null |
| /sbin/modprobe ip_conntrack_ftp 2> /dev/null |
| /sbin/modprobe ip_conntrack_irc 2> /dev/null |
| # 3. 启动ip伪装 |
| /sbin/iptables -t nat -A POSTROUTING -o $EXIF -s $EXNET -j MASQUERADE |
2) 增加可执行权限
[~]# chmod +x /usr/local/nat/nat.sh
四、嵌入式设备A的配置(window例子)
最后再通过
ifconfig eth0 up 重启网络
海康威视 用 萤石云 app的 ip 设置: