5
3

More than 1 year has passed since last update.

さくらのクラウドでUniFi Network Applicationを動かす

Last updated at Posted at 2022-12-01

さくらのアドベントカレンダー2022 2日目の記事です。

どうも、さくらインターネット やまけんです。
今回は、さくらのクラウドにUbiqitiが販売しているUniFiと呼ばれるネットワーク製品群のコントローラソフトである UniFi Network Applicationを構築し、スイッチや無線APを管理するという方法になります。

そもそも UniFiとは

2003年にアメリカ カルフォルニアのサンロゼで起業したUbiquitiが提供しているネットワーク機器のブランドです。
日本では一時期お安い高機能ルータとして、EdgeRouter Xが6-7年くらい前に流行りましたが、それを作っていたのもUbiquitiです。

インテリジェンスなスイッチや高機能な無線APなどを安く販売しており、いわゆる逸般の誤家庭向け機器としてもおなじみです。
数年前から日本公式ショップも展開しており、ちょっと前までのebayやEuroDKで買うなどをしなくても手軽に買えるようになりました。

このUniFI機器の良いところは、コントローラのライセンスが無償であるところです。
ネットワークアプライアンスであるあるなのが、ライセンスが年間いくらでみたいなサブスクになっていたりなのですが、UniFi製品はそこがかかりません。

そのため、2019年ぐらいに自宅の無線APをリプレイスする際、さくらの専用サーバチームの人にアライドテレシスかUniFiはどーよとおすすめされて、それ以来どハマりしました。

おかげさまで今は、グループ会社のビットスターメンバーにもおすすめしまくって布教しています。

ちなみに、コントローラについては、今だとUniFi OS Consolesといって、ルータやコントローラを購入し、 unifi.ui.com 経由でクラウド管理するというのが推奨されている方法ではありますが、自前ホスティングでのコントローラ利用も可能であり、きちんとナレッジも公開されています。

要件としては

Linux: Ubuntu Desktop / Server 22.04; Debian 11 "Bullseye"
CPU: x86-64 Processor (Intel / AMD x64 Processors)
RAM: 2GB
Network: 100Mbps Wired Ethernet
HDD: Minimum 10GB free (20GB or more preferred)
Java: Java Runtime Environment (JRE) 8
Web Browser: Google Chrome
MongoDB: version 3.2 or later. 

とのことで、クラウドで2GB 2CPUあたりのSSD20GBインスタンスを立てればいけそうな感じです。

今回は、勉強会やイベントなどで既にインターネットは来てるけど、WiFiの提供をしなきゃいけないというような状況で、クラウド上のコントローラとその配下にPoEスイッチ、WiFiAP数台のような環境を想定したコントローラを作成します。

コントローラも普段はシャットダウンされていて、イベント時にVMが立ち上がっているようにしていれば、出費も抑えれて良い感じです。
なので、さくらのクラウドであえて構築しています。

IMG_8958.jpg
イベント現場向けWiFi提供セット(モジュラーシンセ用可搬2UラックにPoEスイッチを設置し運用)

クラウドホストの作成

先ほどの要件をもとにクラウドVMを作成します。

さくらのクラウドでホストを作成します、特にどのリージョンがというのはないですが、一番新しい東京第2リージョンで作成します。

スクリーンショット 2022-11-30 22.52.45.png

とりあえず2コア メモリ2GBを選択し

スクリーンショット 2022-11-30 22.53.02.png

ディスクはSSD20GBを選び、アーカイブからUbuntu Server 22.04 LTS 64bitを選びます

スクリーンショット 2022-11-30 22.53.39.png

ネットワークはインターネット接続のまま。特に変更はなく、
ディスクの修正はチェックを入れて、管理者ユーザーのパスワードやホスト名を入れます。

スクリーンショット 2022-11-30 22.54.20.png

公開鍵認証でログインするように設定するため、github.comから鍵を取ってくるようにしました。
クラウドアカウント登録の鍵や、RSAの公開鍵をペーストして設定しても良いです。

パスワード/チャレンジレスポンスでのSSHログインを許可しないにしておいてパスワード認証でのSSHを排除します。

スクリーンショット 2022-11-30 22.54.54.png

あとはVMを判別しやすいように名前をつけて右下の作成ボタンを押して作成します。

しばらくしたらVMが立ち上がりますので、SSHでログインします。

一応最新のパッケージに更新するよう

sudo apt-get -y update && sudo apt-get -y dist-upgrade

で更新しておきましょう。

UniFi Network Applicationのインストール

一応上記URLで公式のインストール方法が提示されているのですが、このドキュメントの中に

See an example of what scripts the Community is using to install the UniFi Network application on Ubuntu 16.04 and 18.04 in this Community post.

ということで、UniFiのユーザーコミュニティスペースに、有志が作成したシェルスクリプトでサクッと作成できますのでそっちでやっていきます。

ドキュメントを踏まえて、少しだけ叩くスクリプトを変えています。

#rootユーザで作業する

sudo -i

#aptで wgetとCA証明書をインストールする
apt-get -y update && apt-get -y install ca-certificates wget

#最新のスクリプトをダウンロードして実行する1ライナー
rm unifi-latest.sh &> /dev/null; wget https://get.glennr.nl/unifi/install/install_latest/unifi-latest.sh && bash unifi-latest.sh

スクリーンショット 2022-11-30 23.22.37.png
そうすると自動でスクリプトが走ります。必要なものなどを入れていきます。

スクリーンショット 2022-11-30 23.23.08.png

インストール後にスクリプトを残すかどうか。必要なければnで削除するようにしてもよいです。

スクリーンショット 2022-11-30 23.23.21.png

こんな感じでアップデート求められたりするので、適宜選択して進めていくだけ

スクリーンショット 2022-11-30 23.24.41.png

インストールが進む

スクリーンショット 2022-11-30 23.27.27.png

aptリポジトリにUniFiのリポジトリを含めるかですね。apt でアップデートできるようになるので含めても良いかと。

スクリーンショット 2022-11-30 23.30.25.png

UniFi Network Applicationのインストールは終わり、 https://[VMのIPアドレス]:8443 でコントローラを開くことができますが、別途Let's Encryptを使った証明書発行を行うかという設問です。
ホスト名設定して正引きできる状態だと引き続き設定した方が良いかと。

スクリーンショット 2022-11-30 23.35.23.png

1を選ぶとcertbotをインストールして証明書の自動発行を進めてくれます。

スクリーンショット 2022-11-30 23.36.17.png

タイムゾーンの設定です。 Asia/Tokyoなので yですすめます

スクリーンショット 2022-11-30 23.36.58.png

ホスト名の設定です。正しいホスト名が出ていればそのまま進めて良いですが、間違っているようであればnを押し、正しいホスト名を入れます。

スクリーンショット 2022-11-30 23.43.34.png

SSL設定が進みます。

スクリーンショット 2022-11-30 23.44.13.png

設定完了すると https://[設定したドメイン]:8443 のアドレスが表示されますので、あとはブラウザ側で設定します。

UniFi Network Application の設定

スクリーンショット 2022-11-30 23.52.13.png

https://[設定したドメイン]:8443 を開くとガイダンス形式で設定をしていきます。

スクリーンショット 2022-12-01 0.28.29.png

設定完了後

スイッチやWIFI APをクラウドコントローラに収容します。

スクリーンショット 2022-12-01 0.14.45.png

スイッチやAPはデフォルトユーザubnt パスワードubntでsshできます。
ログイン後 set-inform http://[コントローラのIP]:8080/inform と打つとコントローラ側で追加できるようになります。

スクリーンショット 2022-12-01 0.52.33.png

登録ができました。

公式ドキュメントの L3 Adoptの方法については下記リンクへ

おわりに

今回はクラウドで構築しましたが、シェルスクリプトをラズパイなどで実行するとローカルにコントローラを構築できます。

UniFiのスイッチやAPは結構かゆいところに手が届くので、是非とも使ってみてください。
Enjoy!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3