NET/ROM機能を動かそう
NET/ROMエミュレーションがたぶん出来たので報告します。
以下は/etc/ax25の設定ファイルです。
axportsは以下を前提にします。5ポートですね。
# /etc/ax25/axports
#
# The format of this file is:
#
# name callsign speed paclen window description
#
ax0 JE4SMQ-1 9600 255 7 (430MHz G3RUH)
ax1 JE4SMQ-2 9600 255 7 (1200MHz GMSK)
ax2 JE4SMQ-3 9600 255 7 (144MHz Bell202)
ax3 JE4SMQ-4 9600 255 7 ( 50MHz Bell202)
ax4 JE4SMQ-5 9600 255 7 (430MHz Bell202)
ax25d.confはax25dというコネクトされたら何を起動するかを指定するデーモンが解釈するファイルです。
PMS(ミニBBS)とかttylinkd(シェルが使えるらしい)とか起動できるそうですが、今回はnode(NET/ROMみたいなインターフェース)を起動するようにします。
ax?やJE4SMQ-?はaxportsに合わせます。
# /etc/ax25/ax25d.conf
#
# ax25d Configuration File.
#
# AX.25 Ports begin with a '['.
#
[JE4SMQ-1 VIA ax0]
default * * * * * 0 - root /usr/sbin/node node
[JE4SMQ-2 VIA ax1]
default * * * * * 0 - root /usr/sbin/node node
[JE4SMQ-3 VIA ax2]
default * * * * * 0 - root /usr/sbin/node node
[JE4SMQ-4 VIA ax3]
default * * * * * 0 - root /usr/sbin/node node
[JE4SMQ-5 VIA ax4]
default * * * * * 0 - root /usr/sbin/node node
#
<netrom>
default * * * * * * - root /usr/sbin/node node
node.confはNET/ROMの設定です。
JE4SMQ-8で#kuraをaliasにしています。#から開始なので隠しノードです。
見れば直す場所が分かるでしょう。
HiddenPortsをコメントにし忘れてなかなか動きませんでした。
# /etc/ax25/node.conf - LinuxNode configuration file
#
# see node.conf(5)
# Idle timeout (seconds).
#
IdleTimeout 900
# Timeout when gatewaying (seconds).
#
ConnTimeout 3600
# Visible hostname. Will be shown at telnet login.
#
HostName je4smq.felix.or.jp
# ReConnect flag.
#
ReConnect on
# "Local" network.
#
LocalNet 127.0.0.0/8
# Command aliases. See node.conf(5) for the meaning of the uppercase
# letters in the name of the alias.
#
#Alias CAllbook "telnet %{2:zone.oh7rba} 1235 %1 s"
#Alias CONVers "telnet %{2:oh2ti} 3600 \"/n %u %{1:139}\""
#Alias CLuster "connect hkiclh"
# Hidden ports.
#
#HiddenPorts 2
# External commands. See node.conf(5) for the meaning of the uppercase
# letters in the name of the extcmd.
#
# Flags: 1 Run command through pipe
# 2 Reconnected flag
#
#ExtCmd PMS 3 root /usr/sbin/pms pms -u %U -o OH2BNS
#ExtCmd TPM 3 nobody /usr/bin/finger finger tpm
#ExtCmd Echo 1 nobody /bin/echo echo %U %u %S %s %P %p %R %r %T %t %% %0 %{1:foobar} %{2} %3 %4 %5
# Node ID.
#
NodeId #kura:JE4SMQ-8
# Netrom port name. This port is used for outgoing netrom connects.
#
NrPort netrom
# Logging level
#
LogLevel 3
# The escape character (CTRL-T)
#
EscapeChar ^T
node.infoはnodeコマンド中で使うIコマンドで表示するNET/ROMの情報です。ただのテキストです。
QTH:Kurashiki
node.motdはnodeコマンド起動時に最初に表示する挨拶です。ただのテキストです。
hello This is JE4SMQ Virtual NET/ROM on Linux
nrbroadcastは放送間隔や品質の設定です。
# /etc/ax25/nrbroadcast
#
# The format of this file is:
#
# ax25_name min_obs def_qual worst_qual verbose
#
ax0 5 192 100 0
ax1 5 255 100 1
ax2 5 255 100 1
ax3 5 255 100 1
ax4 5 255 100 1
最後は起動時の設定です。
/etc/rc.d/rc.ax25でroute addでIPの向きを設定する前に追加します。
nrattachでNET/ROMを仮想ネットワークインターフェースに見せます。
netromdでノード情報の放送を開始します。
mhearddで受信した局をログします。
ax25dで外部からのコネクトを受け付けます。
最後のaxparmsはコンソールからnodeを使いたいときに、仮のコールサインが必要なので指定しています。
コンソールでログインしているuser maachanはje4smqとするという意味です。
これがないとコンソールからはログイン出来ません。
#NET/ROM start
nrattach -i 133.93.32.4 netrom
#NET/ROM broadcast start Interval:30min
netromd -i -t 30
#mheard log start
/usr/sbin/mheardd -f -n20
#ax25d start
/usr/sbin/ax25d
#console user add
axparms -assoc je4smq maachan
..............
/sbin/route add ....
これで再起動すれば仮想NET/ROM機能が有効なはずです。
ついでに、NET/ROM経由でIPを通す設定も紹介しましょう。
相手が/etc/hostsに
133.93.8.80 7j3acr-1.felix.or.jp 7j3acr
とあり、NET/ROMのコールサインは7j3acr-8と仮定します。
NET/ROM関係の設定が終わった後に、
/sbin/route add -host 7j3acr nr0
arp -H netrom -s 7j3acr 7j3acr-8
これで'7J3ACR-8がノードテーブルに登録された段階でIPが届くようになります。
なお、相手側も同様な設定をしないと片方向のみがNET/ROM経由になります。
外部からaxportsに書かれているコールサインでコネクトされるとnodeが出て来てNET/ROMもどきに見えます。
許可されていればfingerやtelnetも出来ます。
8bit cleanなので RBBSを見に行くだけなら漢字コードをシフトJISにするだけで OKです。
maachan@je4smq(104)% node
#kura:JE4SMQ-8} Welcome to je4smq.felix.or.jp network node
hello This is JE4SMQ Virtual NET/ROM on Linux
--
?
#kura:JE4SMQ-8} Commands:
?, Bye, Connect, Escape, Finger, Help, HOst, Info, Links, Mheard
Nodes, PIng, Ports, Routes, Status, TAlk, Telnet, Users
pi smq
#kura:JE4SMQ-8} Pinging 133.93.32.4... Type <RETURN> to abort
#kura:JE4SMQ-8} 133.93.32.4 rtt: 0ms
p
#kura:JE4SMQ-8} Ports:
Port Description
ax0 (430MHz G3RUH)
ax1 (1200MHz GMSK)
ax2 (144MHz Bell202)
ax3 ( 50MHz Bell202)
ax4 (430MHz Bell202)
mh ax0
#kura:JE4SMQ-8} Heard list for port ax0:
Callsign Pkts rcvd Last heard
JA5CWZ 32 Fri Jun 25 23:16:28 ( 5 min 39 sec ago)
b
maachan@je4smq(105)%