2026年1月6日火曜日

D-STAR Gateway のハッキング対策(暫定 iptables)

Back



以前から有ったのですが、最近特にポートサーチなどハッキングの量が増えています。そこで D-STAR Gateway に関しても自動でファイアウォールを設定するスクリプトを配布することが予定されています。

いずれ、推奨される nftables に移行されると思いますが、取り敢えず iptables のルールファイル作成スクリプトがハッキング防止効果を確認後、配布できるよう準備中です。

Copyright © 2026- Created by JARL D-STAR委員会 YASUDA Satoshi 7M3TJZ


スクリプトを実行してファイアウォールをインストール



    すでに iptables をご利用の方は、/etc/iptables/rules.v4 をバックアップしてください。

  1. 次のコマンドを実行してファイアウォールの環境をインストールします。

  2. AlmaLinux
    curl http://app.d-star.info/rpm/dnf/gw_firewall | bash

    Raspberry Pi OS
    curl http://app.d-star.info/debian/bookworm64/rpi-GW/gw_firewall | bash


  3. ファイアウォール (iptables) はすぐに有効になることはありません。

  4. /etc/iptables/rules.v4 と言うファイアウォールのルールを定義したファイルが出来ます。iptables がインストールされていない場合は、関連ファイルとともにインストールされます。


ルールファイル (rules.v4) が出来て居たらすること



    但し、この項目はすでに iptables を利用されている方以外は読み飛ばしてください。

  1. /etc/iptables/rules.v4 の内容を良く確かめ、既存のTCPに関する設定が漏れていた場合次のようにしてください。

  2. /etc/iptables/extra_port というファイルを作成します

  3. 内容はTCPポートの羅列です。(例:8080,8089) Last Heard をお使いの方は 8080 を記入してください。例のように2つ以上の場合、最後にコンマは付けないでください。

    尚、Last Heardでも表示出来るようにしている「管理用WEB」の各ポートについてはインストール時に作成された rules.h4 を確認の上、 記載されていない場合(変更されている場合含む)は extra_port に追記してください。

    この時点で、iptables に精通されている方は rules.v4 の内容で不要なポート等を削除することも可能です。(逆にUDPポートの追加に関しては編集が必要です。)


ルールファイル (rules.v4) に基づいて iptables を有効にする



  1. SSH で実行される方は rules.v4 の内容に間違いなく、使用中の SSH ポートが含まれているか、念を入れて確認してください。

  2. curl の実行で /usr/local/bin/ に jpip_setup がインストールされています。

  3. これを実行してください。
    # jpip_setup
    このコマンドは、curl 直後の再起動によっても実行されます。いきなり再起動する場合は次の項目をよく読んでください。
    (註:/etc/iptables/domestic.save が存在する場合は再起動してもルールが適用されませんのでコマンドを使用してください。)

  4. iptables が有効になっているか確認します。

  5. # iptables -L


再起動時に自動実行されること



  1. reboot した時、もし SSH が効かなくなってしまったら(ほぼ起こりません)5分待ってください。

  2. curl 実行時に jpip_setup と供にインストールされている jpip_reset と jpip_purge の機能によって、5分後 iptables によるセキュリティ・ルールが解除されます。

  3. この場合、再度 SSH ポートが合致しているかなどを確認の上再起動し直してみてください。

  4. SSH に問題が無ければ、以後 iptables が解除されないよう次の作業をします。

  5. # nano /usr/local/bin/jpip_reset
      GNU nano	
    		:
    		:
    # 正常に動作が行われることが確認出来た場合は、
    #  下記行をコメントアウトもしくは削除すること
    #  その後、PCを再起動
    #at now+5 min -f /usr/local/bin/jpip_purge

    最終行をコメントアウト(又は削除)してください。

    これですべての作業が終了です。以後 iptables によって異常なアクセスは拒否されます。

2025年8月4日月曜日

D-STAR Gateway の自動インストールスクリプト

Back




主な目的
D-STAR Gateway のインストールについては別途ブログに手順を記載してきましたが、それに加えて LastHeard ダッシュボードや xchange/multi_forward がストップしたときの監視プログラム(watch_xchange)など、インストールが煩雑になり、AlmaLinux にせよ、Raspberry PiOS にせよ短時間で片付けるのが難しくなってきました。

そこで、安田OMの dmonitor をインストールするときのように、一発コマンドが有れば度重なるインストール作業も楽々こなせるのではとスクリプトを作ってみました。

事前準備
AlmaLinux に関しては、USBなりにダウンロードしたインストールメディアを使用して「サーバ(GUI)」にチェックをして通常どおりインストールをすませてください。 オプション(WEBサーバなど)は必要ありません。

Raspberry PiOS に関しては、純正イメージャーで「lite版」を焼き込みます。簡易デスクトップは軽量版をスクリプト内でインストールします。

事前準備で最も大事なことは、install.ini と言うファイルをダウンロードして、D-STAR Gateway の環境に合わせて、編集しておくことです。

次のコマンドを実行すると、ホームディレクトリー(/home/USER 又は /root)へファイルが落ちます。

wget https://app.todo.vc/dstar/install.ini
もし、wget が入っていなければ sudo apt install -y wget を実行してください。

  GNU nano 7.2                                           install.ini
##############################################
#    D-STAR Gateway セットアップファイル
##############################################

### SSH PORT の変更
SSH_PORT=22
### NETWORK INTERFACE の設定
WAN_CON=eth0
WAN_IF=eth0
WAN_IP=10.0.x.xx
WAN_MASK=8
WAN_GW=10.0.x.yy
WAN_DNS=10.0.x.yy
LAN_CON=eth1
LAN_IF=eth1
LAN_IP=172.16.0.20
LAN_MASK=24
LAN_GW=172.16.0.1
### VNC の設定(passw0rdを変更してください)
VNCPASSWD=passw0rd
VIEW_ONLY=n
GEOMETRY=1280x960
DEPTH=24
### dsgwd.conf の設定
ZR_CALLSIGN=JP1xxx
ZR_ADDR=127.0.0.1
ZR_PORT=20011
ZR_SRCPORT=20100
ZR_ETHIFNAME=lo
DNS_ADDR=8.8.8.8
GW_ZRPORT=20010
MGSV_ADDR=trust.d-star.info
MGSV_PORT=30001
MGSV_LOGADDR=trust.d-star.info
MGSV_LOGPORT=30000
### xchange.conf の設定
FORWARD0=127.0.0.1:50000:dprs
FORWARD1=127.0.0.1:50001:dstatus
FORWARD2=127.0.0.1:50002:multi_forward
FORWARD3=127.0.0.1:50003:decho
HTTP_PORT_XCHNG=8081
### multi_forward の設定
MAX_TIME=0
MAX_CONNECT=0
HTTP_PORT_MLFWD=8082
### dprs.conf の設定(緯度/経度は必ず設定してください)
BEACON_LAT=00.0000
BEACON_LONG=000.0000
BEACON_INTERVAL=1200
ACCEPT_TYPE=MIX
HTTP_PORT_DPRS=8083
### decho.conf の設定(コールサインとモジュール名の間はアンダースコアに置き換える)
ECHO_SERVER=JP1xxx_A:JP1xxx_Z
### WEB Server の設定(8080などに変更したとき記述してください)
PORT=80
すべて必ず指定値を記入してください。(エラーが出ます)

このデータファイルは保存して置くと次回からコマンド実行だけで完了します。

コマンドの実行
D-STAR Gateway アプリケーションのインストール
install.ini ファイルを置いた ホームディレクトリーで実行します。(sudo は必要ありません)

curl -sSL https://app.todo.vc/dstar/install.sh | bash

LastHeard のインストール

curl -sSL https://app.todo.vc/lastheard/install.sh | bash

watch_xchange のインストール

curl -sSL https://app.todo.vc/watch_xchange/install.sh | bash

AlmaLinux か Raspberry PiOS かは、スクリプトが判断して、スクリプトを切り替えます。(両用です)

ただ現在、Raspberry版について、リポジトリーが https(SSL化)になっていないようなので、 エラーが出ます。/etc/apt/sources.list.d/jarl-GW.list の内容を https:// から http:// に変更して実行してください。 エラーの為に途中でストップしても、原因を取り除けば、再度コマンドを繰り返してもすべて上書きになるだけで支障ありません。

関連サイト

2025年2月20日木曜日

Last Heard v.2.1.x RpiGW管理用WEBアプリケーション(rpi-monitor対応)

Back



=MEMO= 2024年1月現在のゲートウェイ・アプリケーション仕様変更(2023年の法改正による)に伴い、xchangeへの接続方法も変更になりました。 初期化パケットがxchange起ち上げ時発行され、それに返答する事によって継続的にポートが利用できます。 未だ確定では無く仕様が変更される可能性は有りますが、そのプロトコルに対応した lastheard v2.0.0 を2024年1月19日より公開して来ました。 今回、rpi-monitor対応 LastHeard v.2.1.xにアップグレードしRasberry Pi/AlmaLinux両用 D-STAR Gateway管理アプリとして再構成致しました。

主な変更点は別途 D-STAR委員会からテストリリースされている、安田OM作の rpi-monitorが出力する通信の分析結果ログを LastHeard接続ユーザごとに表示する様にしたことです。。なお現在monitorアプリはRaspbian(Pi OS)のみとなって居り、AlmaLinux (CentOS) ではこの分析表示の機能については使用できません。
( LastHeard は D-STAR委員会登録アプリケーションです。)

=MEMO= LastHeard v.2.1.7 からダッシュボード最下部にCPU温度表示を追加しました。 AlmaLinux の場合、sensors とコマンド入力して動作しなければ、次のようにインストールしてください。

$ sudo dnf install lm_sensors
$ sudo sensors-detect




実際のWEBはこちらから


D-STAR リピータも、かなりの所が新ゲートウェイ採用となりました。今までのゲートウェイ(アイコム社製 dsgwd )は文字通り、コントローラ(ID-RP2C)とインターネットの間に入ってRF側とインターネット側の行き来を制御していました。

新ゲートウェイはその機能として、JARL管理サーバのアドレス指定に、IPアドレスではなく名前(FQDN)として trust.d-star.info を指定するように変更され、これによって2台のサーバ(IPアドレスは違う)が一つの名前で参照され、安全性が向上しました。

また、今まで UDP:40000 と言うポートに制限されていた、コールサインルーティングの復路も、ホールパンチ対応となり、往路が使用したポートを使って戻ってくるように仕様変更されました。ターミナル/アクセスモードでの 40000 ポート制限も、この方法で間もなくクリアされると思います。

さらに、最近ではゲートウェイPC内での各アプリケーションのコミュニケーションに掛かる応答時間を、仕様書通りに厳密にすることによって、交信中の他ゲートウェイからの割り込み等で会話が途切れる問題にも対応されました。LastHeard v.2.1.x でも引き続きハンドシェイクのスピードをアップした仕様となっております。
ソフトウェアのダウンロードとインストール
ソフトウェアはあくまで、自分自身の勉強の為にC言語、PHP、Pythonを使って書いてあります。著作権は保持していますが、CC-BY-NC-SA(クリエイティブ・コモンズ・ライセンス)に従って、自己責任で自由にお使いください。

  1. PHPとApache2 をインストールします。

  2. $ sudo apt install php
    (AlmaLinuxはWEBサーバが httpd としてバンドル済み)
    

    PHP(バージョン指定不要)をインストールすると、依存関係から Apach2 もインストールされます。

    これだけで、Raspberry Pi のIPアドレスを、他のWindowsマシンのブラウザなどで見ると、下のようなデフォルトページが見えます。 又、自動起動も有効に設定されます。


  3. ゲートウェイサーバの OS で git clone します。

  4. $ sudo apt install git
    ( # dnf install git )
    $ git clone https://github.com/ytodo/lastheard.git
    $ cd lastheard
    $ tree			# このコマンドはデフォルトでは入っていません。
    .
    ├── html		# このフォルダごと /var/www/ の直下にコピーします。
    │   ├── conf
    │   │   └── db.conf	# ダッシュボードの色を変えたり設定をします。
    │   ├── css
    │   │   └── db.css		# ダッシュボードのスタイルを決めます。
    │   ├── favicon.ico		# ダッシュボードのタイトルバーアイコンです。	
    │   ├── get_html.py		# multi_forward WEBを取得します。
    │   ├── images
    │   │   └── red_earth.png	# 好きなキャッチ画像をここに置きます。
    │   ├── index.php		# WEB本体です。
    │   ├── monitor.php		# index.phpと同じです。
    │   ├── log2database.py	# rpi-monitorのログを編集し個別データにします。
    │   ├── phplot
    │   │   └── このフォルダ内はPHPlotをダウンロード、
    │   │          解凍したフォルダをこの名前で置く。
    │   │
    │   └── rpt
    │        └── rpi-monitorが生成したファイル(.php .png)やLastHeardが作成したファイル
    │   
    ├── lastheard.service	# アプリ LastHeard を自動起動するユニットファイル
    ├── log2database.service	# 今回作成したログデータベース作成アプリの起動用
    ├── Makefile			# Cソースをコンパイルするときの手順ファイルです。
    ├── README.md
    ├── recv.c			# lastheardプログラムのソースです。
    └── recv.h			# lastheardプログラムのヘッダーファイルです。
    
    8 directories, 39 files
    
    $ make
    

    これで、ラストハードをログへ出力するアプリ「lastheard」が作成されました。PHPのWEB表示プログラムはフォルダhtmlに同梱されています。


  5. ダウンロードしたアプリケーションを各フォルダーに置きます。


  6. =MEMO= PHPlotの構成については PHPでグラフが描けるPHPlot をご参照ください。

    $ sudo mv lastheard /usr/local/bin
    $ sudo cp -rf html /var/www
    $ sudo rm /var/www/html/index.html
    

    PHPをインストールしたとき確認したデフォルトページを削除します。index.htmlを削除すると、自動的に index.php が表示されるようになります。



ソフトウェアの各種設定
  1. ラストハードアプリの自動起動を設定します。

  2. $ sudo cp lastheard.service.Rpi /etc/systemd/system/lastheard.service	# Pi OS の場合
    $ sudo cp lastheard.service.Alma /etc/systemd/system/lastheard.service	# AlmaLinux の場合
    $ sudo cp log2database.service /etc/systemd/system
    $ sudo systemctl enable lastheard.service
    $ sudo systemctl enable log2database.service	# AlmaLinux では不要です
    $ sudo reboot
    

    これで、立ち上がればブラウザーでラストハードが見られるはずです。カーチャンクしてみてください。


  3. 環境設定ファイルの編集をします

  4. 先ずRpi-GWの設定ファイルにLastHeardのJARL D-STAR委員会へ登録したポートを設定します。
    プログラム名は LastHeard ですが登録するファイル名は lastheard(すべて小文字)なので注意してください。

    $ sudo nano /boot/rpi-GW/rpi-xchange.conf
    
      GNU nano 7.2                /boot/rpi-GW/rpi-xchange.conf
      
    #
    #   Version V02.00 or later
    #   Satoshi Yasuda
    #   12 Aug. 2018
    #
    DEBUG=3
    ZR_NIC=eth1
    ZR_ADDR=172.16.0.1
    ZR_IN_PORT=20000
    ZR_OUT_PORT=20000
    GW_IN_PORT=20011
    GW_OUT_PORT=20010
    GW_NIC=lo
    MON_PORT=21000
    GW_ADDR=127.0.0.1
    
    FORWARD=127.0.0.1:50000:dprs
    FORWARD=127.0.0.1:50001:dstatus
    FORWARD=127.0.0.1:50002:multi_forward
    FORWARD=127.0.0.1:50003:decho
    FORWARD=127.0.0.1:52000:lastheard
    
    HTTP_PORT=20201
    UPNP=0
    

    次に、LastHeardの設定ファイルを編集します。

    # nano /var/www/html/conf/db.conf
    
      GNU nano 7.2                /var/www/html/conf/db.conf
    #
    #   D-STAR Dashboard configuration file
    #
    #   2018.12.22  Yosh Todo/JE3HCZ
    #
    
    # 自局設定
    RPTNAME=xxxx D-STAR GATEWAY --> 漢字も使えますがこのファイル自体をShift_JISで保存してください
    RPTCALL=JPnxxx A
    
    # LASTHEARD 行数
    LINES=10
    
    # リフレッシュ間隔(秒)
    INTERVAL=2
    
    # ヘッダーに表示するグラフィックスのファイル名
    # (名前は的下ですが、images に入れるファイルと一致させてください)
    #   ファイル形式はjpg gif png 幅400px 高さ200px程度
    #   ファイル容量 数十キロバイト推奨
    HEAD_PIC=header_picture.jpg
    
    # ヘッダー画像の左右/上下位置と繰り返し表示有無
    #   left/center/right  top/bottom  repeat/no-repeat
    PIC_POSx=right
    PIC_POSy=top
    REPEAT=no-repeat
    
    # バックグラウンドカラーの変更が出来ます。
    #   例 グリーン: #55AA55  名称標記も可能: white
    #   指定しない又は行そのものがない場合、規定値となります。--> シックなオレンジ
    
    BGCOLOR=
    
    

    設定値のイコール(=)前後はスペースを入れないでください。



WEBの扱い方
  1. 接続ユーザとラストハードについては、すべて自動で指定した秒数で更新されます。

  2. rpi-monitorの個別ログを見たいときは、ラストハードのコールサインをクリックしてください。
  3. さらにログが表示されましたら、[ 受信パケット状態のグラフ表示 ] と言うリンクが有ればグラフが表示されます。


Back


73
Yosh Todo/J E 3 H C Z

ご意見等は当ブログトップメニューページの「FORUM」リンクからお願いします。

2024年8月20日火曜日

D-STAR リピータ・ゲートウェイのセットアップ(AlmaLinux)

Back


README
  • dsgwdはアイコム株式会社の、xchange dprs dstatus multi_forward は安田OM(7M3TJZ)/ JARL D-STAR委員会の著作物です。 インストール及び設定に関する実務についてのみ今後の参考のために記載します。また手順に変更があれば随時、変更・追加致します。 (最終更新 2025.6.5
  • 新ゲートウェイシステム・フローチャートはこちら TODO Virtual Center
  • 本ブログに関するご意見・お問い合わせはこちらへお願いします。   D*Star Network FORUM
  =MEMO= CentOS におけるサポートは終了のため、ゲートウェイ・アプリのリポジトリーも
       閉鎖となり、新たに CentOS によるインストールは不可となりました。(2025.6.5)


準備するもの
  • AlmaLinux(2025年6月時点に於ける最新版 9.6)のインストールされたLANカードを2枚持つPC

  • DD(バックアップイメージを取るなどに使用)コマンドを使用しなければ WiFiも可能と言う事ですし、USB-RJ45 変換アダプタの使用等も出来ますが、 サーバーとしての安定性を考慮すると上述の仕様をお勧めします。 (64ビットのみの対応です。

  • JARLレポジトリを利用するための準備

  • 次の準備をして、次項のインストールへ

    =MEMO= D-STAR 仕様書7.0 に準拠するICOM社のゲートウェイソフトがリリースされたのに合わせて、不要な準備を割愛いたしました。(2025.8.21)
    なお、新しいゲートウェイソフトは AlmaLinux 対応ですので、CentOS の場合 AlmaLinux へのクリーンインストールが必要です。 なお、ゲートウェイ設定コマンドは仕様書7.0対応ゲートウェイのインストールに対応済みです。

    #マークはrootのプロンプトです。userログインの場合は sudo を付けるか次のコマンドを実行してください。

    $ sudo su -  (ハイフン)---> userログインの場合
    # cd /etc/yum.repos.d
    # curl -O http://app.d-star.info/rpm/dnf/jarl_almalinux.repo # -O ハイフン・大文字オウ
    

    /etc/yum.repos.d ディレクトリ内に jarl_almalinux.repo と言うファイルがダウンロードされます。

    # nano jarl_almalinux.repo
    
      GNU nano 5.6.1                          jarl_almalinux.repo
    # jarl_almalinux.repo
    
    [dsgwd-jp]
    name=dsgwd-jp almalinux-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/almalinux/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    
    [xchange]
    name=xchange almalinux-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/almalinux/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    
    [dprs]
    name=dprs almalinux-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/almalinux/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    
    [dstatus]
    name=dstatus almalinux-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/almalinux/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    
    [multi_forward]
    name=multi_forward almalinux-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/almalinux/$releasever/$basearch/
    enabled=1
    gpgcheck=0
    

    # dnf update			# jarl_almalinux.repo を update 認識させます。
    

dsgwd 及び D-STAR X-change関連ソフトのインストール
  • JARLレポジトリからインストールする

  • # dnf -y install dsgwd-jp dprs xchange dstatus multi_forward
    

    dsgwdはdsgwd-jp と指定します。

    dsgwdは、インストールのみで自動立ち上げスクリプトも生成され、環境設定ファイル dsgwd.confは /etc に配置されます。

    xchange、dprs、dstatus、multi_forward の設定ファイルは次のフォルダに入ります。

    # ls /opt/dstar/conf/
    


それぞれの設定ファイルを編集

    =MEMO= 2019年からのシステムでは xchangedprsdstatusmulti_forward の各アプリケーションは、 xchange が dsgwd と ID-RP2C の間に割って入り、その他のアプリケーションは xchange からポートを貰って新機能を追加出来る形態となっています。 また、multi_forward は更にポートをユーザに公開して直接接続できるようにします。

  1. dsgwd.conf の編集

  2. # ifconfig		 ネットワークインターフェースの名前を確認
    # dnf install nano -y	(好みです。サーバーGUI仕様ではインストール済みです。)
    # nano /etc/dsgwd.conf
    
      GNU nano 5.6.1                    File: /etc/dsgwd.conf
    #
    # dsgwd.conf
    # Configuration file for D-STAR GW-Server Daemon
    # (C) 2004-2017 Icom Inc. Revision 1.4 Beta
    #
    
    # --- Setting the following two parameters is mandatory. ---
    # Zone Repeater's Infomation
    ZR_CALLSIGN=[Repeater Callsign(モジュールA,B無し)]
    ZR_ADDR=127.0.0.1               # xchange のGW_NICへ
    
    # --- Caution! Use the following parameters as they are. ---
    # --- Only when you need any customization,              ---
    # ---        please change the following parameters.     ---
    # Zone Repeater's Infomation
    ZR_PORT=20011
    ZR_SRCPORT=20100
    ZR_ETHIFNAME=lo                 #ローカルループを指定
    
    # DNS Server
    DNS_ADDR=8.8.8.8                #グーグル汎用DNS. 本来はDEFAULT_GWと同じ10.0.x.x
                                    #ですがネットワーク環境が変わっても訂正の必要が
                                    #有りません。
    # GateWay
    GW_ETHIFNAME=eth0               #ifconfigで確認したとおり。テストではeno1でした
    DEFAULT_GW=10.0.x.x             #ルータのLAN側アドレスです。
    #GW_LOGINT=300
    #GW_VCPORT=40000
    #GW_VCSRCPORT=40002
    #GW_DTPORT=40001
    GW_ZRPORT=20010
    
    # Kanri Server
    MGSV_ADDR=trust.d-star.info     #ドメインネームで指定
    MGSV_PORT=30001
    MGSV_LOGADDR=trust.d-star.info  #ドメインネームで指定
    MGSV_LOGPORT=30000
    
    # GW connection
    #CON_WAIT_INTERVAL=2
    #CON_REFRESH_INTERVAL=300
    #CON_MAX_GW=50
    
    # LOG Infomation
    LOG_GWREG=1
    LOG_INVOICE=1
    LOG_INDATA=1
    LOG_OUTVOICE=1
    LOG_OUTDATA=1
    LOG_OUTNET=1
    LOG_GWVOICE=1
    LOG_GWDATA=1
    LOG_USERERR=1
    
    # END dsgwd.conf
    
    

    大きな変更点は MGSV_ADDR の ドメインネーム指定が可能となったことです。 これはJARL管理サーバの多重化に関連して、この FQDN で指定しておけばサーバの一部がトラブルを起こしても別のサーバがそれに取って代われると言う意味を持ちます。

    dsgwdにおけるその他の確認事項

    # nano /etc/rsyslog.conf
      GNU nano 5.6.1                      File: /etc/rsyslog.conf
                 :
                 :
    # ### end of the forwarding rule ###
    local0.*                        /var/log/dsgwd.log
    

    ファイルの最終行に一行追加されているかを確認してください。

    次に上記で指定したログファイルが存在するか確認します。

    # ls /var/log/dsgwd.log
    

    もし無ければ、ファイルの存在を確認できないためプログラムが立ち上がりませんので、空ファイルを作ります。

    # touch /var/log/dsgwd.log
    

    起動させてみます。

    # service dsgwd start
    

    # ps -e
            :
            :
     1226 ?        00:00:00 exec-gw-nonstop
     1230 ?        00:00:04 dsgwd
    
    

    上記のように立ち上がれば、一先ず完了です。


  3. xchange.conf の編集

  4. =MEMO= AlmaLinux では nmcli コマンドでインターフェースの名前を変更できますが、これはあくまで接続名で、デバイス名ではありません。 xchangeに設定する eth1 の代わりになるのはデバイス名です。従って nmcli ( ifconfig ) で表示される左端の名前を使用します。

    # nano /opt/dstar/conf/xchange.conf
      GNU nano 5.6.1                  File: /opt/dstar/conf/xchange.conf
    #
    #       Version V02.00 or later
    #       Satoshi Yasuda
    #       12 Aug. 2018
    #
    CALLSIGN=		#この2行は不要となりました。
    MODULE_NAME= 		#記載している場合は削除してください。
    DEBUG=1			#廃止されました。
    ZR_NIC=eth1             #テスト機ではenp0s20f0u11のような標記に変更されていました。
    ZR_ADDR=172.16.0.1      #D-STAR X-change自体がコントローラと会話します。
    ZR_IN_PORT=20000
    ZR_OUT_PORT=20000
    GW_IN_PORT=20011
    GW_OUT_PORT=20010
    GW_NIC=lo               #dsgwd とローカルループで接続されます。
    MON_PORT=21000
    GW_ADDR=127.0.0.1
    HTTP_PORT=8080          #xchange管理用WEBのポートです。変更出来ます。
    UPNP=1                  #上のポートは自動で開けられますが、手動にする時UPNP=0にします
    
    FORWARD=127.0.0.1:50000:dprs          #dprs へのポートです。
    FORWARD=127.0.0.1:50001:dstatus       #dstatus へのポートです。
    FORWARD=127.0.0.1:50002:multi_forward #multi_forward へのポートです。
    FORWARD=127.0.0.1:50003:decho         #エコーサーバ へのポートです。(Option)
    

    UPNP=1に依る自動設定をする時はルータのUPnPを有効にしてください。 又、UPNP=0で手動設定する時はルータのHTTP_PORTで指定したポートを開け、ゲートウェイPCまでフォワーディングしてください。

  5. multi_forward の編集

  6. # nano /opt/dstar/conf/multi_forward.conf
      GNU nano 5.6.1                  File: /opt/dstar/conf/multi_forward.conf
    #
    #   Version V00.79 or later
    #   Satoshi Yasuda
    #   10 Oct. 2015
    #
    FORWARD_PORT=50002        #xchange からデータを貰うポートです。
    MULTI_CONNECT_PORT=51000  #ユーザが接続するポートです。(Hole Punch:ポートフォワード不要)
    MAX_TIME=0                #dmonitor,ICOM DVリピータモニターで接続した場合の時間制限(sec 0:制限なし 2022.10.12更新)
    MAX_CONNECT=0             #dmonitor,ICOM DVリピータモニターで接続できる局数制限(0:制限なし 2022.10.12更新)
    
    # HTTP_PORT=8081          #multi_forward管理用WEBのポートです。xchange用と同じになってはいけません。
    # UPNP=1                  #この機能はアプリ内で処理されるようになったため削除
    DEBUG=1			  #廃止されました。(削除)
    

    =MEMO= このアプリケーションの役割は、別途リリースされている dmonitor(Raspberry用)とターミナルモードに設定した無線機をUSB接続(DVMEGA, DVAP, NodeAdapterV7は無線接続)し、dmonitorの機能で指定ポート51000へリフレクタのように接続することによって、そのリピータをZONE Repeaterとして山掛け運用や他リピータへのコールサインルーティングを提供する事を目指すものです。対象となる機能にICOM DVリピータモニターが追加されました。

    参考 dmonitor & 専用Nextionディスプレイ

  7. dprs.conf の編集

  8. # nano /opt/dstar/conf/dprs.conf
    
      GNU nano 5.6.1                   File: /opt/dstar/conf/dprs.conf
    #
    #       Version V02.00 or later
    #       Satoshi Yasuda
    #       14 Aug. 2018
    #
    APRS_SERVER=d-prs.d-star.info:14580
    CALLSIGN=                         #この2行は不要となりました。
    MODULE_NAME=                      #記載している場合は削除してください。
    RADIO_ID=I
    SEND_INTERVAL=60
    AUTO_RELINK=1
    RETRY_COUNT=0
    BEACON_LAT=00.0000                #北緯(小数点表示)
    BEACON_LONG=000.0000              #東経(小数点表示)
    BEACON_COMMENT=D-STAR->APRS
    BEACON_INTERVAL=1200
    DEBUG=1				  #廃止されました。
    MON_PORT=50000                   #xchange からデータを貰うポートです。
    ACCEPT_TYPE=MIX                   #Accept Type: GW, ZR, MIX
    #HTTP_PORT=8082                   #dprs管理WEBを表示するとき使用します。
    
    


  9. dstatus.conf の編集

  10. # nano /opt/dstar/conf/dstatus.conf
      GNU nano 5.6.1                  File: /opt/dstar/conf/dstatus.conf
    #
    #       Version V00.79 or later
    #       Satoshi Yasuda
    #       10 Oct. 2015
    #
    MON_PORT=50001                    #xchange からデータを貰うポートです。
    STATUS=status.d-star.info:21050
    #HTTP_PORT=8083                   #dstatus管理WEBを表示するとき使用します。
    


  11. decho の編集

  12. この機能は必須ではありません。エコーサーバをリピータの機能として持たせたい時は次のように、先ず別途インストールしてください。 設定ファイルも同時にインストールされます。

    # dnf install decho

    # nano /opt/dstar/conf/decho.conf
      GNU nano 5.6.1                  File: /opt/dstar/conf/decho.conf
    #
    #   Version V00.01 or later
    #   Satoshi Yasuda
    #   2022/04/29
    #
    FORWARD_PORT=50003                #xchange への接続ポートです。
    ECHO_SERVER=JP1XXX A:JP1XXX Z     #リピータコール:サーバコール(通常Zを使用)
    ECHO_POSITION_SEND_INTERVAL=600   #秒単位でビーコンの間隔を指定
    #HTTP_PORT=8084                   #decho管理WEBのポートです。
    



ゲートウェイ・サーバの自動起動
  1. dsgwd の自動起動はインストール時に設定されます。

  2. # chkconfig
    dsgwd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

    コンソールモードでもGUIモードでも、自動的に起動されることが分かります。

  3. 自動起動用ユニットファイルの有効化

  4. 初期状態から有効に設定されていますが、次の確認の結果 disable無効なら、有効化します。
    # systemctl is-enabled [xxx.service]
    

    # systemctl enable xchange.service
    # systemctl enable dprs.service
    # systemctl enable dstatus.service
    # systemctl enable multi_forward
    # systemctl enable decho	# オプションです。エコーサーバを設置するときのみ
    

    ファイルは /etc/systemd/system に有ります。属性は 755 にする必要は有りません。
    # cd /etc/systemd/system
    # chmod 644 xchange.service dprs.service dstatus.service multi_forward.service decho_service
    

  5. 前項までのインストールと準備が完了したら再起動します。

  6. # reboot
    

  7. 前項同様に、自動起動しているか確認をします。

  8. # ps -e
     :
     3691 ?        00:00:04 tuned
     3692 ?        00:01:23 xchange
     3694 ?        00:01:08 dprs
     3695 ?        00:01:06 multi_forward
     3697 ?        00:01:11 dstatus
     3698 ?        00:00:01 rsyslogd
     3711 ?        00:00:00 exec-gw-nonstop
     3716 ?        00:00:19 dsgwd
     3902 ?        00:00:00 httpd
     :
     :
    

  9. dsgwd のログを確認します。

  10. # tail /var/log/dsgwd.log
    

    ファイルの最後(最新)から10行表示します。連続して監視したい時は次のようにします。

    # tail -f -n30 /var/log/dsgwd.log
    

    ファイルの最後から30行を指定して表示、ログが排出される度に追加されます。

    Aug 20 15:05:06 localhost dsgwd[1072]: INFO - STARTUP dstar GW (C) 2004-2019 Icom Inc. Revision 1.41
    Aug 20 15:05:06 localhost dsgwd[1072]: ALERT - socket error: Network is down
    Aug 20 15:05:06 localhost dsgwd[1072]: ERR - Resolving hostname: trust.d-star.info -> Temporary failure in name resolution
    Aug 20 15:05:07 localhost dsgwd[1072]: DEBUG - [LOG_GWREG]    Execute GW regist. (trust.d-star.info)
    Aug 20 15:05:07 localhost dsgwd[1072]: DEBUG - [LOG_GWREG]    GW regist OK. Global IP = 211.333.99.999.
    

    他にもログが存在します。

    # tail /dstar/log/log2
    --- exec-gw-nonstop ---
    
    2024-08-20T11:36:05+09:00 start
    2024-08-20T11:36:11+09:00 end
    
    2024-08-20T11:36:17+09:00 start
    
    --- exec-gw-nonstop ---
    
    2024-08-20T14:54:07+09:00 start
    2024-08-20T14:54:13+09:00 end
    


  11. xchange のログを確認します。

  12. # tail /var/log/xchange.log
    Tue Aug 20 16:02:26 2024 D-STAR X-change (xchange) with ID-RP2C & dsgwd V02.40 (Aug 14 2024  18:04:08) Start
                             Linux 5.14.0-427.31.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 15 14:47:52 EDT 2024
    Tue Aug 20 16:02:26 2024 Word Size : 64
    Tue Aug 20 16:02:58 2024 NIC (eno2) Zone Repeater Monitor Port 21000 open.
    


  13. dprs のログを確認します。

  14. # tail /var/log/dprs.log
    Tue Aug 20 15:27:14 2024 D-STAR D-PRS (xchange add on) V02.09 (Jan 19 2024  13:42:35) Start
                             Linux 5.14.0-427.31.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 15 14:47:52 EDT 2024
    Tue Aug 20 15:27:14 2024 Word Size : 64
    Fri Dec 16 22:13:04 4458 HTTP Port 20203 open.
    Tue Aug 20 15:27:14 2024 APRS Server Connected
    Tue Aug 20 15:27:14 2024 # logresp JL3ZBS-IS verified, server DPRS01
    Tue Aug 20 15:27:14 2024 APRS Server (DPRS01) Verified.
    Tue Aug 20 15:27:14 2024 Beacon Sent
    Tue Aug 20 15:27:33 2024 # aprsc 2.1.19-g730c5c0 20 Aug 2024 06:27:33 GMT DPRS02 103.3.188.176:14580
    Tue Aug 20 15:27:53 2024 # aprsc 2.1.19-g730c5c0 20 Aug 2024 06:27:53 GMT DPRS02 103.3.188.176:14580
    Tue Aug 20 15:28:13 2024 # aprsc 2.1.19-g730c5c0 20 Aug 2024 06:28:13 GMT DPRS02 103.3.188.176:14580
    Tue Aug 20 15:28:33 2024 # aprsc 2.1.19-g730c5c0 20 Aug 2024 06:28:33 GMT DPRS02 103.3.188.176:14580
    


  15. dstatus のログを確認します。

  16. # tail /var/log/dstatus.log
    Tue Aug 20 15:27:14 2024 D-STAR X-change (xchange) add on status V00.10 (Jan 20 2024  15:44:50) Start
    Tue Aug 20 15:27:14 2024 Status Port status.d-star.info:21050 open.
    


  17. multi_forward のログを確認します。


  18. =MEMO= この機能を利用してリピータに接続、 リピータでの通信がモニターできるアプリケーション(dmonitor)がRaspberry用に実験提供されています。 又、アイコム社からDVレピーターモニターが一部機種向けにファームウェアで提供されています。
    # tail /var/log/multi_forward.log
    Tue Aug 20 16:12:20 2024 D-STAR X-change (xchange) add on multi_forward V00.85 (Jan 20 2024  20:47:18) Start
    Tue Aug 20 16:12:20 2024 Error on config file : UPNP
                             Linux 5.14.0-427.31.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 15 14:47:52 EDT 2024
    Tue Aug 20 16:12:20 2024 Word Size : 64
    Tue Aug 20 16:12:20 2024 Monitor Port 51000 open.
    Tue Aug 20 16:12:20 2024 HTTP Port 8081 open.
    Tue Aug 20 16:12:20 2024 upnp port 1900 open.
    Tue Aug 20 16:12:20 2024 Own IP address 10.2.2.10
    


  19. decho のログを確認します。

  20. # tail /var/log/decho.log
    Tue Aug 20 15:28:36 2024 D-STAR X-change (xchange) add on decho V00.15 (Jan 20 2024  17:10:41) Start
    Tue Aug 20 15:28:36 2024 HTTP Port 20205 open.
    Tue Aug 20 15:28:41 2024 Own IP address 10.2.2.10
    Tue Aug 20 15:28:41 2024 trust_sd opened
    


  21. 自動起動のタイミングを調整する

  22. 標準仕様にて調整済みの方法

    まず xchange.service をネットワークが立ち上がってから起動するようにデフォルト設定されています。
    # nano /etc/systemd/system/xchange.service
    
      GNU nano 5.6.1                  File: /etc/systemd/system/xchange.service
    [Unit]
    Description = xchange daemon
    After = network.target
    
    [Service]
    ExecStart = /usr/bin/xchange
    Restart = always
    Type = simple
    
    [Install]
    WantedBy = multi-user.target
    

    dprs.servicedstatus.servicemulti_forward.service についても、dprsの例と同じ様になっています。
    # nano /etc/systemd/system/dprs.service
    
      GNU nano 5.6.1                  File: /etc/systemd/system/dprs.service
    [Unit]
    Description = dprs daemon
    After = xchange.service
    
    [Service]
    ExecStart = /usr/bin/dprs
    Restart = always
    Type = simple
    
    [Install]
    WantedBy = multi-user.target
    

    以下がその結果です。
          :
     4185 ?        00:00:00 NetworkManager
     4207 ?        00:00:00 avahi-daemon
     4213 ?        00:00:00 chronyd
     4508 ?        00:00:00 sshd
     4509 ?        00:00:00 tuned
     4510 ?        00:00:00 xchange
     4511 ?        00:00:00 dprs
     4512 ?        00:00:00 dstatus
     4513 ?        00:00:00 multi_forward
     4518 ?        00:00:00 rsyslogd
     4526 ?        00:00:00 crond
     4527 ?        00:00:00 gdm
     4538 ?        00:00:00 exec-gw-nonstop
     4544 ?        00:00:00 dsgwd
          :
     

    この時仮に、何らかの理由によって multi_forward が立ち上がらないとします。multi_forward.service ファイル内の After指定を After=dprs.service に変更します。 すると、multi_forward が dprs の後に立ち上がったりして調整できます。

    それでも調整できない時、一部を遅延

    サーバーのアップデート等の後リブートすると、サービスの一部が立ち上がってこない場合が有ります。 但しコマンド入力では立ち上がる場合、自動起動のタイミングが適切でないと考えられます。 この様な場合は起動を少し遅らせると正常に自動起動します。 multi_forward を例に説明したいと思います。

    先ず、multi_forward.service を無効にし、After行を削除します。
    # systemctl disable multi_forward.service
    

    次に、同名で遅延ユニットファイルを作成します。(拡張子は .timer になります)
    # nano /etc/systemd/system/multi_forward.timer
    
      GNU nano 5.6.1                  File: /etc/systemd/system/multi_forward.timer
    [Unit]
    Description=multi_forward Start delay timer
    
    [Timer]
    OnBootSec=30sec
    #Unit=multi_forward.service
    
    [Install]
    WantedBy=timers.target
    
    

    ユニットファイルが完成したらタイマーを有効にします。(サービスは無効のままにします。)
    # systemctl enable multi_forward.timer
    # reboot
    

    [Timer]セクションで遅延時間を調整してください。また .service と .timer が同名の場合は Unit=... の記述は不要ですが、名前を変えたい場合は正しく記述してください。



運用中の簡易管理とアプリケーションの更新
  1. 管理用モニタリングWEB

  2. http://[グローバルアドレス]:8080(ポートはxchangeで設定変更可)をサーバのIPアドレスへポートフォワードすれば見ることが出来ます。

    =MEMO= マニュアルでポートフォワードせずとも、uPnPを有効にしておくことで自動設定出来るようになっています。 事情によりマニュアル設定する場合は、xchange.conf の設定例を参照してください。



  3. アプリケーションの更新

  4. # ls /etc/cron.daily/
    dprs  dstatus  logrotate  man-db.cron  multi_forward  xchange
    

    上記のように一日に一回のペースで自動的にアップデートがチェックされ、レポジトリに更新ファイルが存在すれば更新が実行されます。 WEBでは、リスタートされてカウンターがクリアされ、上部に表示されるバージョンがアップします。

    もし、手動でアップデートしたい時は次のようにします。

    # dnf update -y xchange dprs dstatus multi_forward decho
    

    同様に、dsgwd(アイコム社製)のアップデートが有った場合は、自動更新しませんので次のようにします。

    # dnf update -y dsgwd-jp
    

  5. 時々 xchange や multi_forward に Not Running が表示されてゲート越え出来ない現象で再起動している方向けアプリ
  6. こちらをご参照ください : D-STAR Gateway の機能停止を監視する

    =注意= 本アプリケーションは D-STAR委員会の公式アプリケーションではありませんので、JARLへの質問はしないでください。 問い合わせは、当ブログのフォーラムにてお願い致します。


Back




J E 3 H C Z / REF047 C

2024年8月18日日曜日

D-STAR リピータ ゲートウェイ用 AlmaLinux のインストール

Back



 長年、D-STAR リピータ・ゲートウェイ用 OS として、愛用されて来た CentOS のサポート期間が終了を迎え、昨年辺りから次期 OS として AlmaLinux への以降が検討され始めました。 2024年に入ってテストサイトも増え、CentOS でのバージョンアップが出来なかった様な PC でもすんなりインストール出来るとの現実も踏まえ、各管理団体へも移行マニュアルを添え通知されました。
 そこで新たに手順を書き直しました。

 Gateway アプリのインストール

(最終更新 2025.06.05)

AlmaLinux のISO イメージを準備

=MEMO= 2025年6月現在 対応最新バージョンはAlmaLinux OS 9.6 (10.0 動作確認中) です。
  1. 上図をクリックしてリンク先から必要なイメージをダウンロードします。

  2.  ダウンロード  をクリックするとイメージリンクのページに移りますので、 完全なイメージが欲しい方は AlmaLinux OS 9.x DVD ISO を選んでください。 ただし、10GBほど有りますのでブルーレイディスク又は USBが必要で約2時間近く掛かります。

    手っ取り早く済ませたい方は、AlmaLinux OS 9.x Boot ISO を選択すると、インストール初期の設定が済むとその後の必要ファイルはインターネット経由で取得します。

    今回の手順は後者のブートイメージを、一覧の下に有る[ミラーサイトからISOをダウンロード]から取得してみました。(ダウンロードが速い場合が有るので)

    この時(右図)表示されているページの URL をメモ帳などでメモって置いてください。 インストール時、必要になります。
  3. USB にブートイメージを焼くにはツールが必要です。

  4. 私の愛用は Rufus です。 USBドライブを指定して、ISO イメージをアプリの上にドラッグ&ドロップするだけです。

AlmaLinux のインストール
  1. USB を初期起ち上げドライブに指定して起動します。

  2. 現在まで使用していたPCを再利用する場合、USB をスキップしてハードディスクから旧OSが立ち上がってしまう場合があります。その時は BIOS 初期立ち上げメディアの指定を変更するか、メーカーによって違いますが[F9]等のファンクションキーを押してUSBドライブを指定するなど変更してください。
    GRUB version 2.06
    ┌──────────────────────────────────────┐ │*Install AlmaLinux 9.x │ │ Test this media & install AlmaLinux 9.x │ │ Troubleshooting --> │

    通常は、[Test this media & install AlmaLinux 9.x]を選択しメディアチェックをした上でインストールを開始します。 すでに、メディアに問題がないと自信がある場合は、その上の[*Install AlmaLinux 9.x]を選んで[Enter]してください。

  3. 言語を指定して、[続行 (C)] をクリックします。

  4. インストールの設定をします。


    • 先ず[地域設定]は、先の画面で「日本」「日本語」を選択していればそれが反映されています。
    • [ユーザの設定]については、常に管理上 root でしか使用しないと言う場合は[rootパスワード(R)]で次のように設定します。

    root パスワード
    完了(D)
    システムの管理にはrootアカウントを使用します。rootユーザーのパスワードを入力してください。
    rootパスワード(R): ●●●●●●●●                
     ━━━━━━ ━━━━━━ ━━━━━━ ━━━━━━ --> グリーンになるまでした方が良い
    確認(C):      ●●●●●●●●                
    □ rootアカウントをロック
    ☑ パスワードによるroot SSH ログインを許可 -------> リモートでメンテナンスをするためには必ずチェック

      安全のためには、rootを無効にしたまま[ユーザーの作成(U)]をします。(推奨)

    • [ソフトウェア] では [インストールソース(I)] の設定が必須になります。
    インストールソース
    完了(D)
    使用するインストールソースを選択してください。
    自動検出したインストールメディア(A):
    デバイス: sda1
    ラベル: LABEL=ALMALINUX-9
    検証する(V)

    ネットワーク上(O):
    最寄のミラー▼
    ftp.riken.jp/Linux/almalinux/9.4/isos/x86_64
    プロキシーの設定(P)...

      ここまでに必要であったファイルが入っているUSBは選択せずネットワークのURLに、ダウンロードの際メモ帳などにメモって置いたURLを貼り付けます。
      画面上の例では「理研」(だと思います)のサーバーを設定しました。(実際これでインストール出来ています。)

      勿論、10GBをフルに保存してあるUSBを使用しているときは[自動検出したインストールメディア]を選択します。

      次はの設定はどんなサーバーにするのか、[ソフトウェアの選択]です。
      候補はたくさんリストアップされていますが、ゲートウェイの最小条件としては次のような組合せで良いと思います。

      ベース環境
      サーバー(GUI 使用)
      又はサーバー
      ルータ等のGUIメンテナンスが不要なら
      「サーバー」
      その他のソフトウェア
      Linux 向けリモート管理
      SSHによるリモートメンテナンスのため


    • [システム] では [インストール先(D)] を指定します。

    インストール先
    完了(D)
    デバイスの選択
    インストールするデバイスを選択してください。 なお、めいんめにゅーの「インストールの開始」ボタンをクリックしない限り、インストール処理は開始されません。

    ローカル標準ディスク
    476.94 GiB
    [ディスク画像]
    SK hynix XXX YYYYY999
    nvne0n1 / 2.3 MiB の空き
    29.81 GiB
    [USB画像]
    SanDisk Cruzer Fit
    sda / 1 MiB の空き

    特殊なディスクおよびネットワークディスク
    [画像]
    ディスクの追加(A)...


    ストレージの設定
    自動構成(U)     ○カスタム(C)
    □利用可能な領域を追加する(M)。
    暗号化
    □データを暗号化する(E)。

      ここで問題になるのは、ハードディスクやSSDの中にボリュームが存在しないときは上記2ヶ所を選択するだけで良いのですが、 今まで使用していた Windowsマシンまたは既存のゲートウェイPC の場合ボリュームやパーディションが存在します。(図の場合 2.3 MiB の空き)

      この場合は、[完了]をクリックすると、注意が表示されそのダイアログの中で「すべてのパーティションを削除」出来ます。 その上で「自動構成」を選択すればお任せ作業となります。

    • 最後に[ネットワークとホスト名(N)]のところで接続済みになっていることを確認してください。 通常DHCPが設定されているネットワークに接続していれば自動的に接続されます。指定のIPアドレスには後ほど設定します。


  5. いよいよメインメニューの右下に有る[インストールの開始]をクリックします。

  6. プログレス・バーが進んで行き、画面右下に下記の表示されたらインストールは完了です。

    AlmaLinux が正しくインストールされ、利用準備が整いました! 利用開始するにはシステムを再起動してください!


    システムの再起動(R)

ゲートウェイサーバとしての準備
    ログインプロンプトが表示されたら、パスワードを入力して無事 AlmaLinux が立ち上がりました。 例ではインストールの途中で root ではないユーザ(フルネーム:Gateway User / ID:gatewayuser)を作った前提で表示および説明をしていきます。 (必要に応じてrootになれます。又、rootしか作らなかった場合もコマンドで sudo を付けないで実行すれば同じです。)

  1. 準備作業の最初に折角 GUIモードなので、電源に関する設定をしておきます











  2. リモートした時に、
    スリープやサスペンド
    しないように設定します。
    画面上の[アクティビティ]で切り変わるメニューアイコン[9つの点のアイコン]から[ギヤアイコンの設定]、さらに[電源]と辿ります。

  3. GUIの場合、ネットワーク設定も至極簡単ですので、ここでやってしまいます。

  4. 上の設定は、この例ではUSB LAN インターフェースで繋いだネットワーク(コントローラ側)です。これは、どのリピータも同じ設定です。
    IPv4 のみ設定して、IPv6 は無効にします。また、画像では下方に隠れていますがルートは[自動]を OFF にしています。

    左の設定は、標準装備のRJ45 有線LAN(ルータ側)の設定です。
    こちらも IPv6 は明示的に無効にします。

    この作業をコマンドで行う方法は後述します。
    このまま、GUI でログインして、端末(Terminal)アプリで作業することも可能ですが、GUI はマシンによっては負担になることも有りますので最終的には、SSH でログインしてルータのブラウザーによるメンテナンスのような GUI を使う場合は、必要に応じて GUIモードを起ち上げる様に設定したいと思います。

    今後の作業はすべてターミナルモードで行えますので、ログインプロンプトが出ている状態(一旦ログアウト)で [Ctrl] + [Alt] + [F2 又は F3] を押すとキャラクターベースのモードに切り替わります。 [Ctrl] + [Alt] + [F1] で元のグラフィカルモードに復帰します。

    また、この状態ですでに SSH は使用可能です。但し、ウェルノウンポートの 22 ですので後ほど変更します。

  5. そのままログイン又は SSH でアクセスして gatewayuser を sudoers の設定に加え sudo 実行時毎回パスワードを必要としないようにします。

  6. $ sudo su			# Super User(つまりroot同様)になってみましょう
    
    あなたはシステム管理者から通常の講習を受けたはずです。
    これは通常、以下の3点に要約されます:
    
        #1) 他人のプライバシーを尊重すること。
        #2) タイプする前に考えること。
        #3) 大いなる力には大いなる責任が伴うこと。
    
    [sudo] gatewayuser のパスワード:********
    
    # _	
    
    これでrootと同じです。(ただし現フォルダは/home/gatewayuser のままなので注意)
    
    # nano /etc/sudoers		# viになれている方は visudo でOK
    gatewayuser     ALL=(ALL) NOPASSWD: ALL
      

  7. SSH のポートを変更します。

  8. # nano /etc/ssh/sshd.conf
      GNU nano 5.6.1                /etc/ssh/sshd_config
    # If you want to change the port on a SELinux system, you have to tell
    # SELinux about this change.
    # semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
    #
    Port 22222				# 初期値22から変更する
    #AddressFamily any
    #ListenAddress 0.0.0.0
    #ListenAddress ::
      

  9. 本来は危険を増す行為なのでちゃんと穴開けすべきですが、SELINUXとfirewallを解除します。

  10. # systemctl disable firewalld.service
    # nano /etc/selinux/config
      GNU nano 5.6.1                 /etc/selinux/config
    #SELINUX=enforcing      		# コメントアウトして
    SELINUX=disabled			# Disabled に設定
    # SELINUXTYPE= can take one of these three values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
      

  11. ここで一旦 reboot します。

  12. 新しい SSH ポートでの SSHリモートが可能になります。
    SSHリモート又は直接、ユーザモードgatewayuser) でログインします。

  13. 先ほどのネットワーク設定をコマンドで行ってみます。(設定済みなら不要)

  14. # nmcli device				# LAN インターフェースのデバイス名確認
    
    
    # nmcli con add ifname enp0s20f0u11 type ethernet

    確認したデバイスを connectionに加えると ethernet-enp0s20f0u11 というコネクション名になります。長すぎて今後扱いにくいので次のようにします。

    # nmcli con modify ethernet-enp0s20f0u11 connection.id eno2

    標準装備の RJ45 LAN が eno1 だったので合わせました。


    =MEMO= 折角名前を変えましたが、これは下記のコマンド設定でのミスを減らすためであって、このコネクション名は D-STAR の設定には使えません。 設定のインターフェース指定に使えるのはあくまで デバイス名 ですので上の例では enp0s20f0u11 を設定します。 ただ、今回の例では eno1 はデバイス名・コネクション名共に eno1 ですので、D-STAR の指定も eno1 です。

    # nmcli con modify eno2 ipv4.addresses 172.16.0.20/24 ipv4.gateway 172.16.0.1
    # nmcli con modify eno2 ipv4.method manual
    # nmcli con modify eno2 ipv6.method disable

    もし、接続を解除して最初からやり直す場合は

    # nmcli con del eno2

    eno1 を固定アドレスに変更する必要が有りますが、同様に行います。

    # nmcli con modify eno2 ipv4.addresses 10.0.10.22/8 ipv4.gateway 10.0.10.50 ipv4.dns 10.0.10.50
    # nmcli connection modify eno1 ipv4.method manual
    # nmcli con modify eno2 ipv6.method disable

    余談ですが、1行目は connection、2行目は con と書いています。どちらも同じ意味で con は短縮形です。因みに c でも使えます。 また、同様に devdevice と同義です。

  15. 次にグラフィカルモードでの VNC リモート が出来る様にします。

  16. $ sudo dnf -y install tigervnc-server
    $ vncpasswd
    Password: ********
    Verify: ********
    Would you like to enter a view-only password (y/n)? n
    A view-only password is not used	# 見るだけのパスワードではないと言う意味
    
    $ nano ~/.vnc/config			# 新規作成
    
      GNU nano 5.6.1            	/home/gatewayuser/.vnc/config
    session=gnome
    securitytypes=vncauth,tlsvnc
    geometry=1024x768			# 800x600 1280x960 1600x1200....
    depth=24
    
    $ sudo nano /etc/tigervnc/vncserver.users
      GNU nano 5.6.1             /etc/tigervnc/vncserver.users
    # TigerVNC User assignment
    #
    # This file assigns users to specific VNC display numbers.
    # The syntax is =. E.g.:
    #
    # :2=andrew
    # :3=lisa
    
    :1=gatewayuser			# View windowが :1 つまり ポート:5901(5900+1)
    :2=root				# 同様に 5902 となる
    

    今回は、root には VNC は設定していませんが、root だけにしたい場合は root でログインして同様の .vnc/config ファイルを root のホームに作成してください。
    ここまで準備できたら、VNC を自動起動にして確認してみます。

    $ sudo systemctl enable --now vncserver@:1 vncserver@:2
    $ sudo reboot

    rootもgatewayuserも受け付けられるようなコマンドですが、vncserver@:1 (gatewayuser)、vncserver@:2 (root) どちらか一つの指定も出来ます。

    サーバがリブートしたら、そのままにして同じネットワーク内に有る別のPCから、ReaVNC ViewerUltraVNC Viewer などにゲートウェイサーバーの [IP Address:1 ] [gatewayuser] と設定して接続してみてください。
以上で D-STAR リピータ用 ゲートウェイサーバ向け OS AlmaLinux のインストールとゲートウェイ・アプリケーション導入に関する準備は完了です。

蛇足 通常はSSHで、必要に応じてVNCを使う
  1. 現状VNCもSSHも使える状態で完成しています。VNCだけ無効にします。
  2. そのためには、SSHでログインするか、GUIのログインプロンプトで [Ctrl] + [Alt] + [F2 or F3] してコンソールにログインします。

    $ sudo systemctl disable vncserver@:1 vncserver@:2
    $ sudo systemctl disable gdm
    $ sudo reboot

    今度はもうGUIのログインプロンプトは表示されません。いきなりコンソールのログイン画面となります。

  3. 次にスクリプトを2つ作成します。

  4. $ nano vs
      GNU nano 5.6.1                 vs
    sudo systemctl restart gdm
    sudo systemctl restart vncserver@:1
    echo 'VNCが使用可能です。'
    echo


    $ nano vk
      GNU nano 5.6.1                 vk
    sudo systemctl stop vncserver@:1
    sudo systemctl stop gdm
    echo 'VNCを終了しコンソールモードになりました。'
    echo

    先ほど自動起ち上げは無効にしましたので、必要な時サッと起ち上げるコマンドとして vs (Vnc Start) と vk (Vnc Kill) としました。

  5. これらを起ち上げ可能コマンドに設定し、コマンドフォルダに移動します。

  6. $ sudo chmod +x vs vk
    $ sudo mv v* /usr/local/bin

    これで、不要なときはGUIも立ち上がらず、CPUに負荷も掛からず節電にもなります。何よりも危険が減ります。



Back


73
Yosh Todo/J E 3 H C Z

ご意見等は当ブログトップメニューページの「FORUM」リンクからお願いします。

2024年5月30日木曜日

Last Heard v.2.0.x RpiGW管理用WEBアプリケーション

Back



=MEMO= 2024年1月現在のゲートウェイ・アプリケーション仕様変更(2023年の法改正による)に伴い、xchangeへの接続方法も変更になりました。 間もなくリリースされる次期D-STAR仕様書に現行6.0aより更に詳しく記載される模様ですが、初期化パケットがxchange起ち上げ時発行され、 それに返答する事によって継続的にポートが利用できます。 未だ確定では無く仕様が変更される可能性は有りますが、そのプロトコルに対応した lastheard v2.0.0 を2024年1月19日より公開して来ました。 今回、Last Heard v.2.0.2にアップデートしRasberry Pi用 D-STAR Gateway管理アプリとして再構成致しました。

主な変更点は接続ユーザのデータをログからではなくmulti_forward WEBのデータから取得し、スキャン接続など瞬間の接続・切断で接続が残るのを解消しました。なお現在アプリの運用確認はRaspbian(Pi OS)のみとなって居り、AlmaLinux(Redhat系)向けは現在テストが出来ないため少しコードの変更が必要と思われます。




実際のWEBはこちらから


D-STAR リピータも、かなりの所が新ゲートウェイ採用となりました。今までのゲートウェイ(アイコム社製 dsgwd )は文字通り、コントローラ(ID-RP2C)とインターネットの間に入ってRF側とインターネット側の行き来を制御していました。

新ゲートウェイはその機能として、JARL管理サーバのアドレス指定に、IPアドレスではなく名前(FQDN)として trust.d-star.info を指定するように変更され、これによって2台のサーバ(IPアドレスは違う)が一つの名前で参照され、安全性が向上しました。

また、今まで UDP:40000 と言うポートに制限されていた、コールサインルーティングの復路も、ホールパンチ対応となり、往路が使用したポートを使って戻ってくるように仕様変更されました。ターミナル/アクセスモードでの 40000 ポート制限も、この方法で間もなくクリアされると思います。

さらに、最近ではゲートウェイPC内での各アプリケーションのコミュニケーションに掛かる応答時間を、仕様書通りに厳密にすることによって、交信中の他ゲートウェイからの割り込み等で会話が途切れる問題にも対応されました。Last Heard v.2.0.x でもハンドシェイクのスピードをアップし、データを所得するよう仕様変更致しました。
ソフトウェアのダウンロード
ソフトウェアはあくまで、自分自身の勉強の為にC言語、PHP、Pythonを使って書いてあります。著作権は保持していますが、CC-BY-NC-SA(クリエイティブ・コモンズ・ライセンス)に従って、自己責任で自由にお使いください。

  1. PHPとApache2 をインストールします。

  2. $ sudo apt intall php
    

    PHP(バージョン指定不要)をインストールすると、依存関係から Apach2 もインストールされます。

    これだけで、Raspberry Pi のIPアドレスを、他のWindowsマシンのブラウザなどで見ると、下のようなデフォルトページが見えます。 又、自動起動も有効に設定されます。


  3. ゲートウェイサーバのCentOSでgit cloneします。

  4. $ sudo apt install git
    $ git clone https://github.com/ytodo/lastheard.git
    $ cd lastheard
    $ tree			# このコマンドはインストールしないと入っていません。
    .
    ├── html		# このフォルダごと /var/www/ の直下にコピーします。
    │   ├── conf
    │   │   └── db.conf	# ダッシュボードの色を変えたり設定をします。
    │   ├── css
    │   │   └── db.css		# ダッシュボードのスタイルを決めます。
    │   ├── favicon.ico		# ダッシュボードのタイトルバーアイコンです。	
    │   ├── get_html.py		# multi_forward WEBを取得します。
    │   ├── images
    │   │   └── red_earth.png	# 好きなキャッチ画像をここに置きます。
    │   ├── index.php		# WEB本体です。
    │   └── monitor.php		# index.phpと同じです。
    ├── lastheard.service	# アプリ Last Heard を自動起動するユニットファイル
    ├── Makefile			# Cソースをコンパイルするときの手順ファイルです。
    ├── README.md
    ├── recv.c			# lastheardプログラムのソースです。
    └── recv.h			# lastheardプログラムのヘッダーファイルです。
    
    5 directories, 12 files
    
    $ make
    

    これで、ラストハードをログへ出力するアプリ「lastheard」が作成されました。PHPのWEB表示プログラムはフォルダhtmlに同梱されています。


  5. ダウンロードしたアプリケーションを各フォルダーに置きます。

  6. $ sudo mv lastheard /usr/local/bin
    $ sudo cp -rf html /var/www
    $ sudo rm /var/www/html/index.html
    

    PHPをインストールしたとき確認したデフォルトページを削除します。index.htmlを削除すると、自動的に index.php が表示されるようになります。


  7. ラストハードアプリ自体の自動起動を設定します。

  8. $ sudo cp lastheard.service /etc/systemd/system
    $ sudo systemctl enable lastheard.service
    $ sudo reboot
    

    これで、立ち上がればブラウザーでラストハードが見られるはずです。カーチャンクしてみてください。


  9. 環境設定ファイルの編集をします

  10. 先ずRpi-GWの設定ファイルにLast HeardのJARL D-STAR委員会へ登録したポートを設定します。

    $ sudo nano /boot/rpi-GW/rpi-xchange.conf
    
      GNU nano 7.2                /boot/rpi-GW/rpi-xchange.conf
      
    #
    #   Version V02.00 or later
    #   Satoshi Yasuda
    #   12 Aug. 2018
    #
    DEBUG=3
    ZR_NIC=eth1
    ZR_ADDR=172.16.0.1
    ZR_IN_PORT=20000
    ZR_OUT_PORT=20000
    GW_IN_PORT=20011
    GW_OUT_PORT=20010
    GW_NIC=lo
    MON_PORT=21000
    GW_ADDR=127.0.0.1
    
    FORWARD=127.0.0.1:50000:dprs
    FORWARD=127.0.0.1:50001:dstatus
    FORWARD=127.0.0.1:50002:multi_forward
    FORWARD=127.0.0.1:50003:decho
    FORWARD=127.0.0.1:52000:lastheard
    
    HTTP_PORT=20201
    UPNP=0
    

    次に、Last Heardの設定ファイルを編集します。

    # nano /var/www/html/conf/db.conf
    
      GNU nano 7.2                /var/www/html/conf/db.conf
    #
    #   D-STAR Dashboard configuration file
    #
    #   2018.12.22  Yosh Todo/JE3HCZ
    #
    
    # 自局設定
    RPTNAME=xxxx D-STAR GATEWAY --> 漢字も使えますがこのファイル自体をShift_JISで保存してください
    RPTCALL=JPnxxx A
    
    # LASTHEARD 行数
    LINES=10
    
    # リフレッシュ間隔(秒)
    INTERVAL=2
    
    # ヘッダーに表示するグラフィックスのファイル名
    # (名前は的下ですが、images に入れるファイルと一致させてください)
    #   ファイル形式はjpg gif png 幅400px 高さ200px程度
    #   ファイル容量 数十キロバイト推奨
    HEAD_PIC=header_picture.jpg
    
    # ヘッダー画像の左右/上下位置と繰り返し表示有無
    #   left/center/right  top/bottom  repeat/no-repeat
    PIC_POSx=right
    PIC_POSy=top
    REPEAT=no-repeat
    
    # バックグラウンドカラーの変更が出来ます。
    #   例 グリーン: #55AA55  名称標記も可能: white
    #   指定しない又は行そのものがない場合、規定値となります。--> シックなオレンジ
    
    BGCOLOR=
    
    

    設定値のイコール(=)前後はスペースを入れないでください。


Back


73
Yosh Todo/J E 3 H C Z

ご意見等は当ブログトップメニューページの「FORUM」リンクからお願いします。

2021年12月11日土曜日

dmonitor と ircDDBGateway を Nextion で切り替える

Back




=MEMO= D*SWITCH(Nextion Software Controler)の使い方マニュアル

欧米では、リフレクタのモジュールや、サーバのトークグループに接続(サーバ・クライアント型)して、 D-STAR のみならず DMR、Yaesu System Fusion、Project 25など他の通信モードとも、プログラムによるプロトコル変換に依って、相互乗り入れしています。

ここでは、主にD-STAR の特徴を生かした方法論を掲載してきましたので、相互乗り入れはちょっと横に置いておいて、 D-STAR の大きな特徴たる狭帯域 6.25kHz(10kHzセパレーションで使用可)とコールサイン・ルーティングによるリピータ・ネットワークと、 クライアント・コネクションによるリフレクタ運用を、明確に分けることで相互に悪影響を及ぼさない運用を目指したいと思います。

実は、今回使用する ircDDBGateway にはそのコールサイン・ルーティングとクライアント・コネクションが両方とも備わっています。 そして、そのどちらも同時に使用できる設計になって居り、コールサインルーティング(ircDDB.netやQuadnet)で使用中、リフレクタで呼ばれた場合でも両方にデータが流れる事が無いよう、 しっかりとセパレーションがなされています。

従って、このコールサイン・ルーティングの一つに、JARLシステムを組み込むとircDDBGatewayだけで、リピータアクセスもリフレクタアクセスも可能になるのですが、 日本の運用基準(審査基準)には諸々の制限が有りなかなか難しい事だろうと思います。

そこで、今回コールサインルーティング運用が可能な dmonitor と ircDDBGateway のリフレクタ・コネクションを Nextion で切り替えることによって、 一台の無線機とネットワーク接続用の Raspberry Pi で持ち運び可能な超小型ノードを作成したいと思います。

記事中ではターミナルモードでの運用を例に(クラブコールが無くても使用できる為)していますが、 DVAPやDVMEGA、ノードアダプターをお持ちの方、又はICOM Access Point Modeとすることで、無線機にケーブルを取り付ける事無く運用できます。

最新版dmonitorイメージのmicroSDを作成


  1. Raspberry Pi OSのサイトへアクセスします。
  2. 図の Raspberry Pi Imager をダウンロードして、インストールします。

  3. 次に、イメージをmicroSDに焼くのですが、以前のようにデフォルトユーザ(Pi)とパスワード(Raspberry)が設定されていません。
  4. そこで、対策としてこの純正イメージライタに、前もって好きなユーザ名、パスワードを指定し、SSHを有効にするかや、WiFiまで設定を登録しておけるようになりました。
    (歯車アイコン)
    セキュリティ向上のためですので、Pi: Raspbarryの組み合わせは避けましょう。

  5. イメージライタの画面上で必要なOSタイプとmicroSDのドライブを選択して [書き込む] をクリックします。 (以上 1.~ 3. 2023.3.2 修正変更)

  6. 念のために、OSのアップデートを行っておきましょう。

  7. $ sudo apt update && sudo apt upgrade -y
    $ sudo reboot
    


  8. dmonitorのインストール

  9. 準備ができたらdmonitorのドキュメント・サイトからインストールマニュアルの最新版をダウンロードします。
    必ずバージョンに合ったマニュアルに従って、インストールを実行してください。

  10. Nextionタッチパネルモニターを使用しない方は、これで終了です。
  11. Raspberry Pi専用モニターを使用していない場合でも、他のWindowsマシンのWEBブラウザー(Edge, Chrome)に、dmonitorの動いているRaspberry PiのIPアドレスを入れれば操作パネルが開きます。 つまり、dmonitorにはWEBサーバとしての機能が付属していると言うことになります。

その他の機能を有効にする



これらの機能は、RaspberryPi自体にディスプレイを付けて作業している場合は不要です。後ほどircDDBGatewayとDStartRepeaterの環境設定をする時にグラフィック環境が必要になります。
  1. *2SSHを有効にする

  2. $ sudo systemctl enable sshd
    $ sudo systemctl restart sshd
    

    Windowsマシンから、コマンドにて設定できるようにします。

    ディスプレイが接続されていない場合、この設定が出来ません。 その場合は、イメージを焼いた直後、WindowsのエクスプローラでmicroSDのドライブにアクセスします。 そこは PiOS の/boot フォルダですので注意して次のファイルを作成します。[新規作成]→[テキストドキュメント]として名前を「ssh」(拡張子も無し)とします。内容は空です。 これで、Raspberryを立ち上げた直後からSSHが使用可能です。

    *2ディスプレイが無い場合や、WiFiしか使えない機種の場合、 詳しくは こちら をご覧ください。

  3. VNCを有効にする

  4. $ sudo systemctl restart lightdm.service
    $ sudo systemctl restart vncserver-x11-serviced.service
    

    Windowsマシンから、グラフィカルにアクセスできるようにします。 (WindowsにRealVNC Viewerなどが必要です。)

  5. GPIOの⑧番⑩番ピンをTxD、RxDとして使えるようにする

  6. 「Pi3/Pi Zero WのGPIOでPi-HATと送受信する」を参考にして設定してください。

Nextionディスプレイの準備


  1. 先ず、GITHUB から からダウンロードしてください。ファイル名末尾に「_e」の付いているのはEnhanced TypeのNX3224K024_011用です。また、「2.4ud」となっているのが上下反転イメージです。

  2. *3イメージファイルを、適当なmicroSDにコピー(単なるコピーです。焼きません)して、電源の入っていないNextionにセットします。

  3. 赤のラインをRasberry Piの②ピンに、黒のラインを⑥ピンに挿して5Vを供給すると、イメージがNextionのメモリーに転送されます。 成功したら一旦電源を落としてNextionからmicroSDを外してください。

  4. *4上記の電源線以外に黄ラインを⑧ピンに、青ラインを⑩ピンに接続して、準備完了です。

  5. *3 「NEXTION EDITOR LTS」をITEADのサイトからダウンロードすると、 HMIファイルを編集したりtftファイルを作成したり出来ます。
    *4 詳しくはMMDVMノード用、ネットワークモニター Nextion 2.4 も参考にしてください。

dmonitor専用として使用する場合のD*SWITCHのインストール


    これも GITHUB からダウンロードします。(厳密にはクローンします。)

  1. 先ず、クローンするために次のコマンドでgitコマンドをインストールします。

  2. $ sudo apt install git
    

  3. 次に、gitコマンドを使ってGITHUBからクローンします。

  4. $ git clone https://github.com/ytodo/nextion_icom.git
    

  5. ダウンロードしたフォルダに入ってインストールコマンドを実行します。

  6. $ cd nextion_icom
    $ make install
    

    プログラムファイルや設定ファイルがそれぞれのフォルダーにインストールされます。
    nextionプログラム本体  :/usr/local/bin
    nextion.ini設定ファイル  :/etc/
    自動起動ファイル     :/etc/systemd/system
    また、自動起動ファイルはインストール時に必要な物は有効に、不要な物は無効に設定されます。その詳細な内容については、nextion_icomフォルダー内のMakefileを見てください。

  7. タッチパネル表示プログラム nextion の設定ファイル nextion.ini を編集します。

  8. $ sudo nano /etc/nextion.ini
    
      GNU nano 3.2                     /etc/nextion.ini
    ########################################################
    #                                                      #
    # dmonitor (Copyright(C) JARL D-STAR Committee )を   #
    # 使用する時純正のWEBではなくNextion Display にて   #
    # コントロールするようにするアプリです。               #
    #                                                      #
    #  名称: Nextion4dmonitorの環境設定ファイル            #
    #        2021.02.17                                    #
    #                                                      #
    ########################################################
    
    # ターミナルモード: 個人コール、アクセスポイントモード: クラブコール
    ### コールサインが8文字未満の場合、後ろにスペースを付け8文字にしてください。
    STATION=JE3HCZ D ---> ご自分のものに置き換えてください。
    
    # 初期接続リピータ(指定しない時は=の後を削除してください。)
    DEFAULT_RPT=JL3ZBS A
    
    # 初期接続リフレクタ(指定しない時は=の後を削除してください。)
    DEFAULT_REF=REF047 C
    
    # グリーン:2016 | イエロー:65504 | オレンジ:64512 ライトグレー:50712 レッド:63488
    # Nextion IDE で作成した色番号なら上記以外もOK
    CLOCK_COLOR=2016
    
    # リピータリスト書き込みタイミング調整(マイクロ秒/デフォルト10msec)
    ### 当方のテストではPi Zero: 30000 / Pi3: 35000
    SLEEPTIME=30000
    
    # デバッグモード(デフォルト:0/有効:1)
    DEBUG=0 ---> 簡易モード。詳しくログを表示したい時は1を設定してください。
    
    # Nextionの接続ポート(dmonitorイメージ: serial0 / その他 ttyAMA0、ttyUSB0...)
    PORT=serial0 ---> ターミナルモードの場合serial0ですがDVMEGA等では変わります。
    
    # 優先モード(MAIN:切替え画面 / DMON:D*MONITORと同じ / REF:Nextion_dstarと同じ)
    MODE=MAIN ---> dmonitor専用として切替えをしない場合は DMON に書き換えます
    

    それぞれの項目にある説明に従って編集してください。初期接続リフレクタの欄は後ほどircDDBGatewayをインストールした時に必要になります。 ここでは切替えのないdmonitor専用として設定しますので、リフレクタが指定されていても無視されます。


dmonitor用設定ファイルの編集


    dmonitor純正のWEBコントローラから設定済みの場合は、これらの編集作業は不要です。

  1. 先ず、dmonitor用設定ファイルを確認します。

  2. $ cd /var/www
    $ ls
    ConnectCall    dmonitor.conf   dvmega.conf       node.conf       rpt_mast.txt
    buff_hold.txt  dvap.conf       dvmega.conf.save  node.conf.save
    cgi-bin        dvap.conf.save  html              rig.type
    

    複数ファイルが有りますが .conf と言う拡張子の付いているのが設定ファイルです。今回はターミナルモードとして設定しますので必要なのは dmonitor.conf だけです。

  3. dmonitor.confを編集します。

  4. $ sudo nano dmonitor.conf
    
      GNU nano 3.2                      dmonitor.conf
    ICOM  ---> ターミナルモードの場合このままです。
    NONE  ---> dmonitor純正の液晶表示を使用する時以外はこのままです。
    XX0XX ---> nextion.iniの STATION= と合わせます。(JE3HCZ D)
    

  5. これでインストールが完了しましたので再起動します。

  6. $ sudo reboot
    

    今までのdmonitor専用、D*MONITORとほぼ同じ画面が表示されたら成功です。

=MEMO= D*MONITOR(dmonitor専用Nextionアプリ)として利用する場合は、これで完了です。

ircDDBGatewayとDStarRepeaterのインストールと設定


  1. ircDDBGatewayとDStarRepeaterをインストールします。

  2. 最新版 ircDDBGateway と DStarRepeater のインストール (Pi OS) を参照し、「OSの前準備」から続けてください。

  3. ircDDBGatewayの設定

  4. ircDDBGateway 初めての設定(2) を参照してください。

  5. DStarRepeaterの設定

  6. DStarRepeater 初めての設定(2) を参照してください。

  7. RemoteControlの設定

  8. ircDDBGatewayをインストールすると、remotecontrolとremotecontroldというアプリケーションが /usr/bin にインストールされています。 グラフィックモード(GUI)のTerminalで remotecontrol を立ち上げてリモート環境を設定します。

    $ sudo remotecontrol
    

    メインメニューの[Edit]→[Preferences]と選択すると右図のようなダイアログボックスが表示されます。

    AddressPortはデフォルト値ですので変更可能ですが、一台のRaspberryにircDDBGatewayとDStarRepeaterがインストールされている場合は127.0.0.1です。 ポートとパスワードは自由に設定できます。ただし、ポートを変更した場合、ircDDBGatewayの設定も合わす必要が有ります。

    保存して再度立ち上げコマンドを入力すると、コールサインの入ったコントロールパネルが表示されます。

    上記のコマンドを実行した場合、sudoが指定されているので管理者である/root/下に設定ファイルが置かれます。sudo を指定しないで実行すると/home/USER/下に置かれます。 事情によってどちらが使われても良いように、両方設定して置いた方が良いでしょう。設定ファイルをコピーしても構いません。

  9. /etc/nextion.iniの編集

  10. $ sudo nano /etc/nextion.ini
    
      GNU nano 3.2                    /etc/nextion.ini
       :
       :
    # 優先モード(MAIN:切替え画面 / DMON:D*MONITORと同じ / REF:Nextion_dstarと同じ)
    MODE=MAIN ---> MAINになっている事を確認してください。
    

Nextion用ソフトウェアのアップデート


$ cd nextion_icom
$ make update




Back



73
J E 3 H C Z / REF047 C / XLX047 B