2026年3月4日水曜日

D-STAR ゲートウェイをRaspberry Piで構築(2026年版)

Back


最近では、Raspberry Pi による
D-STAR ゲートウェイも20ヶ所ほどになってきました。
もっとインストールし易く導入しやすくするためにブログを再構成しました。
2 x LANポート仕様の Raspberry Pi


READ ME

D-STAR委員会とAuthor安田OMの許可を得て、当方が JL3ZBS A でテスト中のものを元に手順化し公開いたしました。rpi-dsgwd、rpi-xchange、rpi-dprs、rpi-dstatus、rpi-multi-forward、rpi-decho、rpi-monitor は安田OM(7M3TJZ)/ JARL D-STAR委員会の著作物です。 インストール及び設定に関する実務についてのみ今後の参考のために記載します。また手順に変更があれば随時、変更・追加致します。
あくまでJARL D-STAR委員会としては未発表ですので、JARLへの問い合わせはできませんので宜しくお願い致します。 公式発表は有りませんが安田OMの リリースノートはここからダウンロード出来ます。
この記事に関するご意見・お問い合わせはこちらへお願いします。D*Star Network FORUM
初回公開ブログはこちら ⮕ D-STAR ゲートウェイをRaspberry Piで構築


準備する物

  • Raspberry Pi 4B ~
  • 現在テストサイトではRaspberry Pi 3Bでテスト中ですが、dmonitorでの接続が集中すると性能不足になるかも知れません。
    このキット等も便利と思います。Pi4 B 4GB スターター キット V4 オンライン教材付

  • USBタイプLANアダプタ
  • Raspberry PiにはWiFiがインプリメントされていますので、工夫すればWiFi(wlan0)とLAN(eth0)で構築する事も可能とは思いますが、 ここでは、USBタイプLANアダプタを使用して、eth0とeth1で構成します。

  • microSDカード16GB~


  • 専用ACアダプター
  • Rasberry Pi 4 はかなりの電圧・電流を必要とします。少なくとも5V強/3A程度はないと常に「電圧不足です」のメッセージが表示されます。


microSD に Pi OS イメージを焼く

  1. Pi Imager で環境設定をすませる


  2. =MEMO= 実運用的には Pi4 以上をお薦めします。 なお、PiOSは64bit版のみ対応です。 又、リモートでのルータ設定などを想定して lite 版に VNC による簡易デスクトップをインストール出来るようにしています。

    Raspberry PiOSサイトより上図のイメージライタをダウンロードしインストールします。
    Device]で使用する Raspberry Pi の種類を選びます。 次のページで raspberry Pi OS (other) を選択、次のページのリストで Raspberry Pi OS Lite (64-bit) を選択します。 ここでは、最初に Trixie (v.13) と少しスクロールしたところに有る Bookworm (v.12) が存在します。
    今日現在は、安定版の Bookworm を使用しますが、当方のテストサイトでは現在 Trixie にてテスト運用しています。
    選択項目の最後に、書き込む microSD ドライブをクリックします。

  3. 起ち上げたときのユーザなどカスタマイズ

  4. ユーザ名、パスワード、ローライズ、ホスト名などの設定が前もって出来ます。Wire LAN の無い環境では Wifi の設定まで出来ますが今回は不要です。


アプリケーションのインストール


=MEMO= 2026年版では、インストールと設定の手間を大きく省くために、自動インストールするスクリプトを使用できるようにしました。 (Trixie をテストしてみたい場合は、下記コマンドラインの bookworm を trixie に置き換えてください。install.ini は共通です。
  1. 前項で作った microSD カードを使ってシステムを起ち上げます。

  2. 通常はここで先ず、アップデートやネットワーク設定を行いますが、何もせずそのままで結構です。root ユーザにもならないでください。

    次のコマンドを実行してください。

    $ wget https://app.todo.vc/raspbian/bookworm/rpi-gw/install.ini
    $ nano install.ini

    ゲートウェイの設定に従ってファイルの内容を変更してください。なお、このファイルを各リピータの管理書類として保存しておくと次のインストール時とても便利です。

      GNU nano 7.2				install.ini
    ##############################################
    #	D-STAR Gateway セットアップファイル
    #	last update : 2026.3.2 
    #	Created by Y.Todo / JE3HCZ
    ##############################################
    
    ### SSH PORT の変更
    SSH_PORT=22
    ### VNC 設定(要:yes/不要:no)
    VNC_SETUP=no
    ### NETWORK INTERFACE の設定
    WAN_CON=eth0
    WAN_IF=eth0
    WAN_IP=10.0.x.x
    WAN_MASK=8
    WAN_GW=10.0.x.y
    WAN_DNS=10.0.x.y
    LAN_CON=eth1
    LAN_IF=eth1
    LAN_IP=172.16.0.20
    LAN_MASK=24
    LAN_GW=172.16.0.1
    ### VNC の設定が yes の場合#を消して、passw0rdを変更してください
    #VNCPASSWD=passw0rd
    #VIEW_ONLY=n
    #GEOMETRY=1280x960
    #DEPTH=24
    ### dsgwd.conf の設定
    ZR_CALLSIGN=RPT000
    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=20201
    ### multi_forward の設定
    MAX_TIME=0
    MAX_CONNECT=0
    HTTP_PORT_MLFWD=20202
    ### dprs.conf の設定(緯度/経度は必ず設定してください)
    BEACON_LAT=00.0000
    BEACON_LONG=000.0000
    BEACON_INTERVAL=1200
    ACCEPT_TYPE=MIX
    HTTP_PORT_DPRS=20203
    ### decho.conf の設定(コールサインとモジュール名の間はアンダースコアで埋める)
    ECHO_SERVER=RPT000_A:RPT000_Z
    ### WEB Server の設定
    PORT=80  


  3. 準備が出来たら、次のコマンドラインを入力して実行してください。

  4. $ curl https://app.todo.vc/raspbian/bookworm/rpi-gw/setup | bash

    終わるまで放っておいてください。処理が完了したらゲートウェイとして稼働する状態で自動的に再起動します。 各設定ファイルの内容確認には、次のセクションで表示した設定内容を参考にしてください。

  5. Last Heard v.2 をインストールしたい方は、一通りゲートウェイの稼働状態をチェックした上で、次のコマンドを実行してください。

  6. $ curl https://app.todo.vc/raspbian/bookworm/lastheard/install | bash


    Last Heard がリストアップされない場合、何度か再起動してみてください。各ゲートウェイアプリケーションの起ち上げ順を調整する必要が出てくる場合が有ります。

これで、全ての作業が完了です。不明な点がございましたら、フォーラムでご質問ください。


2026年版以上

手作業でインストール構成を行う場合


=MEMO= これ以降は、ゲートウェイが立ち上がって以降の確認用として、また自ら設定をしたい方向けに、初回公開時のまま残します。
  1. aptインストールできるようにリポジトリを構成

  2. $ cd /etc/apt/sources.list.d
    $ sudo wget http://app.d-star.info/debian/bookworm64/rpi-GW/jarl-GW.list
    
    $ cd /var/tmp
    $ sudo wget http://app.d-star.info/debian/bookworm64/rpi-GW/jarl-pkg.key
    $ sudo apt-key add jarl-pkg.key
    $ cd
    

    この時、すでにjarl-GW.listが存在すると wgetする度に、jarl-GW(1).list, jarl-GW(2).list・・・のように上書きしないようにダウンロードされるので、 最新の状態にするためには jarl-GW.listのすべてのバージョンを削除して新たにダウンロードするか、番号の大きい物をjarl-GW.listにリネームしてください。


  3. インストールの実行

  4. $ sudo apt clean
    $ sudo apt update
    $ sudo apt install -y rpi-dsgwd rpi-dprs rpi-xchange rpi-dstatus rpi-multi-forward rpi-decho
    


  5. 各アプリケーションの環境設定

  6. $? sudo nano /boot/rpi-GW/rpi-dsgwd.conf
    
      GNU nano 5.4                 /boot/rpi-GW/rpi-dsgwd.conf
    #
    # rpi-dsgwd.conf
    # Configuration file for D-STAR GW-Server Daemon
    # (C) 2021 JARL D-STAR Committee Satoshi Yasuda, 7m3tjz
    #
    
    # --- Setting the following two parameters is mandatory. ---
    # Zone Repeater's Infomation
    ZR_CALLSIGN=[Repeater Callsign(モジュールA,B無し)]
    ZR_ADDR=127.0.0.1
    
    # --- 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
    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=1
    #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
    LOG_HOLEPCH=1
    LOG_SOCKET=1
    LOG_MAC=1
    
    # END dsgwd.conf
    

    $ sudo nano /boot/rpi-GW/rpi-xchange.conf
    

    xchangeとdprsにおけるリピータコールとモジュール名は指定不要になりました。

    また、これ以降の設定の内容でUPNP=0と有るのは、uPnPの機能は使用せず、手動でポートフォワードしているという意味です。 uPnPを使用する場合は、手動でのポートフォワードはせず、ルータのuPnPを有効にしてUPNP=1としてください。
      GNU nano 5.4                 /boot/rpi-GW/rpi-xchange.conf
    #
    #? ? ?  Version V02.00 or later
    #? ? ?  Satoshi Yasuda
    #? ? ?  12 Aug. 2018
    #
    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
    
    HTTP_PORT=20201
    UPNP=0
    

    $? sudo nano /boot/rpi-GW/rpi-dprs.conf
    
      GNU nano 5.4                 /boot/rpi-GW/rpi-dprs.conf
    #
    #? ? ?  Version V00.79 or later
    #? ? ?  Satoshi Yasuda
    #? ? ?  20 Aug. 2018
    #
    APRS_SERVER=d-prs.d-star.info:14580
    #APRS_SERVER=d-prs.d-star.info:8080:SUBMIT
    RADIO_ID=D
    SEND_INTERVAL=60
    AUTO_RELINK=1
    RETRY_COUNT=0
    BEACON_LAT=35.xxxx                 #リピータの緯度・経度を小数点表示で
    BEACON_LONG=136.xxxx
    BEACON_COMMENT=D-STAR -> APRS
    BEACON_INTERVAL=0
    MON_PORT=50000
    ACCEPT_TYPE=MIX
    

    $ sudo nano /boot/rpi-GW/rpi-dstatus.conf
    
      GNU nano 5.4                 /boot/rpi-GW/rpi-dstatus.conf
    #
    #? ? ?  Version V00.79 or later
    #? ? ?  Satoshi Yasuda
    #? ? ?  10 Oct. 2015
    #
    DEBUG=1
    MON_PORT=50001
    STATUS=status.d-star.info:21050
    

    $ sudo nano /boot/rpi-GW/rpi-multi_forward.conf
    
      GNU nano 5.4                 /boot/rpi-GW/rpi-multi_forward.conf
    #
    #? ? ?  Version V00.79 or later
    #? ? ?  Satoshi Yasuda
    #? ? ?  10 Oct. 2015
    #
    FORWARD_PORT=50002
    MULTI_CONNECT_PORT=51000
    STATUS=status.d-star.info:21051
    MAX_TIME=0		# 接続時間指定/0:無制限
    MAX_CONNECT=0		# 接続局数指定/0:無制限	
    

    $ sudo nano /boot/rpi-GW/rpi-decho.conf
    
      GNU nano 5.4                 /boot/rpi-GW/rpi-decho.conf
    #
    #       Version V00.01 or later
    #       Satoshi Yasuda
    #       2022/04/29
    #
    FORWARD_PORT=50003
    ECHO_SERVER=JL3ZBS A:JL3ZBS Z  #各リピータコールサインに変更してください。
    ECHO_POSITION_SEND_INTERVAL=600
    
    
    エコーサーバのZについてはシステムで使用しているSGなどを使用しないでください。


    =MENO= エコーサーバのコールサイン(ここでは JL3ZBS Z)についてはゲート越えでのエコー要求に対して、エコー自体もゲート越えをしますので、 JARL D-STAR WEB 登録コールサインである必要が有ります。従って自動登録をするために、ハンディ機等にMyCallとして設定した上で一度だけ、いずれかの自動応答へアクセスしてください。 自動応答が返ってきたら暫く時間を空けて、自局のエコーサーバが他のリピータ経由(つまりゲート越え)で聞こえるか確認してください。
    ログファイルに関する設定

    dsgwd.log に関しては出力に関して少し設定が必要です。

    $ sudo nano /etc/rsyslog.conf
    
      GNU nano 5.4                 /etc/rsyslog.conf
          :
         :  末尾に追加  
    #
    # rpi-dsgwd.log
    #
    local0.*					/var/log/rpi-dsgwd.log
    
    $ sudo touch /var/log/rpi-dsgwd.log
    

    最初はログファイルが存在しないので、空のファイルを作成して書き込み準備をします。

    他のログファイルは、設定無しで /var/log 内に書き出されます。

    それぞれのプログラムを自動起動に設定

    すべてのプログラムを自動起動に設定し、一度リブートします。
    $ sudo systemctl enable rpi-dsgwd.service rpi-xchange.service rpi-dprs.service rpi-dstatus.service rpi-multi_forward.service rpi-decho.service
    $ sudo reboot
    

    再度立ち上がったら、次のコマンドで起動しているか確認します。起動していないものは表示されません。
    $ ps aux | grep rpi
    
    これで、すべての設定が完了しました。 しばらくすると、Hole Punch Listに表示されれば運用可能となります。

    Back




    Back


    TODO Yoshiharu /J E 3 H C Z

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


0 件のコメント:

コメントを投稿