hgot07 Hotspot Blog

主に無線LANや認証連携などの技術についてまとめるブログです。ネコは見る専。

MikroTikで使えるSFPモジュールを探す

今どき10GEじゃないのかよ!

という煽りが聞こえてきそうですが、使うのがMikroTik hAP acやhEX S、mANTBoxなので、SFP+じゃなくSFP、つまり1.25Gbps止まりでございます (_ _) 

SFPモジュールは、ベンダロックされていて使えない組み合わせがあるので、社外品を買うときはドキドキです。

免責:「動くと書いてあったのに動かないじゃないか!」は無しで。自己責任でお願いします。SFPモジュールは相性問題多いそうなので。

試したのはこの子たち、カッパーとファイバー(SX)両方です。あっさり使えて拍子抜けしましたが、ちょっと注意点があるので、後ほど

試したSFPトランシーバ

試したSFPトランシーバ

安かったSFPトランシーバ

安かったSFPトランシーバ

カッパー (RJ45)

GbEなんて大したことないだろうと思っていたら、結構高いんですね、Mini-GBIC……(◞‸◟)

Amazonでエイヤッ!っと買ってみたのが、以下のもの。

  • 10Gtek 10/100/1000Base-T カッパー SFP ASF-GE2-T
  • ADOP 1.25G SFP-T, 1000Base T SFP-1GE-T-AD

ASF-GE-Tを注文したのに、GE2の方が届いてびっくり。Amazon

GEとGE2で仕様が違うので要注意。今回は動いたから、ヨシ! (マテ

結論:どれも動作します。

注意点1:なぜか、10Gtekの方は手で触っていられないほど熱くなります。ADOPの方はたぶん普通の発熱量で、しかも安い。

注意点2:両方とも、ASIX AX88772使用のUSB-Ethernetアダプタで相性問題が出る。Fast Ethernetのはずが、Auto NegotiationでGbEになってしまい、Rx表示が0のままになる。hEX S側で100Mbps固定に設定してもリンク状態がおかしい。GbE対応のAX88179なら正常にリンクアップする。AX88772でも、SFPではない本体のポートでは問題なく使える。よって、AX88772を捨てるべき。

 

ファイバー (SX)

3種類試してみました。

GWFIBER製のやつは、3mファイバー付きでAmazonで安かったので、ダメ元で買ってみたもの。(今見たら1,999円に値上がりしていて草)

FLEXOPTIXのやつは、どこかのイベントでサンプルとしてもらったものw

結論:どれも動作しました。

とりあえず、学内LANからSpeedtestで600Mbps出ている時間帯で、hAP ac経由で同程度出ていたので、大丈夫かなと。本来ならLAN内で限界まで測ってみるべきでしょうが、相手を用意するのが面倒だったので_(:3」∠)_

注意点:RouterOS v7.1rc3を入れたhEX Sで、ベンダー名や動作状況が表示されませんでした。hAP acでは表示されていたので、おそらくRouterOS側の一時的な問題でしょう。カッパー用と違って、どのモデルもほどほどの温さでした (45℃前後)。

 

1000BASE-SXで通信中

1000BASE-SXで通信中

 

おわり

 

 

 

 

 

 

 

MikroTik mANTBox 52 15sを試す - 飛距離チャレンジ編

MikroTik の屋外アクセスポイント mANTBox 52 15s について、前回のレビューに続いて、今回は飛距離チャレンジ編をお送りします。

mANTBoxを対向で設置すると20kmまで行けるゼ!と製品紹介に書かれているのですが、スマートフォンなどの利用者端末を収容する場合はどうでしょう。数km先にあるスマホの微弱な電波を拾えるとは、とても考えられないのですが😇

住宅地や大学キャンパスで試してみたところ、見通しのよい範囲内(←これ重要)で、300mちょっとという感じでしたね。ただ、一つのスマホだけで試していたので、複数台になった時にどうなるのかは、未確認で進行形

 

前回のあらすじ

うまいことマウントできるものを見つけて、っょぃ感じのWi-Fiのスタンド攻撃を身に着けたところで、隣接する建物に向けて窓からデンパを打ち込んでみることにした。しかし、謎の力が働いて、最初の挑戦は失敗に終わった……

窓越しに電波を出してみる

窓越しに電波を出してみる

データシートによると、指向性はそれほど鋭くないようなので、やや道路よりに向けて窓際に設置してみました。ブラインドはプラっぽいし、影響は大したことないやろハハハ……

市街地なら350mぐらいでも通信できたし、建物のそばでこれぐらいなら余裕余裕……って、あれ、Speedtestで5Mbpsぐらいしか出ない……どうして_(゚。3」∠)_

建物を見上げる位置から

建物を見上げる位置から

APがばっちり見えている、向かいの建物(電気系3号館)ではどうかな。な、ないよ……

-90dBmって……orz  (チャネルがヘンなのは後で調整しました)

向かいの建物から

向かいの建物から

向かいの建物から (Chグラフ)

向かいの建物から (Chグラフ)

向かって右手の高い建物(GSIS, 情報科学研究科)からは、もちろん、全然だめでした。

 

設置しなおし

窓を開ければ~

まさかシールド入りのガラスじゃないよなと、半信半疑で窓を開けてみました。建物を斜めに見上げる、先ほどと同じ位置で、3dBmぐらい改善。焼け石に水

ブラインドを上げてみたら、さらに10dBmぐらい上がって、-50dBm台のグリーンラインに。おーまーえーかー!ルーバがプラじゃなく金属な予感。

原因が判ったところで、APがブラインドの外に出るように設置しなおして、再度外に向けてビームっ!速度も満足できるレベルに。

APをブラインドの外に出して設置

APをブラインドの外に出して設置

実用域になった速度

実用域になった速度

刈り取られて寂しそうな枝

刈り取られて寂しそうな枝

 

建物から再チャレンジ

GSISのベランダでは-70dBmぐらいに落ちてしまうものの、ツボに入ったのか36Mbpsに。プレハブ横は干渉源が多かったのかも。

GSISベランダ

GSISベランダ

GSISベランダでの速度

GSISベランダでの速度

GSIS 5階の講義室では、窓際からかろうじてAPが見える程度。でも、見通しさえよければ、それなりに頑張ってくれる

しかし、エレベータシャフトの陰に入ると急に電波強度が下がってしまい、通信不能に_('、3」∠)_ 隣の3号館との間で、相互に電波を打ち込めば、実用になりそう。

 

GSIS 5階

GSIS 5階

GSIS 5階での速度

GSIS 5階での速度

3号館で再チャレンジ!おぉ、これなら行ける!

3号館再チャレンジ

3号館再チャレンジ

3号館再チャレンジでの速度

3号館再チャレンジでの速度

しかーし!、3号館はAPから見てほぼ平行に建っているため、部屋の中には届かないようです。2階で北側に飛び出したセミナー室から、APは木の陰に見えるものの、電波はさっぱりでした。うーむ、干渉があるのか、APの指向性が効いているのか……

3号館2階

3号館2階

 

もう少し遠くから

3号館を超えて、距離的には300mもなさそうな、未来科学技術共同研究センター(NICHe)前ではどうでしょう。WiFi Analyzerが時々高めの値を示すのですが、安定した接続は無理でした。建物のeduroamが強くて、邪魔されている感じ。

未来科学技術共同研究センター(NICHe)前

未来科学技術共同研究センター(NICHe)前

青葉山駅前ではどうでしょう。建物の隙間から、かろうじてAPが見えます。先ほどダメだったセミナー室がすぐ横に見えるのに、なぜかつながる。どうして……

過度な期待はしないでください。

青葉山駅前

青葉山駅

青葉山駅前での速度

青葉山駅前での速度

 

まとめ

まぁ、まとめるまでもなく、とにかく見通しの良さが重要です

あとは、近くに干渉するAPがないこと

mANTBoxの対向接続も試してみたいのですが、それにはもう一台手に入れないといけないし、そもそも、自分には使いどころがないので、当面は無理でしょう。

コロナ禍で、大学への来訪者も少なく、キャンパスでOpenRoamingを吹いても利用者が滅多にいないので、実験に用いたmANTBoxはそのうち市街地でのCityroam運用に回すつもりです。

 

おわり

 

 

 

MikroTikの屋外アクセスポイントmANTBox 52 15sを試す

技適を取ったばかりのホカホカの無線LAN基地局を手に入れることができたので、試してみました。MikroTik mANTBox 52 15sというものです。

mikrotik.com

\ばばーん!/ (カマボコか)

MikroTik mANTBox 52 15s

MikroTik mANTBox 52 15s

ぇ、なにこれ……、ただの屋外アンテナ?

実は中にRouterBoardが入っています。要するにhAP acみたいに使うこと"も"できます!

MikroTikさんの製品は、色々なものにRouterBoardが搭載されていて、すごいですよね。こんなちっちゃいの (mAP lite) にも入っているぐらいで、これでも遅くてたまらないみたいなことはなく、十分な性能があります。

参考: mAP lite

参考: mAP lite

RouterBoard搭載機は、どれもほとんど同じ使用感でRouterOSが使えるので、エッジ部分でちょっと凝ったネットワーク構成も簡単に実現できたりします。

「RouterOSはなんでもできるなぁ」
「なんでもはできないわよ。できることだけ」

今回試してみたのは、普通の(?)無線LAN基地局(AP)の使い方と同様、利用者端末を接続する構成です。mANTBoxは、対向で使うとkmオーダーの飛距離が出るようですが、その構成はもう一台手に入れないとむり。

ざっくりとした結論としては、見通しのよいところならば数百m先からでも接続できます。見通しが重要。

入手方法については、ライフシードさんに聞いてみてください。

 

mANTBox 52 15sの概要

詳細な情報は、MikroTikのサイトにある仕様を見ればよいです (あたりまへ)。

おそらく最も知りたいであろう情報といえば、そう、技適ですね?(・∀・)

執筆時点で、以下のmANTBoxが技適取得できているそうです。

同じmANTBoxシリーズですが、用途がちょっと違うので気を付けましょう。19sは5GHz帯のみで、CPUは QCA9557 (MIPSBE)です。52 15sの方は、2.4/5GHz dual-bandで、CPUは IPQ-4019 (ARM 32bit)、普通のAPとしても使えます。あと、IPsecにしか効きませんが、hEX Sみたいにハードウェアアクセラレータも入っています。

mANTBox 52 15sのコネクタ部分はこんな感じ。ほら、RouterBoardが入っているっぽいでしょ?

接続端子

接続端子

ether1にあたる上流用のイーサネットポート(RJ45)は、802.3af/at の Power over Ethernet (PoE)に対応しています。hAP acはPassive PoEしか受け付けてくれなかったのですが、こちらはちゃんと802.3afで給電できるので便利です。ACアダプタ用のコネクタもあります。それに、PoEインジェクタが付属してきます。

付属のPoEインジェクタ

付属のPoEインジェクタ

SFP (+ではない)とUSBの端子もあります。下流のネットワークを引き出したければ、SFPモジュールを挿せばOK。ごついアース端子がありますが、屋外で使うときは必ずしっかりしたアースをとりましょう。

カバーのフチに丸い切れ込みがあり、引き出すケーブルに応じて、必要なだけ切り取って使います。

カバーにパッキンなどはないので、バシャバシャと水がかかるようなところで使うのは不安です。下から吹き込まなければ大丈夫?

 

RouterOS

RouterOSそのものなので、使い方も同じです。今回、家庭用無線LANルータと同様のAPとして使うので、Home AP Dualで初期化して、あとはいつも通りに設定すればOK。前エントリと同様に設定しました。

hgot07.hatenablog.comちなみに、WireGuardを試したかったので、いきなりRouterOS v7.1rc3まで上げてしまいました。いきなりといっても、v7を導入する際に文鎮化することがあるので、段階を追ってアップグレードしていく方が安全でしょう。

  • Stableの最新版に上げる。
  • /system/routerboard/upgrade を実行して、ファームウェアを最新版にする。
  • v7.1rc3などに上げる。

OpenVPNクライアントやWireGuardも試しましたが、hAP acとまったく同じように使えました。ARMのCPUが効率的なのか、OpenVPN (TCP)はhAP ac (MIPSBE) よりも速いようです。

Hotspot 2.0の機能も動作確認して、Passpoint / OpenRoamingまできちんと動きます。(というか、これが目的で導入したので、動かないと困る)

気になったところでは、wlan1の設定で12, 13chの選択肢がグレーアウトされていた点。まさかUS版の周波数ロックか!とビビりましたが、選択すればきちんとそのチャネルで電波が出ました。rc3のせいかな?

 

設置

屋外に向けて電波を飛ばしたいものの、ベランダなどに出すとケーブルの引き回しが面倒だし、そもそも取り付けるのに良さそうなポールがあるわけでもない。そこで、屋内の窓際に設置することにしました。

屋内にもポールなんてないので、手頃なスタンドが必要になります。何かよさげなものはないだろうかと、ニトリへ……。

当初はフロア型の電気スタンドでも使おうと考えていたのですが、細いものばかりで、マウントが固定できそうにありません。mANTBoxには、マウントと金属バンドのセット (quickMOUNT pro) が付属していますが、これはそれなりに太めのポールでないと、締め付けることができません。

他に何か使えそうなものがないかと、店内をうろうろしていたら、良さそうなものを発見!しかも安い (3千円ぐらい)。

Wi-Fiのスタンドだッ!

ポールハンガーにマウントしたmANTBox

ポールハンガーにマウントしたmANTBox

マウント部分

マウント部分

# 枝は付けなくてもよかったんじゃないの?🤔

 

気になる飛距離は……

あまり電波ゆんゆんではない住宅街で、道路に沿って、見下ろすような形でAPを設置してみたところ、数Mbpsまで落ちてしまうものの、300mちょっと先からも接続できました。ビームフォーミングが頑張っているのか、WiFi Analyzerで見ると徐々に電波強度が上がってくるように見えます。

ただし、見通しがよく、障害物がないことが重要。

遠距離から接続しているときに、建物などの物陰に入ってしまうと、途端に電波が弱くなります。その昔、GoNetやWavionからビームフォーミングをうたった基地局が出てきた頃にも試したことがあるのですが、とにかく見通しが重要なのはあいかわらずですね。

大学キャンパスでは、飛距離が短くなるようです。あちこちにあるeduroamや研究室のAPから干渉を受けるためでしょう。詳しい調査は別途。

こういうのを試していると、部屋の隅々まで入ってくるセルラーの電波はすごいんだなと_(:3」∠)_

 

NG集

ヨシ!……と思ったのですが、これではダメでした。距離的にはプレハブの奥の建物にも余裕で届くはずなのに……

さて、何が問題だったのでしょうか😇

設置の失敗例

設置の失敗例

[2021/9/17追記] ADOP SFP-1GE-T-ADはmANTBox 52 15sで無事に使えているようです。しかし、SFPトランシーバは相性問題が多いらしく、確実にお奨めできるかどうかは不明です。

 

おわり

 

 

 

MikroTik hAP ac (RouterOS)でWPA2 Enterpriseの基地局を立てる

今さらの感がありますが、MikroTik hAP acの無線LAN周りの設定について、メモを残しておきます。構成としては、RouterOSをNATルータに設定して、外部のRADIUSサーバで認証するWPA2 Enterpriseの基地局(AP)を立てるものです。

「普通のAPじゃだめなんですか?」- Good question!
RouterOSではOpenVPNやWireGuardなどで簡単に(?)VPNトンネルを張れるので、小規模な用途ならば、エンタープライズ向けの高価な無線LANコントローラ (WLC) を使わなくても、リモートAPによるマネージドWi-Fiが実現できます。WPA2 Enterpriseに対応した可搬型APを構成するのにも、都合がよいというわけです  (実装例 [pdf])。

hAP acの紹介記事は他にも色々とあるので、ここでは割愛します。既に旧モデルになっていますが、Wi-Fi 5の範囲ではまだまだ実用的な性能があると思います(執筆時点)。後継機種のhAP ac2などは、残念ながら技適がありません。

おやくそくですが、hAP acに限らず、無線LAN製品は技適のあるものを入手しましょう技適対応のものは、ヴィゴネットラボLife-seedなどで扱いがあります。間違ってもAmazonなどでUS版 (周波数ロックがかかっている) を掴んだりしないように!

 

初期設定

hAP ac (に限りませんが)を初めて使うとき、管理者パスワードの設定の後に、Quick Setの画面が出ます。今回はNATルータとして構成するので、右上で "Home AP Dual"を選択します。

初期状態ではCountryがetsiになっていると思いますが、これをすぐにjapanに変更します。また、オープンWi-Fiになっているので、この画面のうちにWiFi Password (PSK)を設定しましょう。Apply Configurationを押すと一度無線LANが切れてしまうので、つなぎなおします。

RouterOS初期設定

RouterOS初期設定

WebFigに移ると、Wirelessメニューの中にwlan1, wlan2があるはずです。それぞれについて、設定を適宜変更します。この段階で必ず、Frequency Modeが"regulatory-domain"になっていることを確認します

初期設定では2.4GHz帯のChannel Widthが "20/40MHz" になっていますが、これは大迷惑なので、必ず "20MHz" に変更します。Frequencyは "auto" のままにするか、1, 6, 11chの中から選びます。選択肢にチャネル番号がなくて分かりにくいですが、2412, 2437, 2462MHzの中から選びます。

hAP acの電波は比較的強いので、そのまま使うと近所迷惑かもしれません。Antenna Gainの値を変えて、必要最低限まで出力を絞ることを奨めます。デフォルトでは 0dBi ですが、10~15dBiぐらいに値を大きくすると出力が小さくなります (スマホWifi Analyzerアプリなどで観測できる)。

5GHz帯の方は"20/40/80MHz"、いわゆるVHT80になっていると思いますが、こちらは用途に応じて選べばよいです。わからなければ "20/40MHz Ce" にしておくのが無難でしょう。

Security Profileは "default" になっていますが、これは先に付けたWiFi Passwordで認証するようになっています。

wlan設定

wlan設定

RADIUSとSecurity Profileの設定

利用者認証に使う、外部のRADIUSサーバを登録します。RADIUSタブの中でAdd Newを押して、表示されたメニューの項目を適宜埋めていきます。

無線LANの認証に使うので、Serviceは "wireless" を選択します。

AddressはRADIUSサーバのIPアドレス、Secretは共通鍵を入力します。

Timeoutのデフォルトが300msですが、たまに不安定になるようなので、600msにしておくとよいらしいです。

問い合わせるRADIUSサーバの設定

問い合わせるRADIUSサーバの設定

Wireless/Profilesタブの中でAdd Newを押して、新しいプロファイルを設定します。

Nameはプロファイルの識別用なので、適当に付けます。

Modeは "dynamic keys" のままにします。セキュリティ的にWPA EAPとTKIPはもはや使えないので、WPA2 EAPとAESを選択します。

EAP Methodsが "passthrough" になっていることを確認します。

Securty Profileの設定

Securty Profileの設定

[2021/9/13追記] ん……、Security ProfileをどのRADIUSサーバに関連づけるかの指定項目がない?SSIDごとに異なるRADIUSサーバを使いたいときはどうすれば……。

この問題、ウェブ検索ではズバリの回答になかなかたどり着けなかったのですが、以下の(旧)マニュアルにある Radius authentication with different radius servers for each SSID の項目を参照すればよいみたいです。要は、Security Profileのradius-called-formatに指定した値を、RADIUSサーバのcalled-idでマッチさせるようです。

 

SSIDの追加

元からあるwlan1, wlan2のSSIDを変更して、そのまま使ってもよいのですが、WPA2 Enterpriseの認証がうまく動作しない時に備えて、バックアップ用に残しておくのがお奨めです。ここでは、新たなSSIDを追加して、そちらをWPA2 Enterpriseに使うことにします。

Wireless/Interfacesの中でAdd Newを押して、"Virtual" を選びます。SSIDを追加するメニューが開くので、NameやSSIDを適宜設定します。Master Interfaceは、この仮想AP (VAP) をぶら下げる物理インタフェース(wlan1など)を指定します。Security Profileは、図中では "default" になっていますが、先に設定しておいたWPA2 Enterprise用のものに変更します。

仮想APの追加

仮想APの追加

仮想APの設定

仮想APの設定

Bridgeの設定

ハイ!、これに気づかずにハマる人が続出だと思います

RouterOSでは、単に仮想APを追加しただけではだめで、所属するネットワークを自前で指定しないといけません。この設定をしていないと、無線LANの認証は通ったのにDHCPでアドレスが取得できず、ネットにも当然出ていけないことになります。

Bridge/Portsの中でAdd Newを押して、作成した仮想APをInterfaceに選び、Bridgeにはデフォルトの "bridge" を選べばよいです。

仮想APのBridge設定

仮想APのBridge設定

おわり

Tokyo 2021 OpenRoaming / Passpointトライアル開催中(2021/7~2021/9/15)

7月から9月15日にかけて、ひっそり開催中です。

ひっそりですが、みなさんこの機会にお試しください!

cityroam.jp

ざっくり言うと、普段提供しているeduroam, Cityroam, OpenRoamingのサービスに加えて、世界のキャリアやISPに声掛けすることで、一時的にサービスを有効化しているものです。

なんで大々的にではなく「ひっそり」やっているかって?その辺の経緯を記録しておきます。

 

トライアルの内容

Cityroamでは、eduroamとOpenRoamingを含めた、セキュアな国際無線LANローミングサービスを提供しています。OpenRoamingには、通信事業者間で個別のローミング契約が不要の settlement-free model と、契約が必要な settled model があります。Cityroamでは前者の方を定常的にサービス提供しています。

Tokyo 2021 OpenRoaming / Passpointでは、まだOpenRoamingに乗っていない、あるいは、乗るかどうかも決まっていない通信事業者に参加を呼び掛けて、OpenRoamingまたはPasspointによるローミングサービスを一時的に提供しています。具体的には、AT&TとBoingo、GlobalReach Technologyが参加してくれました (執筆時点)。

AT&Tの利用者は、端末にSIMカードが入っていさえすれば、無線LANに安全に自動接続されます。SIM認証なので、利用者がID/パスワードを打ち込むような手間がありません。最近数年内に市販されたAT&Tの端末には、Passpointのプロファイルが仕込まれているため、AT&TのPasspointプロファイルを登録した基地局ならば、Passpointによって自動接続されます。AT&TはまだOpenRoaming接続用のプロファイルを利用者に提供していないので、現在の接続方法はOpenRoamingとは異なります。

実は、スマートフォンには、WPA2 Enterpriseの基地局を見つけた際、そのSSIDに依らず手当たり次第SIM認証を試みるものがあります。iPhoneもこのような動作をします。キャリアとのローミングの有無に依らず、基地局の管理者は wlan.mnc<MNC>.mcc<MCC>.3gppnetwork.org というレルムの付いた認証要求をログの中に見つけることができます。ということは、裏でRADIUSさえキャリアとつないであげれば、端末が勝手に接続してくれる?🤔 Bingo! 実際、AT&TのSIMを入れた端末なら、AT&Tのキャリア端末でなくとも、なにもしてないのに公衆無線LANにつながったりします。

Boingoは、AT&Tと並んで、Passpointを強力に推進してきた事業者です。国内では馴染みのない社名かもしれません。 海外出張の多い人なら聞いたことがあるかも。

Boingoは、まだウェブ認証での利用が一般的ですが、Passpointプロファイルも提供されています。利用者が https://passpoint.boingo.com/ からプロファイルをダウンロード、インストールすることで、Passpointによる安全な自動接続が可能です。BoingoもまだOpenRoamingに乗っていないため、トライアルではBoingo向けのPasspointプロファイルを基地局に設定することで、サービスを実現しています。
(こういったローミングの交渉の難しさ、分かります?)

GlobalReach Technologyは、Passpointで最先端のソリューションを提供している会社の一つです。GlobalReach Connectという接続アプリをリリースしており、今回はそのアプリのトライアルができるように、イベントコードが発行されています。

 

なんで「ひっそり」?

2020年に、とある巨大国際イベントがありましたよね?(なぜか開催は2021年)

夏の観光シーズンでもあり、例年ならば大勢の観光客が海外からやってきていたはずで……したが、コロナ禍のため、それは無理でした。しかし、イベント関係者が多少は出入りしており、そのような人々に対して、突然つながる利便性の高いフリーWi-Fiを提供できるのではないかという目論見がありました。イベント関係のインバウンドで、通常よりも若干アクセスが増えるのが観測できるのではないかという、調査上の期待もありました。

しかし!

コロナもイベントも二転三転して、積極的に「使ってね!」とは広報しづらい状況になってしまいました。😢

結局のところ、ほとんど客足は期待できない結果となりました。(それでも少し面白い知見は得られたのですが、これは別途)

写真は、新宿中央公園にあるシスコ社のサイネージです。東京都のスマートポール事業(令和2年度)によるものですが、今回緊急でCityroamも吹いてもらえました。もしイベントの参加者に観光が許されていたら、ここでの利用者もそれなりに増えていたのでしょう。

新宿中央公園のデジタルサイネージ (シスコ運用)

新宿中央公園デジタルサイネージ (シスコ運用)

 

トライアルの背景と目的

Wireless Broadband Alliance (WBA)では、2016年から2018年までの各年、期間限定で City Wi-Fi Roaming trial というのを実施していました。これは、世界のキャリアやISP、都市Wi-Fiなどを結んで、世界的なローミングを実現しようというトライアルでした。日本では、東北大学・セキュア公衆無線LANローミング研究会が2017年に初参加し、2018年も継続参加しました。

別エントリで書きましたが、WBAではPasspointをベースとした国際的なローミング基盤を構築する計画があり、上記トライアルはその準備でもありました。結局、WBAにおける独自開発は進められず、Ciscoで開発中だったOpenRoamingをWBAが引き継ぐ形に落ち着きました。

さて、このOpenRoaming、2020年にWBAでローンチされたはいいけど、いったいどこで使えるのか……? Ciscoが手掛けていたCanary Wharf (London)とLake Geneva (IoT関係)に次いで、日本のCityroamはたぶん3番乗り、スペインの一部都市(詳細不明)、AT&TによるAustinでのトライアル、あとは……といった感じで、あまり実装が進んでいるようには見えません。(WBAの広報さんがんばえ~)

プロファイルを提供するIdP側はというと、GoogleAppleSamsungのアカウントが使えるようになって、以前よりだいぶ間口が広がった感じですが、それでもまだまだでしょう。とにかく、利用者がいちいちサインアップする仕組みでは、サービスの急速な普及は望めないでしょう。eduroamのように既に広く利用されているか、SIM認証のように既に準備済み(プロビジョニング済み)ならば、加速が期待されます。

ところが、肝心のキャリアがまだ乗っていませんね?

ΩΩΩ<な、なんだってー!?

そう、これではCase Studyもなかなか出て来ない。個人的には、City Wi-Fi Roaming trialをもう少し継続して、キャリアの分析を助けるべきだったと思います。

しかしながら、以前のようにWBAが主導でトライアルを実施するには、スピード感が足りません。ところで、日本には既に13市町80基以上のOpenRoaming対応基地局がありますよね……🤔

それなら、自分たちでやっちゃえ!

というわけで、思い立ったが吉日で、WBAのメンバーにCall for Participation (CFP)を回しました。例の巨大イベントも呼び水として入れておきましたが、COVID-19のせいで観光客は期待できないよとは明記しておきました。

後付けみたいですが、今回のトライアルの目的を記すならば、こんな感じ。

  • OpenRoamingサービスのインキュベーション
  • OpenRoaming実装・展開の加速

 

他の事業者の反応は?

もう少し多くのキャリアに乗ってもらえると嬉しかったのですが、いきなりの話で対応できなかったんだと思います。一応、期間中も参加を待っている状態ではあります。

一部のキャリアは、興味を持って動いてくれたのですが、まだ認証連携のシステムが実装も運用も追いついていない感じです。とりあえず、今回のがきっかけで実装に着手したところもあるようなので、目的の一つは果たせたのかなと思います。

 

[2021/8/26追記]

裏の裏はやっぱり裏

技術に興味のある方に、少しだけ情報提供。

今回、OpenRoamingの認証連携ネットワークが既にあったことにより、トライアルの実施が随分楽でした。OpenRoamingをまだ有効にしていないAT&TとBoingoでしたが、いずれもOpenRoamingに対応したハブ事業者にRADIUSで接続済みでした。そのため、Cityroamとしては、事業者のレルムごとに静的な経路をハブ事業者に向けるようにRadSecを設定するだけで、認証連携が実現できました。

従来はどうだったのかというと、Cityroamとハブ事業者の間でproxyを接続するために、IPsecRADIUSの設定が必要でした。IPsecでは、使用するアルゴリズムプロトコルIPアドレス、それに共通鍵を事業者間で交換する必要があります。RADIUSは、レルムに応じた経路の設定に加えて、やはり共通鍵の交換が必要です。面倒くさいですね……。

RadSecは、最初の設定と証明書の取得がちょっとホネですが、その後の作業が楽になります。もし相手の事業者もOpenRoamingに参加していて、DNSにNAPTRレコードが設定されていれば、Dynamic Peer Discoveryのお陰でRADIUSの経路設定すら不要になります (OpenRoaming本来の使い方)。まぁ、良いことばかりではないのですが(意味深)、楽ができたなぁというのが今回の感想でした。

 

おわり

 

Solaris 11.4設定メモ

Solaris 10から11.4への移行時にメモとして書き始めたものの、さほど盆栽^H^Hいじらないうちにあっさり実用になってしまったので()、未完成だけど公開^H^H供養します。

 

ネットワークまわりの設定

ネットワーク設定については、Solaris 10からだいぶ変わっているので、Oracleのドキュメントを参照。ipadmを使います。

一つのinterfaceに複数のIPアドレスを付けて、一つをdefaultにして、他のどれかを経由する外部のサブネットをrouteに追加しようとしてハマりました。routeコマンドに -setsrc を付けないと、最初にマッチしたdefaultのinterfaceから出ようとして不達になるようです。

例えば、あるインタフェースにエイリアスで 192.168.1.8 が振ってあり、そこから出たい場合はこんな感じ。

# route -p add -setsrc 192.168.1.8 -net 192.168.2.0/24 -gateway 192.168.1.1

 

パッケージ操作

追加のソフトウェアが色々とパッケージ化されているので、昔みたいな野良ビルドはほとんど不要になりました。

パッケージを探す場合はこう。

# pkg search <検索語>

一括アップデートはこう。

# pkg update

 

X Window System

Sun Java Desktop System (JDS)はもうありませんorz

X11/desktopすら標準で入っていないのですが、pkgコマンドでサクッと導入できます。NVIDIAのドライバも一緒に入るようになったので、いちいちNVIDIAに拾いに行く必要がなくなりました。

https://www.unix.com/solaris/279780-solaris11-4-no-x11.html

# pkg install solaris-desktop

 

Solaris desktop (Gnome)

Solaris desktop (Gnome)

なんだぁ、Gnomeかよぅ……_('、3」∠)_

 

HP ProDesk 405 G6 SFF/CT (AMD Ryzen 7 PRO 4750G) にMSIファンレスGT710を挿すとこんな感じ。放熱に不安があるので、ファン付きの方がよかったかも。ASUSのGT710も動くのですが、なぜかBIOS POSTに時間がかかったので、MSIに戻しました。

MSI GeForce GT710

MSI GeForce GT710

ちっちゃいのに4750Gで爆速なSolarisデスクトップ機が完成!ヽ(・∀・)ノ

 

Samba

sambaを導入。smb.confに ntlm auth = yes を入れてNTLMv1を有効にしないと、Windows 10から認証が通らなかったのですが、これはもうやめた方がいいです。デフォルトは ntml auth = ntlmv2-only らしいので、Windows 10側をNTLMv2レスポンス限定にして使う方が安全。参考:

# pkg install samba

/home以外のファイルシステムシンボリックリンクを張っていたりすると、標準ではそれを追ってくれない。リンクを追うようにするには、smb.confの [global] セクションに以下を追加。

unix extensions = no
wide links = yes

 

開発環境

GCC (C++込み)を導入。gcc/g++では7.3.0が動くようになった。併せて入るGCC-5.2は、gcc-5.2/g++-5.2で起動する。

# pkg install gcc
# pkg install autoconf
# pkg install automake

 

Postfix MTA

Postfixすら標準で入っていないので、pkgで追加します。(設定略)

# pkg install postfix

 

UPSデーモン

APCユーザなので←、これまでも使っていたapcupsdを入れてみます。

http://www.apcupsd.org/ からtarballをダウンロードして、展開します。

# ./configure --enabale-usb
# make
# make install

/etc/opt/apcupsd/apcupsd.conf を適宜編集。例えば、

UPSCABLE usb
UPSTYPE usb
DEVICE

ぐらい。スタートアップスクリプトは /etc/rc2.d/S89apcupsd としてインストールされます。

 

NFS

ファイルシステムのエクスポート(NFS)が必要だったのですが、少し手ごわい感じ。

ルートファイルシステムZFSなので、従来とだいぶ違います。/etc/dfs/dfstabは読み込まれません。

例えば /export/user2 にマウントしたファイルシステムをホストhogeとpiyoに対してエクスポートする場合、こんな感じ?(合っているか怪しい)

(設定)
# zfs create rpool/export/user2
# zfs set share=name=export_user2,path=/export/user2,prot=nfs,sec=sys,rw=hoge:piyo rpool/export/user2

(確認)
# zfs get share rpool/export/user2
# share

 

日本語LaTeX

仕事柄、日英両方のLaTeX環境が必要不可欠なので、まっ先に入れます。

texliveは、下記サイトの「日本語版 TeX Live ガイド」に従い、perlスクリプト install-tl を走らせるだけで一式が入ります。らくちん!

手元の環境で /usr/bin/gs がPATHに入った状態でdvipdfmxを使うとコアダンプすることがあり、調査中。CSW版gsを使うとよいらしいのですが、texliveのバイナリを優先するようにPATHを書いておかないと、他のエラーが出てしまいます(CSWLaTeXが邪魔か)。

platexもFile not foundエラーを吐く(.dviはできているっぽい)。CSWLaTeXパッケージは、日本語環境が入っていないので、入れない方がよいです。

 

参考になるウェブサイト

 

いじょ

 

ps 親の会社がアレですが、Solarisはひねくれないでいい子に育っている感じです。

 

 

RouterOS v7.1beta6のWireGuard VPNを試す

RouterOS v7から使えるようになったWireGuard VPNを使って、リモートアクセスVPNを試してみました。設定が少しややこしいですが、速いです!

hAP acでRouterOS v6のOpenVPNを使っていると、ローカルでも30Mbps台で、自宅DSLからだと20Mbps台なので、かなり不満でした。v6のOpenVPNTCPしかサポートしていないというのも不利な点ですが、それにしても、OpenVPNは設定自体がなかなかトリッキーです。MTU問題で痛い目に遭いがち><

自宅VDSL (100Mbps)からセンターのサーバに収容、speedtest.net で測ってみたところ、WireGuardではv6のOpenVPN (TCP)と比較して1.5~2倍のスループットが出ました。本当は50Mbps超えて欲しかったのですが、それでもOpenVPNよりずっと快適になりました。素のVDSLで88Mbps出ている時間帯でこれ↓  (もちっとチューニングできるのでは)

Speed via WireGuard/VDSL.

Speed via WireGuard/VDSL.

 

やりたいこと

  • 高速なリモートアクセスVPNを実現
  • hAP acをLinuxサーバに収容 (サーバ側は設定済み)
  • hAP acのすべてのトラフィックをサーバ側からインターネットに出す。今回の目的は、マネージドな無線LAN基地局を作ることなので、要するに、利用者の無線LANトラフィックをすべてサーバ側から出すようにしたい (基地局設置場所のオーナからトラフィックを保護したい)。
    (= default routeをWireGuard側にする)

 

WireGuardはいいぞ

VPNにも色々ありますが、メジャーどころのIPsecは設定がややこしかったり、接続に相性問題が青々としていたりで、必ずしも使いやすくはありません。リモートアクセスVPNならL2TP/IPsecがメジャーでしょうが、設定がさらに面倒です。あと、アクセラレータがないと、CPUによる処理では速度が出ません。Linuxをサーバにしてちょっと高級な設定をしたい用途では、速度面で不利です。

OpenVPNは、相性問題はないのですが、経験上MTU問題が厄介です。あと、プロトコル上、アクセラレータを作りにくいらしく、CPUパワーがないとショボショボの性能になります。自分の用途では、超小型IoT機器でVPNを使いたいので、まず無理ですね。

さて、WireGuardはというと、CPUによる処理でも効率が高く、しかもサーバ/クライアントとも設定が楽という……、これで人気が出ないはずはありません。実際、多くのプラットフォームに実装されています。すぐにも使いたいのですが、残念ながらRouterOS v6には搭載されず、v7の正式版がなかなか出ないという状況。ぐぬぬ

ところで、後に書きますが、WireGuardも全方位で使いやすいというわけではないので、過度な期待はしないでください。

 

RouterOS v7のWireGuard設定

設定ガイドはここ。本記事の執筆時点で、拠点間接続の例しか書かれていないので、色々と悩むことに……。
10

help.mikrotik.com

hAP acをv7.1beta6にアップグレードして、WireGuard関係のメニューが生えてきたところで、「後は楽勝でしょ!」と思ってしまったのが運の尽き……。最初からこのドキュメントに出会っていれば、少しは楽だったのです。

Linuxでwg0.confをいじったり、OpenWrtのLuCIでWireGuardの設定をしたことのある人は、あれ?と思うかもしれません。RouterOSのWireGuardの設定では、クライアント側のIPアドレスを設定する場所が見当たりません。これ、ドキュメントにあるとおり、WireGuardメニューないしCLIでインタフェースを生やした後、/ip/address の方で手作業でIPアドレスを付与しないといけませんIPアドレス入力欄がWireGuardメニューにないのが落とし穴です。

あと、WireGuardでは、両側のピアが入るローカルサブネットとIPアドレスをあらかじめ決めておく必要があります。クライアント側にDHCP的にアドレスを振るような仕組みは(今のところ)ないようです。これが、多数の利用者を対象にしたリモートアクセスVPNに使いにくいところ。

例えば、サブネットを 172.16.1.0/24、サーバ側アドレスを172.16.1.1、クライアント(hAP ac)側を172.16.1.2にする場合、以下の操作でwireguard1インタフェースが生えて、アドレスが付きます。

> /interface/wireguard/add listen-port=51820 name=wireguard1
> /ip/address/add address=172.16.1.2/24 interface=wireguard1
> /ip/route/add dst-address=172.16.1.0/24 gateway=wireguard1

とりあえず、初見でハマったのはこれぐらいです。あとは、クライアント (hAP ac) の鍵ペアと、サーバの公開鍵、IPアドレス、ポートを設定して、以下のようになればOK。

> /interface/wireguard/print detail
Flags: X - disabled; R - running
0 R name="wireguard1" mtu=1420 listen-port=51820
private-key="<クライアントの秘密鍵>"
public-key="<クライアントの公開鍵>"

> /interface/wireguard/peer/print detail
Flags: X - disabled
0 ;;; wgsrv
interface=wireguard1
public-key="<サーバの公開鍵>"
endpoint-address=<サーバのIPアドレス> endpoint-port=51820
current-endpoint-address=<(ここは自動表示される)> current-endpoint-port=51820
allowed-address=172.16.1.0/24 persistent-keepalive=25s rx=0 tx=0

注: WebFigのWireGuard peer設定でallowed-addressを入力しても、値が入らないことがありました。その場合はCLIの方で設定しましょう。

以上でWireGuardが接続できるはずです。サーバ側から ping 172.16.1.2、クライアント側から ping 172.16.1.1 すれば、互いに応答があるはずです。IF ない GOTO 10

 

WireGuardをdefault routeにする設定

今回の目的である、hAP acに収容した端末のトラフィックをすべてWireGuard側に流し、LANには通さないようにする、そのような設定を行います。

手っ取り早く、WireGuard peerの設定メニューで Add Default Route のチェックボックスを探すわけですが……、ない!_('、3」∠)_

WireGuard peer config.

WireGuard peer config.

「そこになければないですねぇ」

OpenVPN-clientの設定には普通に存在する Add Default Route が、どういうわけかWireGuardにはありません。

仕方がないので、手探りで……。必要な設定は以下のとおり。

  • WireGuardで 0.0.0.0/0 を受け付けられるようにする。
  • サーバのIPアドレスの経路を、hAP acが接続されているLANに向ける (重要)
  • IP routeの設定で 0.0.0.0/0 すなわち default を wireguard1 に向ける。
  • wireguard1に対してmasqueradeを有効にする。
  • 元からある default route を外し、ether1 に流れないようにする。
    (metricを増やすだけでは不十分。default routeを外しにくいならmasqueradeを切る方法もある)

ぇ、簡単?……やってみそ😏 経路の設定・解除方法は、分かりますよね?

wireguard1のallowed-addressを変更する必要があります。

> /interface/wireguard/peers/set 0 allowed-address=0.0.0.0/0

masqueradeは、要するにNAPTですね(コラ)。(サーバ側のNAPTは設定済みと仮定)

こんな感じになるように、wireguard1に対してmasqueradeを設定すればOK。

> /ip/firewall/nat/print
Flags: X - disabled, I - invalid; D - dynamic
0 X ;;; defconf: masquerade
chain=srcnat action=masquerade out-interface=ether1

1 I ;;; lte1 not ready
chain=srcnat action=masquerade out-interface=*A log=no log-prefix=""

2 chain=srcnat action=masquerade out-interface=wireguard1 log=no
log-prefix="" 

 

さて、今回ハマったのがこれ……、トンネルの外側でサーバに直接つながる経路の設定です。サーバへの経路を ether1 に向けるだけでしょと思ったそこの私、ハズレです。

gateway=ether1 に設定すると、wireguard1インタフェースのRx表示がピクリとも動きません。仕方がないので、ether1の代わりに、hAP acを接続したLANのゲートウェイIPアドレスを指定してみます。動きました!

ただ、このように固定アドレスを設定すると、hAP acを持ち運んであちこちのDHCP付きLANにつないで使うといったことができなくなります。というわけで、問題は半分しか解決していません。

MikroTikさん、WireGuardにも Add Default Route ☑ を付けてくださいよ~ 🙏

 

課題

上記のとおり、default routeの扱いに少し難があるので、早急に改善してもらいたいところです。

hAP acをオフにして、再度オンにしたときに、WireGuardの接続が回復しないことがあります。うまく復活することもあります。想定している用途では、接続が回復しないのは致命的です。サーバ側で一度WireGuardをdown/upすると復活できるのですが、他のクライアントも巻き込んでしまう問題があります。解決法が分かる人がいたら、ぜひ教えてください。

 

[2021/8/15追記]  後継のhAP ac2にもv7.1beta6を入れることができたので、同様の設定でWireGuardを試してみました。こちらはなんと80Mbps程度出ました。acがMIPS、ac2がARMで、OpenVPNの性能はac2の方が若干低かったのですが、意外な結果です。残念なことに、現時点でhAP ac2には技適がなく、肝心の無線LANを使用できません。

 

おわり

 

P.S.
何度でも書きますが、hAP acに限らず無線LAN機能のあるものは、US版を掴まないように十分注意しましょう。US版の周波数ロックは解除できないし、当然技適もありません。