一、功能说明
本文以Mfgtools烧录工具中提供的根文件系统为基础,修改根文件系统。设置eth0作为WAN口,设置eth1作为LAN口。eth0连接路由器,eth1连接设备并为设备动态分配IP地址。
二、修改方法
将/etc/init.d/S41dhcpcd文件名修改为S31dhcpcd
mv /etc/init.d/S41dhcpcd /etc/init.d/S31dhcpcd
将/etc/initd-bak/80dhcp-server文件移动至/etc/init.d/目录
mv /etc/initd-bak/80dhcp-server /etc/init.d/
修改/etc/network/interfaces文件
设置eth0为dhcp,设置eth1为static,修改后的文件内容如下# interface file auto-generated by buildroot auto lo iface lo inet loopback # eth0 auto eth0 iface eth0 inet dhcp # eth1 auto eth1 iface eth1 inet static address 192.168.3.1 netmask 255.255.255.0 gateway 192.168.3.1
修改dhcp服务配置文件
在/etc/dhcp/dhcpd.conf文件中添加subnet参数,设置网段为192.168.3.xsubnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.100 192.168.3.110; option domain-name-servers 114.114.114.114; option domain-name "dhcp"; option routers 192.168.3.1; }
修改/usr/app/invokeExe
删除eth1默认路由,执行脚本开启网络地址转换通过eth0上网,在文件中添加以下内容:#删除eth1的路由 route del default gw 192.168.3.1 #执行nat网络地址转换脚本,通过eth0上网 /etc/wifi/nat_start
重启系统
重启系统让所有服务重新执行。
三、功能验证
将eth0连接到路由器中,eth1使用网线连接一个开发板(连接的设备的网口需要支持动态获取ip地址)。
- 查看开发板ip地址是否分配成功
此处eth0连接的路由器网段为192.168.0.X
# ifconfig
eth0 Link encap:Ethernet HWaddr 1A:C1:3F:A5:FE:90
inet addr:192.168.0.139 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::884d:435b:3de3:b60a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11973 errors:0 dropped:42 overruns:0 frame:0
TX packets:305 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:938083 (916.0 KiB) TX bytes:27585 (26.9 KiB)
eth1 Link encap:Ethernet HWaddr 72:D0:B9:65:61:89
inet addr:192.168.3.1 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::fef6:7370:39d:99a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:52 errors:0 dropped:0 overruns:0 frame:0
TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7920 (7.7 KiB) TX bytes:239256 (233.6 KiB)
ifconfig结果显示eth0连接路由器已经分配到了ip地址192.168.0.139,eth1静态ip地址192.168.3.1设置成功。
- 验证开发板是否可以上网
如果无法上网或无法ping通eth0的网关,则需要查看route中网关设置是否正确,正确设置如下:# ping www.baidu.com PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data. 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=56 time=6.86 ms 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=56 time=6.71 ms
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.0.1 0.0.0.0 UG 204 0 0 eth0 192.168.0.0 * 255.255.255.0 U 204 0 0 eth0 192.168.3.0 * 255.255.255.0 U 0 0 0 eth1
- 查看连接eth1网口的设备是否可以动态获取到eth1分配的ip地址。
ifconfig结果显示连接eth1网口的设备已经分配到ip地址192.168.3.103。# ifconfig eth0 Link encap:Ethernet HWaddr 32:F4:6E:BC:CA:80 inet addr:192.168.3.103 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::a53a:a60c:d802:19ca/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:237 errors:0 dropped:0 overruns:0 frame:0 TX packets:168 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:28452 (27.7 KiB) TX bytes:22415 (21.8 KiB)
- 连接eth1的设备上网测试
# ping www.baidu.com PING www.baidu.com (14.215.177.39): 56 data bytes 64 bytes from 14.215.177.39: seq=0 ttl=55 time=8.111 ms 64 bytes from 14.215.177.39: seq=1 ttl=55 time=8.214 ms
文档更新时间: 2020-08-11 14:13 作者:admin