2024年8月20日火曜日

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

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年8月時点に於ける最新版 9.4)のインストールされたLANカードを2枚持つPC

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

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

  • 現在AlmaLinux用のリポジトリーは作成されていませんので CentOS 7 のリポジトリーを利用しての暫定インストールとなります。従ってリポジトリーリストの変更を伴います

    この手順はアイコム(株)のテストによる情報がD-STAR委員会に提供されたものを参照しています。 また、今後リポジトリーの作成作業等によりアクセス出来ないことなども発生すると思われますのでよろしくお願いします。


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

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

    $ sudo su  ---> userログインの場合
    
    # dnf install wget -y	----> サーバー仕様でインストールした場合不要です。
    # cd /etc/yum.repos.d
    # wget -N http://app.d-star.info/rpm/yum/jarl.repo
    

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


    =MEMO= ここから Alma Linux用のリポジトリーが完成するまでの暫定処理。 専用リポジトリーが解説されれば jarl.repo ダウンロード後、すぐにインストールとなります。

    # nano jarl.repo
    
      GNU nano 5.6.1                          jarl.repo
    # jarl.repo
      :
    [dstatus]
    name=dstatus CentOS-$releasever $basearch
    baseurl=http://app.d-star.info/rpm/centos/$releasever/$basearch/
    enabled=1                 │
    gpgcheck=0                 └─> /centos/7/$basearch/ に書き換える
      :
    

    この$releaseverの所を、CentOS 7 のリポジトリーに特定するため、すべての行で 7 に書き換えます。

    次に、CentOS 7 向けのアプリケーション(dsgwd-jp)で必要となる環境とAlmaLinuxが提供する環境を合わせます。(ダウングレード)

    # dnf install initscripts
    # 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関連ソフトのインストール
  • JARLレポジトリからインストールする

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

    dsgwdはdsgwd-jp と指定します。dxchangeは dprsxchangedstatus という3つのプログラムに分かれました。 また、multi_forward というアプリケーションが追加されています。

    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
    #
    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ディスプレイ

  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
    


Back




J E 3 H C Z / REF047 C

0 件のコメント:

コメントを投稿