【路由器开发板参数】
MTK双频:MT7620a + MT7612e
内存:256 MB
闪存:16 MB
【问题】
路由器开发板刷机后,与PC无法ping通。PC与路由器开发板的LAN口相连,开发板和PC用ifconfig命令都可以查到IP。
开发板:192.168.1.1(刷机后缺省配置)
PC:192.168.1.2(通过手工配置)
【分析】
两端网口直连都无法ping通,先排查硬件问题,PC网口、开发板网口、网线均正常。再检查两端网口配置,PC网口配置无异常,开发板网口配置看起来也无异常。
【解决】
开发板网口的配置在/etc/config/network文件里。
文件初始配置是这样的:
config interface ‘lan‘ option ifname ‘eth0.1‘ option type ‘bridge‘ option proto ‘static‘ option ipaddr ‘192.168.1.1‘ option netmask ‘255.255.255.0‘ option ip6assign ‘60‘ config interface ‘wan‘ option ifname ‘eth0.2‘ option proto ‘dhcp‘
查看网口信息
[[email protected]]ifconfig br-lan Link encap:Ethernet HWaddr 00:0C:43:76:20:77 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20c:43ff:fe76:2077/64 Scope:Link inet6 addr: fd16:4e5b:1ca2::1/60 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:14 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:1764 (1.7 KiB) eth0 Link encap:Ethernet HWaddr 00:0C:43:76:20:77 inet6 addr: fe80::20c:43ff:fe76:2077/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:240 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:786 (786.0 B) TX bytes:89596 (87.4 KiB) Interrupt:3 eth0.1 Link encap:Ethernet HWaddr 00:0C:43:76:20:77 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:526 (526.0 B) eth0.2 Link encap:Ethernet HWaddr 00:0C:43:76:20:77 inet6 addr: fe80::20c:43ff:fe76:2077/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:226 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:87291 (85.2 KiB)
值得注意的是LAN口名称是‘eth0.1‘,WAN口名称是‘eth0.2‘。这种eth0.x是啥意思呢?
自己先尝试着修改配置文件中的网口配置,连通性测试结果如下:
将eth0.1改为eth0就可以ping通,看来确实是名称的问题。
跑到OpenWrt官网上看了看各种网口名称的介绍:network interface introduction。eth0表示物理网口,eth0.1表示vlan为1的逻辑网口。这下清楚了,LAN口配置为eth0.1时打上了ID=1的VLAN头,因此和PC直连就无法通信了。
为了确认一下,在PC端抓包查看,确实如此。
注意:开发板每次修改网卡配置后需要重启网卡,命令:/etc/init.d/network restart
扩展阅读:
时间: 2024-10-26 08:23:41