それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

dd-wrtの有線LANにつないだPC間の通信ができない

dd-wrt で有線LAN間の通信ができない。iptableをオフにしても解決しないので嵌りそうだった。

DD-WRTの既知のバグだった。

Linux同士はいけるけど
Windows同士ならダメ。
ちな、Macもダメ

発現する状況

Linux ----> Linux ok
Linux ----> win  ng
linux ----> mac ng
mac ----> linux , win ng
win ----> linux , win ng

既出のエラーらしい

Posted: Thu May 03, 2012 10:04 pm Post subject: Wired PCs can't ping each other
Router - Bufallo WHR-G300N

2 wired PCs cannot ping each other, though the router has dhcp leases for each. One is a Linux machine, the other is dual boot Linux/Windows 7.
A Linux Wireless laptop can ping both and be pinged from both.

I have another Bufallo (same model) with its default firmware. When I replace the DD-WRT version, all machines can ping each other.

Any ideas?

Thx in advance

DD-WRT Forum :: View topic - Wired PCs can't ping each other

このスレでは、回答は出なかった。

arpキャッシュを更新しようとしたら出来ない。

まともなARPがないので、更に調べてみたら、ARPあたりもオカシイのでiptableでも無い事がわかる。エラーを検索したらARPの学習がされてないことがわかった。

ここで、arpがオカシイとわかった。

ARPが通らないのはVLANが切られているからだった。

ARPをキーワードに入れて調べてみたら、解決策が見えてきた。

SSHでログインして、以下のコマンドを実行します。

Using the references in the solution post, I logged in and tried the following:

swconfig dev switch0 set enable_vlan 1
swconfig dev switch0 set apply
swconfig dev switch0 set enable_vlan 0
swconfig dev switch0 set apply 

It appears to have actually fixed my issue with the wired connections not getting arp broadcast messages.  This is on the 19484 version of the software. Hopefully it works for you too. :)
|

これで動いたから、ビンゴ!VLANですね。

VLANはちゃんと設定したほうがよさそうですね。

でも次の人が言うように、VLANをちゃんと設定したほうがよさそうですね

I spent a few hours looking at this issue too. It looks like by default build 19484 puts each port on its own separate vlan, at least for reivision A2 A0. (Run "swconfig dev switch0 show".)  You can either disable the vlan functionality entirely, or put them into a vlan that allows appropriate communication. As I was worried about the effect of disabling vlans entirely, I just put each port I needed into the preexisting vlan that allows communication with all ports:

swconfig dev switch0 port 3 set pvid 6
swconfig dev switch0 port 2 set pvid 6
swconfig dev switch0 port 1 set pvid 6
swconfig dev switch0 port 0 set pvid 6 

You can make these commands run at startup by going to Administration->Commands and choosing "Save Startup".

http://forums.buffalotech.com/t5/Wireless/WZR-HP-G300NH-build-19484-and-ARP-issue/td-p/107084/page/3

これで解決できそうですね。

dd-wrt のスタートアップに以下を登録した

f:id:takuya_1st:20130320222025j:plain

これで無事解決した、すごく快適です。

公式のバグ報告

dd-wrt 公式にバグ報告があるけど、ちょっと話になってない。dd-wrt は報告するだけではだれも相手にしない感じですね。

http://www.dd-wrt.com/phpBB2/viewtopic.php?t=154326&sid=0cf486970840477d6bfef5695df83084
http://www.dd-wrt.com/dd-wrtv2/bugtracker/view.php?id=4304
http://www.dd-wrt.com/dd-wrtv2/bugtracker/view.php?id=4303

swconfigコマンドについて

今回の肝だったswconfig コマンドについて→http://wiki.openwrt.org/doc/techref/swconfig

スイッチの設定について

スイッチの設定については、次ですぐに見ることが出来る

ROUTER_IP=192.168.2.1
ssh $ROUTER_IP "swconfig dev switch0 show " | pbcopy
スイッチ状態取得の実行結果
Global attributes:
 enable_learning: 1
 enable_vlan: 1
 enable_vlan4k: 0
 blinkrate: 0
 enable_qos: 1
Port 0:
 mib: Port 0 MIB counters
IfInOctets : 0
EtherStatsOctets : 0
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 0
EtherStatsPkts65to127Octets : 0
EtherStatsPkts128to255Octets : 0
EtherStatsPkts256to511Octets : 0
EtherStatsPkts512to1023Octets : 0
EtherStatsPkts1024to1518Octets : 0
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 0
EtherStatsMulticastPkts : 0
EtherStatsBroadcastPkts : 0
EtherStatsDropEvents : 0
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 0
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 0
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 0
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 0
IfOutMulticastPkts : 0
IfOutBroadcastPkts : 0

 led: 2
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 1
 link: port:0 link:down
Port 1:
 mib: Port 1 MIB counters
IfInOctets : 46072
EtherStatsOctets : 46072
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 38
EtherStatsPkts65to127Octets : 183
EtherStatsPkts128to255Octets : 48
EtherStatsPkts256to511Octets : 22
EtherStatsPkts512to1023Octets : 4
EtherStatsPkts1024to1518Octets : 6
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 285
EtherStatsMulticastPkts : 2
EtherStatsBroadcastPkts : 14
EtherStatsDropEvents : 0
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 0
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 540079
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 3
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 268
IfOutMulticastPkts : 788
IfOutBroadcastPkts : 449

 led: 3
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 2
 link: port:1 link:up speed:100baseT full-duplex txflow rxflow 
Port 2:
 mib: Port 2 MIB counters
IfInOctets : 0
EtherStatsOctets : 0
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 0
EtherStatsPkts65to127Octets : 0
EtherStatsPkts128to255Octets : 0
EtherStatsPkts256to511Octets : 0
EtherStatsPkts512to1023Octets : 0
EtherStatsPkts1024to1518Octets : 0
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 0
EtherStatsMulticastPkts : 0
EtherStatsBroadcastPkts : 0
EtherStatsDropEvents : 0
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 0
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 0
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 0
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 0
IfOutMulticastPkts : 0
IfOutBroadcastPkts : 0

 led: 4
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 3
 link: port:2 link:down
Port 3:
 mib: Port 3 MIB counters
IfInOctets : 63309
EtherStatsOctets : 63309
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 146
EtherStatsPkts65to127Octets : 210
EtherStatsPkts128to255Octets : 60
EtherStatsPkts256to511Octets : 15
EtherStatsPkts512to1023Octets : 1
EtherStatsPkts1024to1518Octets : 17
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 125
EtherStatsMulticastPkts : 149
EtherStatsBroadcastPkts : 175
EtherStatsDropEvents : 4
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 4
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 551458
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 2
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 190
IfOutMulticastPkts : 788
IfOutBroadcastPkts : 448

 led: 0
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 4
 link: port:3 link:up speed:1000baseT full-duplex txflow rxflow 
Port 4:
 mib: Port 4 MIB counters
IfInOctets : 0
EtherStatsOctets : 0
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 0
EtherStatsPkts65to127Octets : 0
EtherStatsPkts128to255Octets : 0
EtherStatsPkts256to511Octets : 0
EtherStatsPkts512to1023Octets : 0
EtherStatsPkts1024to1518Octets : 0
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 0
EtherStatsMulticastPkts : 0
EtherStatsBroadcastPkts : 0
EtherStatsDropEvents : 0
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 0
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 0
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 0
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 0
IfOutMulticastPkts : 0
IfOutBroadcastPkts : 0

 led: ???
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 5
 link: port:4 link:down
Port 5:
 mib: Port 5 MIB counters
IfInOctets : 448782
EtherStatsOctets : 448782
EtherStatsUnderSizePkts : 0
EtherFragments : 0
EtherStatsPkts64Octets : 478
EtherStatsPkts65to127Octets : 265
EtherStatsPkts128to255Octets : 333
EtherStatsPkts256to511Octets : 478
EtherStatsPkts512to1023Octets : 58
EtherStatsPkts1024to1518Octets : 82
EtherOversizeStats : 0
EtherStatsJabbers : 0
IfInUcastPkts : 458
EtherStatsMulticastPkts : 788
EtherStatsBroadcastPkts : 448
EtherStatsDropEvents : 0
Dot3StatsFCSErrors : 0
Dot3StatsSymbolErrors : 0
Dot3InPauseFrames : 0
Dot3ControlInUnknownOpcodes : 0
IfOutOctets : 212687
Dot3StatsSingleCollisionFrames : 0
Dot3StatMultipleCollisionFrames : 0
Dot3sDeferredTransmissions : 0
Dot3StatsLateCollisions : 0
EtherStatsCollisions : 0
Dot3StatsExcessiveCollisions : 0
Dot3OutPauseFrames : 0
Dot1dBasePortDelayExceededDiscards : 0
Dot1dTpPortInDiscards : 0
IfOutUcastPkts : 410
IfOutMulticastPkts : 147
IfOutBroadcastPkts : 189

 led: ???
 disable: 0
 rate_in: 1048512
 rate_out: 1048512
 pvid: 6
 link: port:5 link:up speed:1000baseT full-duplex txflow rxflow auto
VLAN 1:
 info: VLAN 1: Ports: '05', members=0021, untag=0021, fid=0
 fid: 0
 ports: 0 5 
VLAN 2:
 info: VLAN 2: Ports: '15', members=0022, untag=0022, fid=0
 fid: 0
 ports: 1 5 
VLAN 3:
 info: VLAN 3: Ports: '25', members=0024, untag=0024, fid=0
 fid: 0
 ports: 2 5 
VLAN 4:
 info: VLAN 4: Ports: '35', members=0028, untag=0028, fid=0
 fid: 0
 ports: 3 5 
VLAN 5:
 info: VLAN 5: Ports: '45', members=0030, untag=0030, fid=0
 fid: 0
 ports: 4 5 
VLAN 6:
 info: VLAN 6: Ports: '012345', members=003f, untag=003f, fid=0
 fid: 0
 ports: 0 1 2 3 4 5 

buffalo のDD-WRTでもVLAN

VLANが使えるんですね。ちょっと驚きました。もし格安ルーターでもスイッチを制御できるとなると俄然DD-WRT便利になりますね。