Back
README
- dsgwdはアイコム株式会社の、xchange dprs dstatus multi_forward は安田OM(7M3TJZ)/ JARL D-STAR委員会の著作物です。
インストール及び設定に関する実務についてのみ今後の参考のために記載します。また手順に変更があれば随時、変更・追加致します。 (最終更新 2024.8.24)
- 新ゲートウェイシステム・フローチャートはこちら TODO Virtual Center
- 本ブログに関するご意見・お問い合わせはこちらへお願いします。
D*Star Network FORUM
- 殆ど同じですが、CentOS での作業についてはこちらをご参照ください。
準備するもの
- AlmaLinux(2024年12月時点に於ける最新版 9.5)のインストールされたLANカードを2枚持つPC
DD(バックアップイメージを取るなどに使用)コマンドを使用しなければ WiFiも可能と言う事ですし、USB-RJ45 変換アダプタの使用等も出来ますが、
サーバーとしての安定性を考慮すると上述の仕様をお勧めします。 (64ビットのみの対応です。)
- JARLレポジトリを利用するための準備
=MEMO= Alma Linux用のリポジトリーが完成しました。(2025/02/14)
次の準備をして、次項のインストールへ
#マークはrootのプロンプトです。userログインの場合は sudo を付けるか次のコマンドを実行してください。
$ sudo su - (ハイフン)---> userログインの場合
# dnf install wget -y ----> サーバー仕様でインストールした場合不要です。
# cd /etc/yum.repos.d
# wget -N http://app.d-star.info/rpm/dnf/jarl_almalinux.repo
/etc/yum.repos.d ディレクトリ内に
jarl_almalinux.repo と言うファイルがダウンロードされます。
# dnf update
# install initscripts # dsgwd-jp にて使用するパッケージ
# 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 認識させます。
# install initscripts # dsgwd-jp にて使用するパッケージ
dsgwd-jp が最新の OpenSSLに対応する(間もなく)までのダウングレード処置
# wget https://ftp.sakura.ad.jp/almalinux/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm
# dnf install compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm
dsgwd 及び D-STAR X-change関連ソフトのインストール
# 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年からのシステムでは xchange、dprs、dstatus、multi_forward の各アプリケーションは、
xchange が dsgwd と ID-RP2C の間に割って入り、その他のアプリケーションは xchange からポートを貰って新機能を追加出来る形態となっています。
また、multi_forward は更にポートをユーザに公開して直接接続できるようにします。
- dsgwd.conf の編集
# 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
上記のように立ち上がれば、一先ず完了です。
- xchange.conf の編集
=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までフォワーディングしてください。
- multi_forward の編集
# 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
#
DEBUG=1
FORWARD_PORT=50002 #xchange からデータを貰うポートです。
MULTI_CONNECT_PORT=51000 #ユーザが接続するポートです。(Hole Punch:ポートフォワード不要)
# HTTP_PORT=8081 #multi_forward管理用WEBのポートです。xchange用と同じになってはいけません。
# UPNP=1 #この機能はアプリ内で処理されるようになったためコメントアウト又は削除
MAX_TIME=0 #dmonitor,ICOM DVリピータモニターで接続した場合の時間制限(sec 0:制限なし 2022.10.12更新)
MAX_CONNECT=0 #dmonitor,ICOM DVリピータモニターで接続できる局数制限(0:制限なし 2022.10.12更新)
=MEMO= このアプリケーションの役割は、別途リリースされている dmonitor(Raspberry用)とターミナルモードに設定した無線機をUSB接続(DVMEGA, DVAP, NodeAdapterV7は無線接続)し、dmonitorの機能で指定ポート51000へリフレクタのように接続することによって、そのリピータをZONE Repeaterとして山掛け運用や他リピータへのコールサインルーティングを提供する事を目指すものです。対象となる機能にICOM DVリピータモニターが追加されました。
参考 dmonitor & 専用Nextionディスプレイ
- dprs.conf の編集
# 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を表示するとき使用します。
- dstatus.conf の編集
# 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を表示するとき使用します。
- decho の編集
この機能は必須ではありません。エコーサーバをリピータの機能として持たせたい時は次のように、先ず別途インストールしてください。
設定ファイルも同時にインストールされます。
# 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のポートです。
ゲートウェイ・サーバの自動起動
- dsgwd の自動起動はインストール時に設定されます。
# chkconfig
dsgwd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
コンソールモードでもGUIモードでも、自動的に起動されることが分かります。
- 自動起動用ユニットファイルの有効化
初期状態から有効に設定されていますが、次の確認の結果 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
- 前項までのインストールと準備が完了したら再起動します。
# reboot
- 前項同様に、自動起動しているか確認をします。
# 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
:
:
- dsgwd のログを確認します。
# 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
- xchange のログを確認します。
# 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.
- dprs のログを確認します。
# 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
- dstatus のログを確認します。
# 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.
- multi_forward のログを確認します。
=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
- decho のログを確認します。
# 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
- 自動起動のタイミングを調整する
標準仕様にて調整済みの方法
まず 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.service、dstatus.service、multi_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=... の記述は不要ですが、名前を変えたい場合は正しく記述してください。
運用中の簡易管理とアプリケーションの更新
- 管理用モニタリングWEB
http://[グローバルアドレス]:8080(ポートはxchangeで設定変更可)をサーバのIPアドレスへポートフォワードすれば見ることが出来ます。
=MEMO= マニュアルでポートフォワードせずとも、uPnPを有効にしておくことで自動設定出来るようになっています。
事情によりマニュアル設定する場合は、xchange.conf の設定例を参照してください。
- アプリケーションの更新
# 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
- 時々 xchange や multi_forward に Not Running が表示されてゲート越え出来ない現象で再起動している方向けアプリ
こちらをご参照ください : D-STAR Gateway の機能停止を監視する
=注意= 本アプリケーションは D-STAR委員会の公式アプリケーションではありませんので、JARLへの質問はしないでください。
問い合わせは、当ブログのフォーラムにてお願い致します。
Back
J E 3 H C Z / REF047 C