完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
前言
对于嵌入式设备产品,一般会有一个有线网卡,4G模块网卡或者wifi网卡,当4G模块网卡或者wifi网卡有网络时,怎么 使得另外一个有线网卡网络共享给其他设备上网,这就本博客主要讲解的内容; 一. 专栏目录 本专栏目录如下,按顺序阅读,有助于你的理解。
1、嵌入式设备产品,如果有4G通讯模块或者wifi模块,就可以通过对应模块的网卡上网, (1)、4G通讯模块(移远EC20):移植4G模块驱动并上网,可以查看博主文章:嵌入式设备路由网络共享开发(2):4G模块驱动移值 (2)、wifi模块(MT7601),移植wifi模块驱动并使用STA模式上网,可以查看博主文章:嵌入式设备路由网络共享开发(3):WIFI驱动(MT7601)的移值 至此,可以通eth1或者ra0网卡上网,能ping www.baidu.com就行。 三、有线网卡(eth0)静态IP的配置 1、修改配置文件配置网卡eth0为静态IP # vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.42.134 netmask 255.255.255.0 gateway 192.168.42.1 dns-nameserver 8.8.8.8 注意: (1)、【eth0】是我的系统的网卡名,用ifconfig可以查看自己机器的网卡名 (2)、设置为【static】表示静态ip(Linux默认获取ip方式是DHCP,自动获取的) (3)、最后一句dns-nameserver 8.8.8.8表示重启网卡或者Linux系统之后,会自动在/etc/resolv.conf中添加这个dns (4)、sudo /etc/init.d/networking restart 重启网卡 2、使用代码配置静态IP # ifconfig eth0 192.168.100.100 netmask 255.255.255.0 在嵌入式产品中,会改变设备的网口IP地址,这时候就需要在代码逻辑中进行灵活性的配置; 四、iptables配置net路由模式 1、关于iptables的使用,详解查看:嵌入式设备路由网络共享开发(4):iptables详解; 配置net路由模式使用下面命令: iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISH -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT eth1为已经有网络的网卡,eth0为需要配置上网的有线网卡; 2、开启linux下的网口转发 出于安全考虑,Linux系统默认是禁止数据包转发的。 所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能 cat /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许。 这里我设置为1,开启数据包转发: echo "1" > /proc/sys/net/ipv4/ip_forward 五、开启udhcpd服务器 1、创建/udhcpd_eth0.conf 配置文件 #vi /var/dvr/udhcpd_eth0.conf start 192.168.100.2 end 192.168.100.99 interface eth0 opt router 192.168.100.100 opt subnet 255.255.255.0 max_leases 99 opt dns 202.96.134.33 这个配置eth0网卡为udhcpd服务器,可以分配的IP从192.168.100.2--192.168.100.99,路由IP为192.168.100.100,最多可以分配99IP地址,dns为202.96.134.33 注意:这里的dns一定可以上网网卡eth1/ra0的DNS,如果改变了,这里也需要同步改变; 2、启动udhcpd 服务 udhcpd -f /var/dvr/udhcpd_eth0.conf & 五、总结 至此,当其他设备通过网口接到eth0,外设就可以通过eth0上网,每个嵌入式设备有着不一样的通讯方式,这里单纯是举了一个例子,如果有疑问和意见,欢迎大家留言交流。 |
|
|
|
只有小组成员才能发言,加入小组>>
813 浏览 0 评论
1162 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1111浏览 3评论
198浏览 2评论
465浏览 2评论
379浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 23:04 , Processed in 1.167684 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号