Open5

自宅ネットワーク改造計画

まりーまりー

3月現在の自宅ネットワーク環境

各機材の役割

  • YAMAHA RTX1210 : VRRPのマスタールータ。IPoEで頑張っている。IPv4 over IPv6を設定済み。
  • YAMAHA RTX1200 : VRRPのスレーブルータ。お家にもともと引かれてる無料Wi-Fiにつながっている。
  • Netgear Switching Hub : 内部L2スイッチ。現状の単一障害点
  • TP-Link X50 : Wi-FiのAP。
  • Synology NAS : ホームネットワークのNAS。今のところ動画置場。RAID0。
  • Raspberry Pi 4 : 監視。Zabbix + Grafana。今のところSNMPでトラフィック量だけを見ている。

今後やること。

  • L2スイッチの冗長化による単一障害点の排除。
  • RTX1210のフィルタ設定見直し。
  • SNMPv3の実装。
  • 電源の二重化(メインとサブで電源タップを分けるだけ。一般のご家庭に正副2系統はない。)
  • トラフィックの行き先を監視。
  • VLANを切る。
まりーまりー

今日までの進捗~

進捗したものだけ記載(これは進捗というのか…?)。

構成図

前回から大幅に変わった。が、中身的には何も変わっていない。
現時点では、Netgear S350が工場出荷状態のX510Lが2台に変わっただけだ。

L2スイッチの冗長化による単一障害点の排除(排除まではできてない)

みんな大好き例のX510Lを2つ購入。耳がないものなので、耳もついでに購入した。
コンフィグ突っ込むのうまくいかないな~と思っていたが、買ってから初期化せずに使用していて変なコンフィグが入りっぱなしだったため

erase startup-config

で、初期化した。スタック処理はまだ入力していないが、先にSSHができるようにする予定。

電源の二重化

電源タップを適当に買ってきて正副で分けた。
物が少ないのもあって、6口の電源タップで事足りそうである。

まりーまりー

ネットワーク断事件

ついさっき、ネットワークが切り替わった際にそのまま外に出れなくなった。VRRPが機能していないことを表している。
RTX1210でネットワーク断がおきた際に、Slaveとして機能してるRTX1200にルーティングが切り替わった。

確認

Grafanaでトラフィック量を確認してみると、確かにRTX1210からRTX1200へ切り替わっていることが確認できた。

だが、RTX1200からの通信がうまくいかないことが判明。ユーザから「Wi-Fiが繋がらない」と苦情が来た()。

調査

原因を調べていると、RTX1200の設定に ip lan1 vrrp shutdown trigger 1 lan2が設定されていることが判明。
このコマンドはVRRPにおける、Masterルータとして動いているルータ内で、条件を満たした際に対象をシャットダウンさせるものであり、Slaveルータとして動作しているRTX1200には必要がない。(ソース
そもそもRTX1200はSlaveとして機能しており、RTX1210の通信が復活した際は自動的に戻るようになっている。

変更

今回のことを受けて、RTX1200のコンフィグからVRRPのシャットダウントリガーを削除した。

no ip lan1 vrrp shutdown trigger 1 lan2

確認

上記のコンフィグを削除している段階ではRTX1210の通信が復活していた(調査が遅いともいう)ので、RTX1210のWAN側のLANケーブルを抜線してVRRPの機能テストを行った。
適当な端末でTwitchの適当な配信をつなぎながら行い抜線。RTX1200で show status vrrpの結果がMasterになっている(移行されている)ことを確認後もTwitchで配信が流れていたため通信は正常に行えてることが確認できた。

もにょもにょすること

シャットダウントリガーの設定がSlaveルータに設定されている場合の挙動が確認できなかった。
報告としては原因が明確になっていないため、精査したいところだ。
憶測としてはSlaveルータにシャットダウントリガーが設定されていると、対象のインタフェースがシャットダウン状態になるのではないかと予想している。その状態でVRRPが切り替わってもシャットダウンされているため通信できなくなったのではないかと予想される。
また確認しよう。

まりーまりー

X510Lの監視(MIBの登録からZabbixでの疎通確認まで。)

せっかく2つあるので、監視をさせる。

X510LのSNMP設定

Allied Telesisのコマンドリファレンスを見ながら作業を行う。
行ったのはだいたい以下の通り。今はSNMPv1なので、これぐらいでも問題はない。

(config)# snmp-server
(config)# no snmp-server ipv6
(config)# snmp-server community <X510L-HOSTNAME> ro

参考:https://www.allied-telesis.co.jp/support/list/awp/rel/5.4.8-2.3/613-002106_R/docs/snmp-server@100CONFIG.html

MIBの取得

アライドテレシス公式から自分のFirmwareのVersionにあったものをダウンロードしてくる。
https://www.allied-telesis.co.jp/support/list/switch/x510l/index.html

MIBをZabbixで使えるようにする。

SSHで繋いで、MIBをZabbixサーバに放り込む。

MIBファイルはunzipとかで解答したあと、/usr/share/snmp/mibs/に置く。
/usr/share/snmp/snmp.confファイルにx510lのMIBフォルダのフルパスを追記する。
その後、Zabbixサーバを再起動させる。
systemctl restart zabbix-server.service

その後、MIBが機能しているか確認する。

参照:https://www.zabbix.com/documentation/current/jp/manual/config/items/itemtypes/snmp/mibs

ZabbixのWebGUIで見れるようにする。

Monitoring -> Hostsで登録したあと、SNMPの内容を見れるようにData Collectionに登録する。
今回はX510Lのスタック構成にしようとしているため2台存在するので、Template機能を使う。
まだ自動化の手段もないので、GUIベースで作業を進める。

今回設定したItemはHostnameその他諸々を取って来てくれるもの。これでSNMPの疎通確認を行い、疎通することが確認できた。

ここでOIDの読み方などがわからないまま進めていたことが仇になってつまり気味なので、一度そちらの理解を深めてから、再度構築する。

まりーまりー

SNMPv3に関係するRFCを読む。

RFC3411を読んだ。

ようやくRFC3411を読み終わったので(といっても完全に理解した訳では無いが)、SNMPv3へ対応していこうと思う。
ちなみにSNMPv3に関するRFCは3410~3415までの6つ(Source)で、Introductionの3410を読みに行った際に、欲しい情報が3411と3414にあるという推測がたった。しかし、3411には欲しい情報はなかったのでおそらく3414であると考える。
SNMPv3とかの仕組みはRFC1個で完結していると思っていたので、いくつもに分かれているという時点でちょっとびっくりだった。

RFCの読み方について調べた。

順番逆じゃない?はい。すみません。
Qiitaの記事を参考にして、RFC/Internet-Draftの読み方を読んだ。頑張ろう、英語。