10Gbps対応ルータを自作する
前書き
我が家は一般の御家庭ですが、10Gのフレッツ光クロスを導入することができましたので、10Gbps対応ルータを自作します。参考にした記事と異なるマイナーな点を修正しました。
- BIGLOBE光(MAP-E方式)を利用する環境となります
- Proxmox Virtual EnvironmentのOpenWRT上にルータを構築しています
完成した様子
左上から時計回りに、
- ThinkCentre M720q Tiny(今回自作した10Gbps対応ルータ)
- XikeStor SKS3200-4E2X(2.5Gx4 10Gx2のSW)
- 一般の御家庭ならだいたい転がっているNEC Univerge IX2215 VPNルータ
- HP ProLiant MicroServer N54(S-ATA HDDが4本刺さるのでRAID NASにしています)
- 有線ポート1Gbpsにしか対応していないBuffaloのWi-Fiルータ
- NTTのフレッツ光クロス対応ONU
です。
ルータのSFP+ポート2からスイッチまでは、OM3の光ファイバを使っています。スイッチのポート情報はこんな感じです。
参考にしたサイト
下記サイトを30回は見返しました。
買ったもの
- Thinkcentre M720q Tiny 10,000円くらい(オークション)
- Intel 82599 Huawei SP310 X520-DA2 sfp+ 10Gbps LANカード 5,000円くらい(オークション)
- M720q用PCI Expressスロットのライザーカード(Amazon)
- XikeStor 6ポートSW SKS3200-4E2X 6,580円(Amazon)※いわゆる「八丁スイッチ」。4×2.5G + 2×10G SFP+です。なお、リセットスイッチは排熱スリットの向こうに隠されています。一度はお世話になります
- 10GBase-T SFP+ RJ-45 トランシーバーx2(Aliexpress)※低発熱な80Mというのがとても重要らしい たしかに80Mのモジュールでも触れないくらい熱くなります
- 10G SFP+ SR トランシーバーx2、 OM3 光ファイバケーブル(LCコネクタ)(オークション)
- 10Gtek 2.5G NIC Realtek RTL8125 2,099円(Amazon)※クライアントPC用
- 光ファイバクリーナー1,230円
- LANケーブルたくさん(Cat6の在庫が大量にあったので、取り急ぎCat6aを準備せず進めました)
ルータ自身は3万円位で完成しましたが、本当の一般の御家庭なら、大人しくBuffalo の10Gbpsルータ VR-U500Xか、10G WANのついているWi-Fiルータを買いましょう。
手順
主にInternet Watchの記事を参考にProxmox VE環境を構築して、OpenWRTを導入しました。違う所は下記です。
LANブリッジ
ThinkCentre M720 Tinyには、マザーボードにGigabit Ethernet NICが1ポート(eno1)ついていますので、このポートもLANブリッジに所属させました。当初はLAN用のSFP+ポートの動作が思わしくなく、原因切り分けができなかったために、X-520-DA2の2つ目のSFP+ポート(enp1s0f1)とブリッジさせる(Linux Bridge)ことで、どちらのポートからも設定作業を続けることができました。
OpenWRTのInterface名
記事では、OpenWRTのネットワークインタフェースとしてWANとLANがあり、IPv6通信のためのインタフェースをWAN6と定義するような内容でしたが、私としましては「WANといえばIPv6なので、IPv4のためのインタフェースこそWAN4と名付けるべきではないか」との変なこだわりで、MAP-EのトンネルインタフェースをWAN4と命名しております。
X-520-DA2のベンダロック外し
Proxmoxのコンソールで処理可能です。当該部が0xffになっていれば成功。
# lspci -nn | grep 82599ES
01:00.0 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
01:00.1 Ethernet controller [0200]: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb] (rev 01)
# ethtool -e enp1s0f0 offset 0x58 length 1
Offset Values
------ ------
0x0058: ff
結果
2.5GbEポートを持つPCでは、しっかりと2.5Gbpsの速度が出ました。
10GbEを持つクライアントPCがないので、10G NICを買ったらまたテストしてみたいと思います。
なお、IPv6界隈では、ニチバンのサイトを確認して正常に動くかどうかを確認する、「ニチバンベンチ」なる概念があるそうですが、問題は起きていないように思われます。
Enjoy your IPv6 life!
追記
やっぱり10G NICは爆熱ですので、冷却ファンを導入しました。筐体に内蔵してもよいのですが、エアフローさえあれば、そこそこ冷えると思います。
lm_sensorsで温度を取得してみると、ファン導入前と比較して10度C以上下がっているように見えます。
# sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +43.0°C (high = +92.0°C, crit = +100.0°C)
Core 0: +42.0°C (high = +92.0°C, crit = +100.0°C)
Core 1: +41.0°C (high = +92.0°C, crit = +100.0°C)
acpitz-acpi-0
Adapter: ACPI interface
temp1: +27.8°C
nvme-pci-0200
Adapter: PCI adapter
Composite: +38.9°C (low = -0.1°C, high = +69.8°C)
(crit = +84.8°C)
(追記終わり)






