ストレートケーブルとかクロスケーブルとかスイッチが自動判定して上手い事やってくれるっしょ、と思っていたらそうでもなかった

# まとめ

- 100Mbps以下のリンク速度でONUとSWを接続する場合、ONU側が固定であればSW側のspeed/duplexも適切な固定設定にする。
- ONU-SW間をストレート・クロスのどちらのケーブルで接続すべきか、きちんと確認して接続する。
- 設定確定後に必ず一度関連全機器の電源OFFを行い、電源ON後に正常動作する事を確認する。

# ここから本題

## ストレート？クロス？

一般にEthernetのLAN配線に利用されるLANケーブルのコネクタの先端にある8ピン、接続する機器側でそれぞれのピンを送信/受信どちらの用途で使用するかが決まっていて、これを合わせてやらないと上手く繋がらない。
これをケーブル側の配線で合わせてやる為に、ストレートケーブルとクロスオーバーケーブルというものが存在する。
接続する機器の種類に従って、ストレートで接続すべきか、クロスで接続すべきか、が変わってくる。
https://beginners-network.com/utp.html
https://www.infraexpert.com/study/ethernet3.html

けれども、最近のスイッチでは使用しているLANケーブルがクロスであってもストレートであっても自動的に適切に自インターフェースを設定してくれる（Auto MDI/MDI-X機能）。
https://tech.nikkeibp.co.jp/it/article/COLUMN/20120730/412585/
この為、NW構築時に各機器の接続に必要なLANケーブルがクロスが何本でストレートが何本で、などと考える必要はなくなった。
・・・はずで、大多数の利用シーンでは問題ないのだけれど。

例えば、NW機器大手Cisco社のCatalystスイッチの場合、Auto MDI/MDI-X機能を利用するには、オートネゴシエーションの設定とする必要がある。
https://www.cisco.com/c/ja_jp/td/docs/sw/campuslanswt-access/cat2960-xswt/cg/003/b_int_152ex_2960-x_cg/b_int_152ex_2960-x_cg_chapter_011.html
> ## Auto-MDIX の前提条件
> デフォルトで Automatic Medium-Dependent Interface Crossover（Auto-MDIX）機能がイネーブルに設定されます。 Auto-MDIX をイネーブルに設定する場合、Auto-MDIX 機能が正しく動作するようにインターフェイスの速度およびデュプレックスを auto に設定する必要があります。

しかし、通信キャリアからレンタルされるONUではspeed/duplexを固定としている場合も多い。
また、Ethernet接続する両側の機器で、固定なら固定、AutoならAuto、と設定を合わせる事が必要。
なので、ONUがspeed/duplex固定なら、対向するスイッチのポート設定もspeed/duplexを値をONU側と合わせた固定設定とする事が必要。
※1000Base-T以上の規格ではオートネゴシエーションが必須となっており、上記には当てはまらない。
https://www.infraeye.com/2017/08/04/network024/
http://netstaff.blog92.fc2.com/blog-entry-20.html
https://www.itbook.info/study/p28.html

自動判定効かないじゃん！

## 自動判定は効かないけれど

MDI/MDI-Xを自動判定する機能は効かないかもしれないけれど、切り替える機能自体はスイッチ側で持っているので、作業過程で上手く切り替わってしまえば疎通しちゃうかもしれない。
例えば、「本来はクロスケーブルで接続すべきところ、ストレートケーブルで接続しているのでリンクアップしない」という状況。
現場で色々悩んだ末にトラブルシューティングとして、スイッチ上で以下のコマンドを実行するとリンクアップする、という事があった。
他にも色々頑張れば「ストレートケーブルで疎通させる」事が出来る手段は恐らくありそう。
※ちなみにスイッチは「Cisco Catalyst 3650」。以下のリンクの内容を頼りにポート故障やケーブル断線がないか診断しようとした。診断によってスイッチ側がストレートケーブルだと認識する事で自設定を補正しリンクアップした？
https://miyalog.hatenablog.jp/entry/catalyst_tdr_cable-diagnostics

```
#test cable-diagnostics tdr interface ＜インターフェース名＞
```

ここでリンクアップしたからといって諸々動作確認をしてOK！で作業終了しちゃうと後から酷い目に合わされる。

- 電気事業法により、ある程度以上の電気設備は年に一度電源を停止した上での点検（法定電源点検）が義務付けられている。
- 法定電源点検のためにNW機器をシャットダウン。点検後に起動して、後は適当に動作確認を取って作業終了、と思ってたらいくら待ってもNW疎通が回復しない。
- 上述のコマンドを打てば疎通するけど、構築からしばらく経ったらそんな事は覚えちゃいないし準備もしてない。NW構築と電源点検の担当者が同じとも限らない。

実際にそんな状態に陥りました。

## トラブル発生！

NW環境の概略はざっくりと図の感じ。
![onu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3765/ab60e45f-4c6b-c265-188b-b1ac7deaeaae.png)
そんな状態に陥った後、初動1～2時間くらいで確認した事、考えた事。


- 自拠点PCでの確認
 - GWへのping疎通はOK
 - 自拠点PC間の疎通はOK
 - 他拠点PCへの疎通はNG
 - 自拠点からキャリア網側に抜けるはずのトラフィックは全てNGの様子
- ONU/L3SWのステータスLED確認
 - L3SWのONU側I/Fはリンクアップしていない
 - L3SWの自拠点PC側I/Fは全てリンクアップしてる
 - ONUのL3SW側I/Fはリンクアップしていない

ONU-L3SW間が疎通していない様子。故障の被疑箇所は以下３箇所か。

- ONU側
- ONU-L3SW間のケーブル
- L3SW側

電源点検の前（シャットダウン前）は正常に疎通していたし、ケーブル周りは特にいじっていない。
ケーブル断線は考え難いし、NW機器の設定レベルでは問題ないはず。機器故障か？
とりあえず、通信キャリアの保守サポートに電話を・・・

## テンパっていてその後の経過はあまり覚えていないけど・・・

サポートの方には丁寧に対応して頂きましたが、今思い返しても道のりが遠かったです。
たまたまgoogle先生のお陰で上述のTDR試験コマンドに行き着いて、リンクアップを確認。
これを手掛かりに調査して原因に辿り着けましたが、運が悪かったらどうなっていたことか・・・
NW疎通を回復させないと翌日の業務が全く回らなくなるので焦りました。

という事で、最初のまとめになります。
改めて書き出してみると基本中の基本という気もしますが、基本を疎かにすると苦労する、というのはどの世界でも変わらないという事で。