openwrtで深刻なパケット損失

openwrtで深刻なパケット損失

mikrotik rb951-2hnd ルータで奇妙な問題が発生しました。私は数年前に次のように画像を作成しました。リビジョン39392とパッチファームウェアを適用すると、すべてがうまく機能します。ほんの数ヶ月前、私はファームウェアをアップデートすることにしました。だからそうして見つけました。完全な物理ネットワークの中断。私は持っていますパケット損失率90%以上ただし、イーサネットポート経由Wi-Fiは完璧に動作します。工事していて、めちゃくちゃだと思いました。そのため、download.openwrtから2つの異なる画像をダウンロードし、私が自分で作成した画像もいくつか追加ダウンロードしましたが、症状は常に同じです。私のバージョンのsvnで動作させたかったのですが、残念ながらパッチが利用できず、イメージを復元できませんでした。楽しくvmlinux-initramfs(bootp)を介してネットワーク起動時に物理ポートを含むすべてが機能します。同じビルド改訂。 vmlinuxがうまく機能しているため、フラッシュが破損していると思われ、rootfs.tar.gzのファイルとファームウェアファイルが同じであることを確認しました。次の手順では、次のアドオンがリストされているvmlinux-initramfsとファームウェアシステムにロードされた悪魔を比較しました。

nf_log_common.ko
nf_log_ipv4.ko
nf_log_ipv6.ko
nf_nat_masquerade_ipv4.ko
nf_reject_ipv4
nf_reject_ipv4.ko
nf_reject_ipv6
nf_reject_ipv6.ko
nls_base.ko

ロードをブロックすることは役に立ちません。それに私は得るdmesg または logread にエラーがありません。。私の設定は次のとおりです。
トップ
iptables-Ln
/etc/config/ネットワーク- 10000. 2-5 LAN(STAクライアントモードのWiFi)

DHCPシナリオ:

マイノートパソコン(DHCPクライアント)をLANポートに15秒間接続してから接続を解除すると、次のようになります。

  • ラップトップ転送:3つのdhcpリクエストと9つのicmpv6
  • ノートブック受信:0パケット
  • ルーター転送:なし? (ifconfigは4つのパケットを表示しますが、tcpdumpはそれをキャプチャしません。)
  • ルータはラップトップ転送リストから2つのicmpパケットを受信します(以下にリストします)。

また、ルータでtcpdumpを確認しましたが、欠落しているパケットが表示されませんでした。問題はドライバーレベルのどこかにあるようです。しかし、ちょっと待って、vmlinuxはドライバ(カーネルモジュール)と同じように動作します。

root@OpenWrt:/# tcpdump -vv -i eth0.3
tcpdump: WARNING: eth0.3: no IPv4 address assigned
tcpdump: listening on eth0.3, link-type EN10MB (Ethernet), capture size 65535 bytes
[ 1042.060000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 2 is up
09:35:24.172637 IP6 (hlim 1, next-header Options (0) payload length: 36) :: > ff02::16: HBH (rtalert: 0x0000) (padn) [icmp6 sum ok] ICMP6, m]
09:35:25.872843 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::b2e3:928a:66b2:ff43 > ff02::2: [icmp6 sum ok] ICMP6, router6
          source link-address option (1), length 8 (1): 5c:f9:dd:48:9e:89
            0x0000:  5cf9 dd48 9e89
5c:f9:dd:48:9e:89 /fe80::b2e3:928a:66b2:ff43 - laptop,  d4:ca:6d:92:a4:7e / fe80::d6ca:6dff:fe92:a47e: - router

固定IPシナリオ:

openwrt (static 192.168.2.1)
root@OpenWrt:/# ping 192.168.2.2
PING 192.168.2.2 (192.168.2.2): 56 data bytes
64 bytes from 192.168.2.2: seq=4 ttl=64 time=0.505 ms
64 bytes from 192.168.2.2: seq=21 ttl=64 time=0.489 ms
64 bytes from 192.168.2.2: seq=34 ttl=64 time=0.528 ms
64 bytes from 192.168.2.2: seq=39 ttl=64 time=0.512 ms
64 bytes from 192.168.2.2: seq=45 ttl=64 time=0.527 ms
64 bytes from 192.168.2.2: seq=48 ttl=64 time=0.549 ms
64 bytes from 192.168.2.2: seq=51 ttl=64 time=0.813 ms
^C
--- 192.168.2.2 ping statistics ---
56 packets transmitted, 7 packets received, 87% packet loss
round-trip min/avg/max = 0.489/0.560/0.813 ms
laptop (static 192.168.2.2)
14:50:08:andrew:/home/andrew:0
: ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
From 192.168.2.2 icmp_seq=13 Destination Host Unreachable
From 192.168.2.2 icmp_seq=14 Destination Host Unreachable
From 192.168.2.2 icmp_seq=15 Destination Host Unreachable
^C
--- 192.168.2.1 ping statistics ---
100 packets transmitted, 0 received, +3 errors, 100% packet loss, time 99022ms
pipe 3
14:51:53:andrew:/home/andrew:1
: ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
^C
--- 192.168.2.1 ping statistics ---
29 packets transmitted, 0 received, 100% packet loss, time 28080ms

私の質問は次のとおりです。

問題をより深く理解するには、どのような措置を講じるべきですか?少なくともエラーを見つけたいです。デバッグレベルをどこかに設定する必要がありますか?このような大きなパケット損失が発生するのはなぜですか?

編集する
Netbooting vmlinux は同じ
Netbooting を生成します。カーネルのデバッグ- 完璧に動作します。残念ながら、サイズは11MBで、mtd1は小さすぎて保存できません。

ベストアンサー1

ところで、いよいよ理由を見つけました。 Initramfsは成功の鍵ではありません。リセットボタンを押して電源を入れると、ルータが正常に動作していることがわかりました。しかし、Flash Driverは長続きしないようです。数時間使用した後、ロード速度に応じてカーネルパニックが発生し、ルータが再起動します。

おすすめ記事