Milesight ルーターを GenieACS システムに TR-069 経由で統合する方法
1. はじめに
TR-069(Technical Report 069)は、正式名称を「CPE WAN Management Protocol」といい、ブロードバンド・フォーラムによって開発された業界標準プロトコルです。このプロトコルは、リモートデバイス(ルーター、モデム、セットトップボックスなど)とオートコンフィグレーションサーバー(ACS)間の通信と管理を容易にするために設計されています。TR-069 の目的は、ブロードバンドデバイスの展開、設定、管理、およびメンテナンスのプロセスを簡素化および自動化することです。このプロトコルを通じて、サービスプロバイダー(ISP)は数百万のユーザーデバイスをリモートで管理でき、動作効率の向上、メンテナンスコストの削減、およびユーザー体験の向上を実現できます。この記事では、TR069 プロトコルを使用して Milesight ルーターを管理する方法について説明します。
2. 要件
- Ubuntu Server 20.04.6
- Milesight ルーター:UR3x(ファームウェアバージョン 3x.3.0.8 以降)
- ルーターと Ubuntu Server 間のネットワーク接続(以下のポートが開いていることを確認):7547、7443、3000、7557、9091
3. GenieACS サーバーのセットアップ
GenieACS は、TR-069 対応デバイスのリモート管理用の高パフォーマンスな自動構成サーバー (ACS) です。複雑なプロビジョニングシナリオを大規模に自動化するための宣言型で障害耐性のある構成エンジンを採用しています。詳細な手順は、インストールガイド の記事を参照してください。
3.1. Node.js 環境のインストール
注意: バージョンは 12.x である必要があります。他のバージョンは互換性がありません。
sudo apt-get update
sudo apt-get install -y curl gnupg
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
3.2. MongoDB データベースのインストール
注意: バージョンは3.6以降でなければなりません。他のバージョンは互換性がありません。
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt update
sudo apt install mongodb-org
sudo systemctl start mongod.service
sudo systemctl status mongod.service
sudo systemctl enable mongod.service
3.3. GenieACS システムのインストール
sudo npm install -g genieacs@1.2.13
インストールが完了するまで待ちます。
3.4. 設定ファイルの作成
sudo useradd --system --no-create-home --user-group genieacs
mkdir /opt/genieacs
mkdir /opt/genieacs/ext
chown genieacs:genieacs /opt/genieacs/ext
設定ファイルを編集します:
vi /opt/genieacs/genieacs.env
以下の内容を入力します:
GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log
GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log
GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log
GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log
GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml
NODE_OPTIONS=--enable-source-maps
GENIEACS_EXT_DIR=/opt/genieacs/ext
以下のコマンドを実行して続行してください:
node -e "console.log(\"GENIEACS_UI_JWT_SECRET=\" + require('crypto').randomBytes(128).toString('hex'))" >> /opt/genieacs/genieacs.env
適切な所有権と権限を設定します:
sudo chown genieacs:genieacs /opt/genieacs/genieacs.env
sudo chmod 600 /opt/genieacs/genieacs.env
ログディレクトリを作成し、所有権を設定します:
mkdir /var/log/genieacs
sudo chown genieacs:genieacs /var/log/genieacs
3.5. システムサービスファイルの作成
(1) CWMPサービスファイルの作成:
touch /etc/systemd/system/genieacs-cwmp.service
以下の内容を入力:
[Unit]
Description=GenieACS CWMP
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-cwmp
[Install]
WantedBy=default.target
(2) FS サービスファイルの作成:
touch /etc/systemd/system/genieacs-fs.service
以下の内容を入力:
[Unit]
Description=GenieACS FS
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-fs
[Install]
WantedBy=default.target
(3) NBI サービスファイルの作成:
touch /etc/systemd/system/genieacs-nbi.service
以下の内容を入力:
[Unit]
Description=GenieACS NBI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-nbi
[Install]
WantedBy=default.target
(4) UI サービスファイルの作成:
touch /etc/systemd/system/genieacs-ui.service
以下の内容を入力:
[Unit]
Description=GenieACS UI
After=network.target
[Service]
User=genieacs
EnvironmentFile=/opt/genieacs/genieacs.env
ExecStart=/usr/bin/genieacs-ui
[Install]
WantedBy=default.target
(5) ログローテーション設定の作成:
touch /etc/logrotate.d/genieacs
以下の内容を入力:
/var/log/genieacs/*.log /var/log/genieacs/*.yaml {
daily
rotate 30
compress
delaycompress
dateext
}
3.6. 起動時の設定
sudo systemctl enable genieacs-cwmp
sudo systemctl enable genieacs-nbi
sudo systemctl enable genieacs-fs
sudo systemctl enable genieacs-ui
3.7. システムの起動
sudo systemctl start genieacs-cwmp
sudo systemctl status genieacs-cwmp
sudo systemctl start genieacs-nbi
sudo systemctl status genieacs-nbi
sudo systemctl start genieacs-fs
sudo systemctl status genieacs-fs
sudo systemctl start genieacs-ui
sudo systemctl status genieacs-ui
3.8. Web UI にアクセスする
Chrome ブラウザを使用して、http://[Ubuntu サーバーの IP アドレス]:3000 にアクセスします。ユーザー名にadmin、パスワードにadminを入力してログインします。
4. Milesight ルーターを GenieACS と統合する
-
- ルーターのウェブ GUI でService > TR-069ページに移動し、TR069 オプションを有効にします。
- ACS設定URLフィールドに http://[Ubuntu Server IP Address]:7547/ を入力します。 注意: ポート番号は7547であり、末尾のスラッシュを省略しないようにしてください。
- ACS ユーザー名とパスワードの両方に admin を入力します。
- CPR 設定の「Enable Period Inform」オプションにチェックを入れます。
- Save をクリックします。この時点で、CPE ユーザー名と CPE パスワードは手動動作なしで自動的に入力されます。
5. 結果の確認
しばらく待つと、接続されたデバイスの情報が GenieACS の Devices セクションに表示されます。
Show をクリックして、デバイスから送信されたパラメーター情報を表示します。
-以上-
関連記事
ルーターの使用
Ubuntuを使用したDMVPNのインストールと設定例DMVPNサーバーのインストール方法、およびMilesightルーターをサーバーに接続する手順を説明します。
ネットワークの常時接続機能を実現する方法Ursalink 産業用セルラールーターは、リンクフェイルオーバー機能によりネットワークをスムーズに稼働させます
MilesightルーターでシリアルDTUトランスペアレントモードを使用する方法Milesight ルーターでシリアル DTU 透過モードを使用する方法について簡単に説明します
Milesight ルーターで Modbus RTU を Modbus TCP に設定する方法最もよく使用されるのは、Modbus RTU(リモートターミナルユニット)、シリアル(RS-232またはRS-485)プロトコル、またはModbus(TCP/IP)伝送制御プロトコルとインターネットプロトコルです。
Milesight ルーターでのModbus マスター機能の使用方法Milesightルーターは、Modbus RTU/TCPマスター(クライアント)として機能し、Modbusスレーブユニットデバイス(サーバー)からデータを要求できます
Python アプリケーションを使用して SNMP サーバーに DI/DO ステータスを書き込む方法Milesight ルーター上の Python アプリケーションを使用して、DI/DO ステータスを SNMP サーバーに書き込む方法について説明します。
Milesightルーターのセルラー周波数帯域選択セルラーネットワークに登録する特定のセルラー周波数帯域を選択する方法について説明します
Milesight UR75&UF51ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
Milesight UR3x&UR41ルーターでDOをコントロールする方法DOの原理とDOの制御方法について説明します
MilesightルーターをOpenVPN CloudConnexaに接続する方法CloudConnexaを例に、MilesightルーターとCPEでOpenVPNクライアントを構成する方法を説明します。
MilesightルーターのMQTTメッセージング機能MQTT クライアントとしてデータをパブリッシュするための MQTT 設定の構成方法、およびルーター情報とデータの取得方法について説明します。
Milesight ルーターで「pip install」を実行する方法Milesight セルラー ルーターには、Python での二次開発用に組み込みコンポーネントが搭載されています。
Milesightルータ間でIPsec VPNを確立する方法Milesight ルーター間で IPsec VPN を設定する方法について説明します。
MilesightルーターでACLを設定する方法アクセス制御リスト(ACL)の設定について詳細に説明します
MilesightルーターでのDIの使い方DI の使用方法と DI ステータスの確認方法について説明します
システム時刻の設定方法とNTPサーバーのセットアップNTP サーバーとの同期を例に、システム時刻の設定方法と、ルーターを NTP サーバーとして使用する方法を説明します。
SMSの送受信と遠隔操作の方法この手順により、電話グループ1のSIM1番号のみがこのルーターを制御するためのメッセージを送信できるようになります。
Milesightルーター間のWi-Fiによるローカルネットワーク通信Milesight ルーター間でWi-Fi経由のローカルネットワーク通信を設定する方法について説明します。
Milesightルーターを経由してiOSをIPsec VPNに接続する方法説明 インターネットプロトコルセキュリティ(IPsec)は、インターネットプロトコルネットワーク上で […]
MilesightルーターでOpenVPNサーバーをセットアップする方法は?ルーター上でOpenVPNサーバーを構成する方法を説明します。