UniFiスイッチ
この記事で実現すること
この記事ではホームユーザー向けにUniFiスイッチの設定ができるようになることを目的としています。
UniFiスイッチの特徴
UniFiネットワークスイッチの特徴としては、どちらかといえばスモールビジネス向けの製品が中心ではあります。
スモールオフィスの基幹ネットワークを構成しながら、監視カメラやWi-Fiシステムを導入し、トータルソリューションが売りになります。
ネットワークスイッチ単独の機能として見ると、以下の特徴があります。
- Wi-FiにRJ45ケーブルで通信と電力出力を兼ねるPoE
- SFP+などの10GbEネットワーク
- UniFiネットワークアプリケーションによる集中管理
ホームユーザー向けとして自宅内のネットワークを10GbEかつSFP+を選択する場合は、いくつかの魅力的なネットワークスイッチが候補に上がります。
発熱対策のために各部屋にSFP+でOM3などの光ケーブルを通す場合は、個人向けのネットワークスイッチではPortが不足してしまうのが実態です。
機器の価格帯が個人向け、かつ消去法でいくとMikroTikかUniFiが選択肢に上がります。円安で昔ほどは安いと思えなくなりましたが、SFP+スイッチは廉価です。
基本設定
基本設定です。UniFiスイッチを新規導入する際には、ネットワークアプリケーションに登録(採用)する必要があります。初期セットアップについては、以下の記事を参照してください。UniFi製品群の標準の考え方ではセキュリティゲートウェイをインターネットルーターの役割として配置し、そこに各UniFi製品群をぶら下げることになります。私はSophos Firewallを利用しており、UniFiセキュリティゲートウェイは不要としているため、集中管理のためのUniFiネットワークアプリケーションを導入しています。
UniFiスイッチが採用(Adoption)されると、ネットワークアプリケーションから管理できるようになります。
スイッチ毎のSettingsでは、Serviceで基本設定を、NetworkでIPアドレスを設定できます。
Serviceでは、スイッチ自身がどのネットワーク(VLAN)に属するのかを決め、Flow ControlやJumbo Frameの設定が可能です。デフォルトでFlow ControlはOffです。ネットワーク速度が異なる端末を接続する場合は、Flow ControlはOnの方が良いでしょう。もちろん、送信側端末のネットワークカードがFlow Controlに対応している必要はあります。最近、UniFiネットワークアプリケーションではスイッチのGlobalSettingが可能となり、スイッチ毎にこれらの設定が不要になっています。 Networkでは、静的IPアドレスを設定することもできます。その他、Settingsからは、スイッチの再起動が可能です。
スイッチポート確認
スイッチ毎のPortsからはPortの稼働状況が確認できます。
項目名 | 内容 |
---|---|
Status | 実際に接続されている速度を示します。稀にファームウェアのアップデートのタイミングで誤った認識になる場合があります |
Tx/Rx | 送信(Tx)、受信(Rx)量を示します |
Profile | UniFiのVLANは複数のネットワークを指定した上で纏めたトランクポートを複数種類作成可能です。ネットワークアプリケーション7.4からは仮想ネットワークバインディングという概念があり、このProfileは使わなくても済むようになりました(もちろん使っても構いません)。 |
Uplink | 上流の機器を示します。UniFiがInternetへのルーティングを解析し、Internet接続ルーターを上流として自動的にUplinkポートを判別します |
その他、SFPモジュールの情報などが出力されています。
スイッチポート設定
スイッチ毎のPortsからさらにPort Managementを選択すると、個々のPortの設定を行えます。
これはPro-Aggregationの例ですが、Portごとに接続されているクライアントが表示されています。ここで個別のPortを選択すると、ポートの速度やVLANを設定できます。
Portの設定変更
Portの物理的な設定変更は以下のPort Profile Overrideから行います。
項目名 | 内容 |
---|---|
Operation | Switching または、Aggregate(複数のPortを束ねて帯域を増やす)、Mirrorを選択します。 |
Link Speed | オートネゴ、10Gbps、2.5Gbpsなどの速度固定を選択します。なお、2.5Gはオートネゴでは動作しません |
Port Isolation | Uplinkポートのみトラフィックを転送します |
Storm Control | ブロードキャスト、マルチキャストなどの飽和を某防止します |
LLDP | ディスカバリプロトコルを有効にします(デフォルトON) |
Spanning Tree Protocol | スパニングツリーを有効にします(デフォルトON) |
ミラーPortはトラブル時の確認のために使います。トラブルのあるPort番号を指定し、ミラーに設定することで同じデータが流れます。ノートPCなどを接続し、WireSharkなどを使いパケット解析します。
SFP+の製品であっても、USW-AggregationスイッチやUSW-Enterprise-8-PoEのSFP+ポートは2.5GbEに対応していません。過去記事「SFP+の2.5GbE対応」で書いたように、10GbEを2.5GbEとして偽装させる特殊なSFP+モジュールが必要になります(もっとも、USW-Enterprise-8-PoEは2.5GbEのRJ45ポートを備えているので運用上困ることはありませんが)。
VLANを設定
VLANを作成するにはネットワークアプリケーションのSETTINGSからNETWORKSを選択し、Create New Networkをクリックします。
L3スイッチではなく、単にVLANを作成したい場合は、ここでVLAN-only NetworkのチェックボックスをONにし、VLAN IDを決定します。
こういったネットワーク構成全般の変更を行うと、全てのスイッチに対してコンフィグの転送が行われ、スイッチの再構成が実行されます。
トランクポートとして使う場合は2つの方法があります。
- 仮想ネットワークバインディングで許可するVLANまたはブロックするVLANを指定します。
- 予め作成した複数のネットワークを束ねたProfileを作成した上でそれを指定します。
仮想ネットワークバインディングを使う方法
ネットワークアプリケーションv7.4から導入された仮想ネットワークバインディングは、従前のように、トランクポートのネットワークの組み合わせをわざわざProfileで作成しなくて済むというメリットがあります。
タグなしのメインのネットワーク(ネイティブVLAN)を決めた上で、タグ付きのVLANについては、許可する、ブロックするの分類を指定します。ファイアウォールのように許可かブロックかを選択するというものではなく、ネイティブVLAN以外のタグ付きVLANを全て列挙し、許可またはブロックの何れかに分類するという方が近いでしょう。
仮想ネットワークバインディングで該当なしを選択すると、そのポートには全てのデータが流れることになるようです。Switch Flex MiniのようにProfileを割り当てできない小型スイッチではこの該当なしを選択してアップリンクのスイッチからタグ無し、タグ有りのパケットをそのまま送受信する事になります。
従来からのProfileを使う方法
Profile作成時には指定する複数のネットワークのうちどれか1つをネイティブVLANとしてタグ無しに設定します。昨今、デフォルトVLANを変えることがセキュリティ上優位であるとも思えないので、私は管理用VLANは無条件にデフォルトVLAN(VLAN ID=1)で管理するようにしています。
Profileを使う方式では、このようにネイティブVLANがどのネットワークか定め、タグ付きのVLANを追加で選択していきます。
Profileを作成後、スイッチポートの設定にて、イーサネットポートプロファイルのチェックボックスをオンにしてリストボックスからProfileを指定します。
この例では、 UniFi-APはデフォルトVLANで接続し、AP同士の制御用パケットは全てデフォルトVLAN配下に流れます。また、タグ付きネットワークでVLAN-XXX(一般端末向け)とGuestがありますが、UniFi-APは複数のネットワークに属することができますので1つのAPで複数のネットワークに対してWi-Fiサービス提供できるようになります。
ネットワーク機器のLANをデフォルトVLAN、かつ、ネイティブVLAN(タグ無し)としているのは何らかのトラブル時に復旧させやすいという点もあります。
SSH
UniFiスイッチは廉価なSwitch Flex Miniを除き、大半のスイッチはSSH接続が可能です。ネットワークアプリケーションで設定したID/パスワードでも接続できますし、公開鍵認証でも接続可能です。スイッチにSSHすると Linuxのインタフェースのように見えます。
1 | $ ssh xxx |
/var/log/messages
にはsyslogがありますので、たまには中身を確認されることをお勧めします(viコマンドなどで開きます)。表向き、SFPモジュールが動作しているように見えても、互換性の問題でエラーを吐いている場合もあります。ダイレクトアタッチケーブルなどを対向の端末を繋がずスイッチに接続している場合など定期的にLinkDownのアラートが出ている場合もあります。RJ45とは動きは異なります。
上記はUSW-Aggregationに接続した状態ですが、pingも動作しますが、レスポンスは悪いです。LAN内の機器の応答に10ms掛かっていますが驚かないでください。スイッチのデータ転送は専用チップ(ASIC)が行うため、機器のCPUがスイッチの実力にはなりません。OSに割り当てるCPUリソースの関係でしょうか、このpingの応答速度は「ご参考」として割り切った方が良さそうです。
スイッチの詳細情報について
Linuxのコンソールから、cli
コマンドを投入することで、Ciscoライクなスイッチのコマンドモードに入ることができます。
コマンド入力途中でタブを押下するとコマンドが補完されます。show running-config
などそのまま使えます。copy running-config startup-config
なども実行できそうですが、UniFiではネットワークアプリケーションから完全同期されていることが大前提であり、コマンドモードで設定しても再起動時にはネットワークアプリケーションから上書きされてしまいます。
ややこしいのは、スイッチ毎にコマンドの互換性が殆どないことです。コマンドの途中で"?"
を入力すると、実行できるパラメータが列挙されるので推測でコマンドを補完しながら入力することになります。私の知る限り、機種毎のコマンドラインのマニュアルは存在しないようです。
USW-Pro-Aggregation(L3スイッチ)
このスイッチは比較的コマンドが充実しています。cli
でコマンドモードに入り、en
で特権モードに入ります。
Portの状況を見るには以下のコマンドを使います。
1 | (UBNT) #show interface ethernet 0/x |
これだと100行余りの結果が表示されるのでパイプ(|)で区切り、必要な項目だけフィルタできます。
1 | (UBNT) #show interface ethernet 0/x | include Error|Collision|Discard |
このようにして重要な情報のみ取得できます。あくまで一般的なパラメータとしていますが、現代の全二重の通信前提であればCollisionまで見る必要はないですね。一般的にはReceiveでエラーがあるときはケーブルを最初に疑ってみること、Transmit Packets Discardedの場合はVLANの設定が間違っている可能性があることでしょうか。
1 | clear counters all |
カウンタをクリアします。
1 | show fiber-ports optics-info all |
モジュールのメーカーやシリアル番号を表示します。
1 | (UBNT) #show fiber-ports optics all |
モジュールのDDM(温度、光の強さ)を表示します。
USW-Aggregation(SFP+ 8Port)
このスイッチはcli
でコマンドモードに入ったら、すぐに大半のコマンドが実行できます。代表的なのは以下のものです。
1 | show interfaces TenGigabitEthernet x |
Port xのPort状況を表示します。パケットカウントやコリジョンなどの数を示します。
1 | clear interfaces TenGigabitEthernet x counters |
Port xのカウンタをクリアします。
1 | show fiber-transceiver-info interfaces TenGigabitEthernet x |
SFPモジュールの種類やシリアル番号を表示します。
1 | show fiber-transceiver interfaces TenGigabitEthernet x |
SFPモジュールのDDM(信号の強さ、温度)を示します。
L3スイッチの制約
UniFiのL3スイッチはDHCP機能を持ちますが、管理機能やルーティングについてはIPv6には対応していません。スイッチ自身はIPv6アドレスを持てるようですが、現段階でIPv6のL3ルーティングできるようにはなっていません。別のルーターでDHCPv6を割り当て、そちらをゲートウェイにするなどが必要です。L2スイッチを含めてIPv6通信が行えないということではありません。
SFPモジュール
Ubiquitiのモジュール群は廉価なため、光モジュールは純正が間違いないでしょう。OM3ケーブルやDACはさまざまなメーカーのものを使いましたが、UniFi製品で問題が発生したことはありません。RJ45モジュールは特に10GbEのものは低電力を踏まえるとSFPメーカーの製品の選定も視野に入ります。
1GbE tp-link TL-SM331
一般的なMarvell社88E1111などを使ったモジュールが通常使用(Typical)で1.05Wの消費電力なのに対し、その半分以下の0.5Wとなっており、発熱もかなり抑えられています。最近、国内でも発売になったようですが、私は今年の5月に米Amazonで$19.99で購入し、問題なく使えています。
tp-link
https://www.tp-link.com/jp/service-provider/switch-accessory/tl-sm331t/
10GbE Fiber mall SFP-10G-T-UB-80m
80mまで対応した省電力の10GbEモジュールです。こちらも米Amazonで購入しました。$68.99でした。BroadcomのBCM84891のチップを採用している80mに対応したモジュールはいくつか存在します。Cisco用のモジュール(SFP-10G-TS80)についてはメーカーの公表ではDDMに対応していないと記載があるものの、UniFiスイッチ上では、モジュールの温度などのパラメータが出力されています。
Fiber mall
https://www.fibermall.com/ja/news/10g-copper-sfp.htm
英語ですが、ぜひAmazonのカスタマーレビューを見てください。より詳細で素晴らしい知見に基づいたコメントが見られます。
米Amazon Customer Review
https://www.amazon.com/gp/customer-reviews/RLHW2OL4I1QZP/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=B0B18BY1XK
PoE
スイッチにおけるPoEもネットワークアプリケーションから設定できます。USW-Enterprise-8-PoEの例では、Switch Flex MiniおよびAPのU6 Proに給電している状況が確認できます。
Port ManagementからPoEのOn/Offが可能となっています。
まとめ
これらのように、ネットワークスイッチをただ単に繋げるための道具ではなく、ITやネットワークを見える化するという目的においては非常に有用な機器になります。セキュリティ観点ではできることは限られていますが、ホームユーザーにとっても有用な機能は活用できると思われます。
Ubiquiti 日本語ガイドのスイッチに関する記事は以下が参考になります。
UniFi Network - 有線ネットワーク速度の最適化
https://help.jp.ui.com/articles/6949005136919/
リソース
以下の日本語ヘルプ、コミュニティがUniFiの構築には大いに参考になります。
Ubiquiti コミュニティ(日本)
https://www.facebook.com/groups/uijapan
UI 日本語ヘルプ記事
https://help.jp.ui.com/categories/6583256751383/
Ubiquiti Community(米国中心)
https://community.ui.com/