10万円でお手軽 10GbEホームネットワークを構築

10万円でお手軽 10GbEホームネットワークを構築

MikroTik CRS310-1G-5S-4S+IN でお手軽 10GbEホームネットワークを構築 ご家庭の 10GbE 化事情

一つ前の記事でサーバーは決定したが、Switchの方も簡単に書いておく

要件

MikroTik Routers and Wireless - Products: CRS310-1G-5S-4S+IN

  • 10GbE が 4本
    • sfp-sfpplus1,2,3 は 各クラスターを接続
    • sfp-sfpplus4 は Switch間 mLAG リンク
  • mLAG でSwitch間冗長化できる
  • できればファンレス
  • 横幅 254mm 以下(E300-9D-4 の横面より小さいこと)
  • RJ-45 で Console が出せる
  • 1GbE Management port 付き
  • LACP (IEEE 802.3ad) dynamic mode に対応する
  • IEEE 802.1Q
    • trunk 対応
  • Jumbo frame 9000MTU
  • SNMP 対応
  • 予算は日本市場で Switch 5万/台なので 3万/台ぐらい, SFPなども含め10万ぐらいが予算

候補&購入

下記の製品は良さそうだったが、入手性,とソフトウェアの周りが不透明だった。 実装や、取説、設定の仕方がサイトの情報で軽くしらべた感じ見当たらなかったのとサイズが今回の目標では予選落ち

一時期某Web媒体で取り上げらて、RouterではないのにNATをするような使い方をされて可愛そうだったが、こいつは 4Port しかなく今回の用途だと足りない,,

MikroTik Routers and Wireless - Products: CRS305-1G-4S+IN

そこで、サイトをくまなく漁っていると下記の製品を見つけた SFP 1GbE x5, SFP+ 10GbE x4 !! 今回の要件に合致するし、 Tests の結果みても上々ただ発表されたばかりの製品で国内では手に入らない,, (購入を検討してたのは 2022/02月中旬頃

MikroTik Routers and Wireless - Products: CRS310-1G-5S-4S+IN

購入先を漁ってると、getic という EU の ECサイトにたどり着いた。在庫を確認すると在庫もあるし、SFP+ 対応のケーブル(XS+DA0001)も日本で調達すると1本 9k円だがサイトでは 3k円ほどで購入できそうなのがわかり10mほど悩んだ挙げ句 Mikrotik の wiki を読み漁り mLAG, BGP, SNMP, LACP が可能であることが確認できたので深夜のテンションでポチった。

2週間ほど、かかって到着したけどコロナの影響で着に遅延するのは問題ないが FedEx の対応が正直ゴミすぎたので次からは送料はケチらず DHL にすることにしたのであった。

設定

Firmware Upgrade

ether1 が管理ポートのため、一度 DHCP でアドレス振って Firmware Upgrade をする

/ip dhcp-client add interface=ether1 disabled=no
/ip dhcp-client print detail
/ip address print
/system package update set channel=upgrade
/system package update check-for-updates
/system package update download
/system reboot

[admin@MikroTik] > system package update check-for-updates
            channel: upgrade
  installed-version: 6.49.3
     latest-version: 7.2.1
             status: New version is available


[admin@MikroTik] > system package update download
            channel: upgrade
  installed-version: 6.49.3
     latest-version: 7.2.1
             status: Downloaded, please reboot router to upgrade it

初期化

default config で bridge などの設定をしていて邪魔なのでリセットする

/system/reset-configuration no-defaults=yes

MLAG

Multi-Chassis Link Aggregation - MLAG | Cumulus Linux 5.0

MLAG の primary に選ばれるのは変更不可で system-mac が若いほうが選ばれるので、テプラなどで資産管理する自宅ラック勢は事前に考慮が必要だった(1敗

mlag-idmodenameinterface
11802.3ade300-9d4-01sfp-sfpplus1
21802.3ade300-9d4-02sfp-sfpplus2
31802.3ade300-9d4-03sfp-sfpplus3
41802.3ads3910-24tf-01sfp5
51802.3adds718-01sfp4

bound

コマンドを入れる前にデフォルトで作成されるbridgeから切り離す必要がある。 初期化を no-defaults=yes 付きで実施していない場合、ブリッジが作成されているので コマンドが受け付けられない。

failure: sfp-sfpplus4 already in bridge

IP MTU は 通常の MTU である Linux の ifupdown2 では 9216 になるため弊宅ではこれを標準とする。

MikroTik の用語では mtuIP MTUl2mtu となる

l2mtu は 4 byte 追加した数値にする必要があるが、 MikroTik の設定を見ると mtu=1500,l2mtu=1592 となっているためこれに合わせて mtu=9216,l2mtu=9308 とする

Manual:Maximum Transmission Unit on RouterBoards - MikroTik Wiki

/interface
set sfp-sfpplus1 mtu=9216 l2mtu=9308
set sfp-sfpplus2 mtu=9216 l2mtu=9308
set sfp-sfpplus3 mtu=9216 l2mtu=9308
set sfp-sfpplus4 mtu=9216 l2mtu=9308
set sfp5         mtu=9216 l2mtu=9308
set sfp4         mtu=9216 l2mtu=9308


/interface bonding
add mlag-id=11 mode=802.3ad name=e300-9d4-01   mtu=9216 l2mtu=9308 transmit-hash-policy=layer-2 slaves=sfp-sfpplus1
add mlag-id=21 mode=802.3ad name=e300-9d4-02   mtu=9216 l2mtu=9308 transmit-hash-policy=layer-2 slaves=sfp-sfpplus2
add mlag-id=31 mode=802.3ad name=e300-9d4-03   mtu=9216 l2mtu=9308 transmit-hash-policy=layer-2 slaves=sfp-sfpplus3

add mlag-id=41 mode=802.3ad name=s3910-24tf-01 mtu=9216 l2mtu=9308 transmit-hash-policy=layer-2 slaves=sfp5
add mlag-id=51 mode=802.3ad name=ds718-01      mtu=9216 l2mtu=9308 transmit-hash-policy=layer-2 slaves=sfp4

/interface bonding
set e300-9d4-01   transmit-hash-policy=layer-2
set e300-9d4-02   transmit-hash-policy=layer-2
set e300-9d4-03   transmit-hash-policy=layer-2

set s3910-24tf-01 transmit-hash-policy=layer-2
set ds718-01      transmit-hash-policy=layer-2
/interface bridge
add name=bridge-mlag vlan-filtering=yes mtu=9216 l2mtu=9308

/interface bridge port
add bridge=bridge-mlag interface=e300-9d4-01
add bridge=bridge-mlag interface=e300-9d4-02
add bridge=bridge-mlag interface=e300-9d4-03
add bridge=bridge-mlag interface=s3910-24tf-01
add bridge=bridge-mlag interface=ds718-01
add bridge=bridge-mlag interface=sfp-sfpplus4 pvid=4094

/interface bridge mlag
set bridge=bridge-mlag peer-port=sfp-sfpplus4

vlan 設定

/interface bridge vlan
add bridge=bridge-mlag tagged=bridge-mlag,e300-9d4-01,e300-9d4-02,e300-9d4-03,s3910-24tf-01 vlan-ids=2-4093

mgmt port

/ip address
add address=10.2.21.144/24 interface=ether1

/ip route
add gateway=10.2.21.1

/ip dns
set servers=10.1.1.11

ホスト名の変更

/system/identity/set name=crs310-01

Timezone と NTP

/system/clock/set time-zone-name=Asia/Tokyo
/system/clock/set time-zone-autodetect=yes

/system ntp client
set enabled=yes

/system/ntp/client/servers
add address=ntp1.jst.mfeed.ad.jp iburst=yes min-poll=6 max-poll=8
add address=ntp2.jst.mfeed.ad.jp iburst=yes min-poll=6 max-poll=8
add address=ntp3.jst.mfeed.ad.jp iburst=yes min-poll=6 max-poll=8

/system/ntp/client print

logging

/system logging action
add bsd-syslog=yes name=syslog01 remote=10.1.11.21 src-address=10.2.21.145 syslog-time-format=iso8601 target=remote
add bsd-syslog=yes name=syslog02 remote=10.1.11.22 src-address=10.2.21.145 syslog-time-format=iso8601 target=remote

/system logging
add action=syslog01
add action=syslog02

ssh 起動

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set api disabled=yes
set api-ssl disabled=yes

set ssh address=10.2.21.0/24
set winbox address=10.2.21.0/24

SNMP

/snmp/community/
add name=public addresses=10.1.11.11/32,10.1.11.21/32,10.1.11.22/32,10.2.21.0/24 read-access=yes
set numbers=0 disabled=yes

/snmp/set enabled=yes location="e300 Rack" trap-community=public trap-generators=interfaces,start-trap,temp-exception trap-interfaces=ether1 trap-target=10.1.11.21,10.1.11.22 trap-version=2 src-address=10.2.21.147

設定ファイルのバックアップ

cloud にバックアップできるらしい Cloud - RouterOS - MikroTik Documentation

RouterOS v6.44 以降は下記の仕様で使える

  • 1 free backup slot for each device
  • Allowed backup size: 15MB
  • Sends encrypted packets to cloud2.mikrotik.com using UDP/15252 and TCP/15252 port
/system/backup/cloud/upload-file action=create-and-upload password=admin
  • 更新時は下記のようにすれば更新できる
> print
 0 name="cloud-20220604-221525" size=31.4KiB ros-version="7.2.3" date=jun/04/2022 22:15:27 status="ok" secret-download-key="*******"

/system/backup/cloud/upload-file action=create-and-upload password=admin replace=cloud-20220604-221525