无法在openwrt路由器的局域网端口之间进行通信


9

我有一个WBMR-HP-G300H Buffalo Airstation路由器,上面已经安装了最新的OpenWRT软件。

除了一小部分,其他所有工具(ADSL,WIFI等)都运行良好。局域网端口之间无法通信。即,如果我在局域网端口1上连接了一台计算机,而我尝试在局域网端口2上ping通另一台计算机,那么我会收到“无法到达目的地”的信息。

我可以从路由器本身对两台计算机执行ping操作,也可以从无线连接的单独笔记本电脑中对每台计算机执行ping操作。所有计算机都在同一子网范围(10.0.0.?/24)中。

我怀疑我可能需要在交换机上配置VLAN,但是每次尝试使用Google的各种配置来完成此操作时,我都会冻结所有LAN端口,并且必须使用无线连接的笔记本电脑恢复原状。

这是我的/ etc / config / network:

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '10.0.0.1'
        option _orig_ifname 'eth0 wlan0'
        option _orig_bridge 'true'
        option ifname 'eth0'

config adsl-device 'adsl'
        option fwannex 'a'
        option annex 'a2p'

config interface 'wan'
        option _orig_ifname 'nas0'
        option _orig_bridge 'false'
        option proto 'pppoa'
        option encaps 'vc'
        option atmdev '0'
        option vci '38'
        option vpi '0'
        option username '?????????????'
        option password '??????????????'

任何帮助都会受到热烈欢迎。

这是更多配置内容。

root@OpenWrt:~# ifconfig -a
br-lan    Link encap:Ethernet  HWaddr 00:24:A5:BD:66:08  
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:226576 errors:0 dropped:346 overruns:0 frame:0
          TX packets:269292 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:26771676 (25.5 MiB)  TX bytes:183986450 (175.4 MiB)

eth0      Link encap:Ethernet  HWaddr 00:24:A5:BD:66:08  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ifb0      Link encap:Ethernet  HWaddr 36:60:EC:DF:13:A1  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ifb1      Link encap:Ethernet  HWaddr 4A:7B:75:67:54:E0  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:780 errors:0 dropped:0 overruns:0 frame:0
          TX packets:780 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:58369 (57.0 KiB)  TX bytes:58369 (57.0 KiB)

mon.wlan0 Link encap:UNSPEC  HWaddr 00-24-A5-BD-66-08-00-48-00-00-00-00-00-00-00-00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2424 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:320188 (312.6 KiB)  TX bytes:0 (0.0 B)

pppoa-wan Link encap:Point-to-Point Protocol  
          inet addr:81.136.179.204  P-t-P:81.134.80.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:258894 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212976 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:177341656 (169.1 MiB)  TX bytes:25192459 (24.0 MiB)

wlan0     Link encap:Ethernet  HWaddr 00:24:A5:BD:66:08  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:204063 errors:0 dropped:0 overruns:0 frame:0
          TX packets:245516 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32 
          RX bytes:26613140 (25.3 MiB)  TX bytes:162799765 (155.2 MiB)

root@OpenWrt:~# brctl show
bridge name     bridge id               STP enabled     interfaces
br-lan          8000.0024a5bd6608       no              wlan0
                                                        eth0
root@OpenWrt:~# swconfig dev eth0 show
Global attributes:
        enable_vlan: 0
Port 0:
        pvid: 0
        link: port:0 link:up speed:1000baseT full-duplex txflow rxflow 
Port 1:
        pvid: 0
        link: port:1 link:down
Port 2:
        pvid: 0
        link: port:2 link:down
Port 3:
        pvid: 0
        link: port:3 link:down
Port 4:
        pvid: 0
        link: port:4 link:up speed:100baseT full-duplex txflow rxflow auto
Port 5:
        pvid: 0
        link: port:5 link:up speed:100baseT full-duplex txflow rxflow auto

关于马克。

Answers:


7

这是从有关路由器OpenWRT页面复制的:

有线站无法相互ping通

这是一个已知的错误:“在端口之间切换eth0(Atheros AR8316)没有流量”根据该错误的注释,您可以尝试以下命令:

swconfig dev eth0 vlan 1 set ports "0 1 2 3 4 5"
swconfig dev eth0 set apply

如果这些工作正常,则可以将以下行添加到/ etc / config / network中:

config switch
  option name 'eth0'
  option reset    '1'


config switch_vlan
  option vlan '1'
  option device   'eth0'
  option ports    '0 1 2 3 4 5'

它不能解决问题。参见dev.openwrt.org/ticket/11143
里约热内卢

完全相同的错误也会影响TP-Link WR740N,后者也是基于atheros的芯片组。您的解决方案对我有用,谢谢!
Nilesh 2015年

1

您应该检查所有lan端口是否被视为单个eth0接口,或者它们是否使用单独的接口。

root@router:~# ifconfig | grep encap
wlan0     Link encap:Ethernet  HWaddr 00:18:84:1A:58:29  
lan       Link encap:Ethernet  HWaddr 00:18:84:1A:58:30  
eth0      Link encap:Ethernet  HWaddr 00:18:84:1A:58:30
eth1      Link encap:Ethernet  HWaddr 00:18:84:1A:58:31
eth2      Link encap:Ethernet  HWaddr 00:18:84:1A:58:32
eth3      Link encap:Ethernet  HWaddr 00:18:84:1A:58:33
lo        Link encap:Local Loopback  

如果它们确实是单独的接口,则将它们添加到局域网桥中:

root@router:~# brctl show
bridge name bridge id               STP enabled     interfaces
lan         8000.0018841a6830       no              eth0
                                    wlan0

root@router:~# brctl addif lan eth1
root@router:~# brctl addif lan eth2
root@router:~# brctl addif lan eth3

我在dd-wrt上尝试了这个,好了。参考这里


我敢肯定,我只看到一个接口eth0。我现在无法检查。
ScaryAardvark'5

@ScaryAardvark:请务必进行检查,ifconfig -a因为如果它们掉下来它们可能不会出现。
petrus

好的,ifconfig -a不会将eth0显示为单独的接口。我有“ br-lan”,“ eth0”,“ ifb0”,“ ifb1”,“ lo”,“ mon.wlan0”,“ pppoa-wan”和“ wlan0”。
ScaryAardvark'5

@ScaryAardvark:怎么brctl show br-lan说?
佩特鲁斯(Petrus)2012年

brctl返回网桥名称br-lan,网桥ID 8000.0024a5bd6608,STP启用否,接口wlan0 eth0。
ScaryAardvark

1

我注意到其中一个端口以1000Mbps的速度连接,其他端口以100Mbps的速度连接。您可以验证以相同速度连接的两台计算机之间是否存在此连接问题吗?

我在想,处理交叉速度连接的内置交换机可能存在问题,当处理通过内核的单独接口时,该问题将被隐藏。


我可以验证以相同速度(100Mbps <-> 100Mbps)或以不同速度(100Mbps <-> 1000Mbps)运行的任何设备之间是否没有连接。我无法检查1000Mbps <-> 1000Mbps,因为我没有另一台以千兆位运行的计算机
ScaryAardvark 2012年

1

看起来默认情况下未设置交换机配置以允许端口之间的通信

我需要执行以下操作。

$ swconfig dev eth0 vlan 1 set ports "0 1 2 3 4 5"
$ swconfig dev eth0 set apply
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.