Plamo Linux 1.4.xで寺子屋ネットへ参加しよう

  MS-DOS+JNETもいいけど、最近の高性能なパソコンではとてももったいないです。

  そこで今流行のPlamo LinuxでTNCやメールサーバ、ニュースサーバを動かす奥義を公開します。

  Plamo Linuxの入手方法はこちらへ。

  特に指示が無ければsurootになってrootの権限で作業して下さい。

  現在では混乱の元となっているので、ニュースについてはNNTPでの接続のみを解説し、旧来の寺子屋形式で送受する設定は該当部分は削除しました。

  接続先が寺子屋形式しか扱えない場合は、最近のjnetcex+sorobanでNNTPが使用できることを伝えて下さい。

1−1 Plamo Linux 1.4.xを入れる 

1−2 カーネルの再構築 

2 ネットワークの設定 

3 ax.25ドライバ 

4 ニュースサーバ INN 

5 自動運転 

6 メールの設定 

7 最後の締め 


1−1 Plamo Linux 1.4.xを入れる

    特にこだわりがなければおすすめで入れれば良い。

    領域はスワップを前の方に取ろう。

    HDDの前の方が速度が速いので、スワップには有利。

    スワップサイズを決めるのに引き算が不要。

/dev/hda1 DOS

/dev/hda2 Linux swap

/dev/hda3 Linux Native

    Linux自身の設定は巷に参考書があふれているのでここでは書かない。

    サーバの動作には関係無いが、作業する上ではX-Windowが使えたほうがコピー&ペーストが出来たり、このページを見ながら作業が出来るので便利。


1−2 カーネルの再構築

    カーネルには普通のディストリビューションにはアマチュア無線サポートは無いので、再構築して組み込む。

su

cd /usr/src/linux

make menuconfig

  以下は忘れずに設定すること。

Networking options:

[*] TCP/IP networking

<*> Amateur Radio AX.25 Level 2

Network device support:

[*] Radio network interfaces

<*> Serial port KISS driver for AX.25

    他は自分のマシン環境に合わせて設定。

    不要なドライバはメモリがもったいないので外す。

make dep ; make clean ; make bzlilo ; make modules ; make modules_install

    再起動して動作を確認。


2 ネットワークの設定

    まずはLANのみ、もしくはLAN無しを設定。

    netconfigで聞かれた通りに。

    LANがなければloopbackのみでOK。

    終了後、/etc/hostsに接続したい相手の記述を追加。

    自分自身の行が、例えば、

172.24.1.1 je4smq.felix.or.jp je4smq

    hostnameが同じになっていないと各方面、特にinnで不具合が起きるので注意。

    接続先の行であれば違っていても良い。


3 ax.25ドライバ

    ax25-util-2.1.42a.tar.gzを取って来て(CD-ROMにはないのでインターネットで検索して)

su

cp ax25-util-2.1.42a.tar gz

tar zxvf ax25-utils-2.1.42a

cd ax25-utils-2.1.42a

    コンパイルの前処理。

make config

    質問は全部yでok

    終わったらコンパイル。

make

make install

make installconf

    前の設定が消えると警告が出るが、初めてのインストールならそのままEnter。

    /etc/ax25/axportsを書き換えればとりあえずOK

    speedはRS-232Cの速度。KPC-4の場合はここは無視されて、後で出てくるmkiss -sの速度が 採用。

# name callsign speed paclen window description

radio0 JE4SMQ-2 1200 255 2 (430MHz Bell202)

radio1 JE4SMQ-1 1200 255 2 (1200MHz Bell202)

    マニュアル通りkissattachifconfigでkiss TNCを認識させればIPが無線になる。

    こんな感じのシェルスクリプトを作って、chmod +xで実行属性を付けた後に/etc/rc.d/rc.inet1の最後で呼べば起動時にTNCをattachするようになる。

    例はmkissを使ったKPC-4の2ポート用設定。

    普通のTNCならmkissは不要、kissattach/devは com1なら/dev/ttyS0,com2なら/dev/ttyS1に。

#!/bin/sh

#KPC-4 2port

/usr/sbin/mkiss -s 4800 /dev/ttyS0 /dev/ptyq0 /dev/ptyq1

#port attach

/usr/sbin/kissattach -i 133.93.32.4 /dev/ttyq0 radio0

/usr/sbin/kissattach -i 133.93.32.4 /dev/ttyq1 radio1

/usr/sbin/kissparms -p radio0 -t 500 -r 10 -s 10

/usr/sbin/kissparms -p radio1 -t 500 -r 10 -s 10

#network configure

/sbin/ifconfig ax0 133.93.32.4 netmask 255.255.255.0 up

/sbin/ifconfig ax0 broadcast 133.93.32.255 mtu 216

/sbin/ifconfig ax1 133.93.32.4 netmask 255.255.255.0 up

/sbin/ifconfig ax1 broadcast 133.93.32.255 mtu 216

#route set

/sbin/route add -host dwa ax1

/sbin/route add -host cwz ax1

/sbin/route add wdu gw dwa

#mheard log start

/usr/sbin/mheardd -f

    mheardで見えた局の一覧が、listen -8atでパケットのモニタが可能。

    後者はXを使っているなら1つktermを開いて常に見るのが良い。

    CTRL+中ボタンで漢字コードをSJISにすると普通のRBBSのモニタ時に漢字も表示出来る。

おまけ

    デジピートさせる場合の設定。

    相手が/etc/hostsに

133.93.32.4 je4smq.felix.or.jp je4smq

   とあり、コールサインがJE4SMQ-1,デジピータがJH5YNE-2経由と仮定。

/sbin/route add je4smq ax0

arp add -H ax25 -s je4smq je4smq-1

axparms -route add ax0 je4smq-1 jh5yne-2

   arp addで相手のコールサインを強制的に認識させる。

   axparmsでデジピータの経路を指定する。

   相手側も同様な設定をしないと、片方向のみのデジピートになるので注意。


4 ニュースサーバ INN

    CD-ROMのcontrib/networkにある。

    cdした後に

    installpkg パッケージファイル名

    

    pkgtool

    で突っ込めばOK。

    PGPも忘れずに。

    /usr/local/news以下に3つシンボリックリンクがあるが、一度rmして、 以下のように張り直す。

    そのままでは間違い!

cd /usr/local/news

rm db

ln -s /var/spool/news/db db

rm log

ln -s /var/log/news log

rm spool

ln -s /var/spool/news spool

    ls -lの結果。

drwxr-xr-x 6 news news 2048 Mar 3 21:20 bin/

lrwxrwxrwx 1 root root 19 Mar 4 21:13 db -> /var/spool/news/db//

drwxr-xr-x 2 news news 1024 Mar 20 17:06 etc/

drwxr-xr-x 2 news news 1024 Aug 8 1998 lib/

lrwxrwxrwx 1 root root 14 Mar 4 21:13 log -> /var/log/news//

drwxr-x--- 2 news news 1024 Mar 20 21:01 run/

lrwxrwxrwx 1 root root 16 Mar 4 21:13 spool -> /var/spool/news//

drwxr-xr-x 2 news news 1024 Mar 20 21:01 tmp/

 

    INNの設定は/usr/local/news/etcにあるinn.conf,newsfeeds,incoming.conf,nnrp.accessあたりをいじれば大体大丈夫。

 

inn.conf

    ニュースサーバそのものの設定。

organization: SPD-NET(Sanyou Packet Doukoukai OKAYAMA)

server: localhost

pathhost: je4smq

moderatormailer: news@je4smq.spd.prug.or.jp

domain:

#fromhost:

pathalias:

complaints:

mta: /usr/sbin/sendmail -oi %s

mailcmd: /usr/local/news/bin/innmail

    以下はそのまま残しておく。

    もう1か所あった気もするが、後で分かるはず。

    後で他の行にエラーが出たらその行の最後に不要な空白かタブがあるので削除すること

 

newsfeeds

    どの接続先にどのニュースグループを送るかを記述。

    /の前が相手の名前(識別用)。

    /の後がPath:にこれが現れたらその相手には送らない、要は逆流防止。

接続先1箇所には、1つの行のみ書くこと。

#自分自身の記述 絶対必要

ME:!*::
overview!:*:Tc,WO:/usr/local/news/bin/overchan

#nntp

jg4dwa/jg4dwa:*,!fj.*,!tnn.*,!junk,!japan.*,!local.*,!control.*,!prug.*,!zoj.*,!apg.local*,!tiki.*,tameike.*:Tf,Wnm:

 

incoming.conf

    NNTPで自分に接続を許す相手を記述。

    最後の3行を追加。peerのあとのspdは重複しなければ何でも良い。

streaming: true

# streaming allowed by default

max-connections: 8

# per feed

peer ME {

hostname: "localhost, 127.0.0.1"

}

peer spd {

hostname: "ja5cwz.sman.prug.or.jp, jg4dwa.spd.prug.or.jp"

}

 

nnrp.access

    WinVn,Netscape Messangerやmnews等nnrpで接続を許す相手を記述。

    家庭内LANのマシンを追加すれば良いだろう。

    意味は見れば分かるね。

## Default is no access, no way to authentication, and no groups.

*:: -no- : -no- :!*

#接続許可する相手

stdin:Read Post:::*

localhost:Read Post:::*

127.0.0.1:Read Post:::*

*.spd.prug.or.jp:Read Post:::*

 

nntpsend.ctl

    NNTPでニュースを送る相手のみを記述。

    siteの部分はnewsfeedsの行頭と同じ。

    接続先が複数の場合は接続先別に複数行に分けて書く。

NNTPで送らない相手の記述はしないこと。(2001/3/29:タイムアウトパラメータ追加)

jg4dwa:jg4dwa.spd.prug.or.jp:1m:-T1800 -t180

active

    /usr/local/news/dbへ作成する。

    中身はこんな感じ

    改行コードがDOSとUNIXでは違うので、 ftpのasciiモードで貰うなどしてうまく調整してほしい。

history

    今まではrootの権限だったが、ここからはnewsの権限で作業する場合がある。

    suしてrootになった後にsu newsnewsになる。

    必ずこの手順でnewsへなること。

    こうするとsu newsの時はパスワードを聞かれないので楽。

    exitするとrootに戻る。

    もう一度exitで一般ユーザに戻るので覚えておく。

    newsの権限で/usr/local/news/bin/makehistory -f historyを実行するとactiveと同じ/usr/local/news/dbに作成される。

起動前チェック

    newsの権限で/usr/local/news/bin/inncheckを実行。

    文句が出たら従うこと。

    activeの属性には特に注意。

    指定のモードでchmodしよう。

    newsfeedsでMEに関するおせっかいな警告が出るが、それは無視して良い。

/etc/syslog.confへログを残す記述の追加。

    空白に見えるのはTAB。

    注意書きを見よう。

    書き換えたら再起動。

# /etc/syslog.conf

# For info about the format of this file, see "man syslog.conf" (the BSD man

# page), and /usr/doc/sysklogd/README.linux

#

# NOTE: YOU HAVE TO USE TABS HERE - NOT SPACES.

# I don't know why.

#

*.=info;*.=notice /usr/adm/messages

*.=debug /usr/adm/debug *.warn /usr/adm/syslog *.err /usr/adm/syslog

#

#This might work instead to log on a remote host:

# * @hostname

news.crit /dev/console

news.crit /var/log/news/news.crit

news.err /var/log/news/news.err

news.notice /var/log/news/news.notice

mail.* /var/log/mail.notice

    /var/log/news/*にニュースサーバの記録が残る。

    トラブル時に見よう。

    同様にメールも/var/log/mail.noticeを見ると送れたかどうか分かる。

起動実験

    newsの権限で/usr/local/news/bin/rc.newsを実行。

    エラーが出なければとりあえず成功。

    ps ax|grep innでちゃんとinndがいれば設定に間違いは無し。

    telnet localhost nntpでINNと直接話が出来る。

    接続拒否されなければとりあえずはOK。

    quitで終了できる。


5 自動運転

    起動時にINNを起動するために、/etc/rc.d/rc.localに以下の行を追加

#INN start

/bin/su - news -C /usr/local/news/bin/rc.news

    newsの権限でrc.newsを動かせという意味。

    定期的にニュースを送るために以下の内容を/var/spool/cron/crontabs/newsへ追加(というより、ファイルを作成)

    nntpsendはNNTPで送る相手へ 一斉送信開始。

1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/local/news/bin/nntpsend

    また、ニュースサーバの健康管理のために以下の行も追加。

#ニュース処理の洩れがあれば実行

39 * * * * /usr/local/news/bin/rnews -U

#古いニュースの削除と管理者への日報メール作成

6 0 * * * /usr/local/news/bin/news.daily delayrm expireover

0 5 * * 1 /usr/local/news/bin/expireover -s


6 メールの設定

    メールを誰にどう送るかを定義する/etc/sendmail.cfを作る。

    /usr/src/CF-3.7W/Sampleje4smq.def,je4smq.deliverの2つのファイルを作る。

    コールの部分はファイル名も含めて各自に合わせて。

    例ではuucpを使う設定になっているが、使わない局はUUCPに関する記述を適宜変更すること。

je4smq.def:

# # uucp.def # # a sample definition for uucp sites

DEF_ID='@(#)uucp.def 1.3 (motonori/WIDE) 10/25/94'

# for sendmail R8s

CF_TYPE=R8V8

#

VERSION_SEPARATOR=- LOCAL_VERSION=uucp

OS_TYPE=linux

# use nomx sendmail

MX_SENDMAIL=no

#自分のホスト、ドメイン名を指定

MY_NAME='je4smq'

MY_DOMAIN='spd.prug.or.jp'

OFFICIAL_NAME='$w.$m'

# send/accept user@mydomain.co.jp

FROM_ADDRESS='$j'

ACCEPT_ADDRS='$m'

# do not put rules for BITNET

BITNET=no

# reject junet domain addresses

REJECT_JUNET=yes

# uucp gateway definition uucpを使わない場合はUUCP_GW=no,UUCP_NEIGHBORSはコメントにする

UUCP_GW=yes

UUCP_NEIGHBORS='june'

# read delivery description file

STATIC_ROUTE_FILE=je4smq.deliver

# no direct delivery

DIRECT_DELIVER_DOMAINS=none

#メールの受信チェック機能

MAIL_RELAY_RESTRICTION=yes

ALLOW_RELAY_FROM='prug.or.jp felix.or.jp'

ALLOW_RELAY_TO='prug.or.jp felix.or.jp'

# send others to relay host

#自分のホスト名の別名 このホスト名でも受け取る

MY_ALIAS='je4smq.felix.or.jp'

#誰に送れば良いか分からない場合にとりあえず送る相手

DEFAULT_RELAY='smtp:je4smq.felix.or.jp'

 

je4smq.deliver:

  STATIC>GW>*.defのdefaultの順で送る相手を決める

  例ではたくさん接続先があるので複雑だが、これは事情によっていろいろあるので考えてみよう。

VER "@(#)uucp.deliver 1.1 (motonori/WIDE) 3/10/94"

STATIC june uucp:june

STATIC jh4glg.spd.prug.or.jp smtp:jg4dwa.spd.prug.or.jp

STATIC jg4dwa.spd.prug.or.jp smtp:jg4dwa.spd.prug.or.jp

STATIC jk4wdu.spd.prug.or.jp smtp:jg4dwa.spd.prug.or.jp

STATIC jj4jtp.spd.prug.or.jp smtp:jj4jtp.spd.prug.or.jp

STATIC ra.jj4jtp.spd.prug.or.jp smtp:jj4jtp.spd.prug.or.jp

STATIC ja5cwz.sman.prug.or.jp smtp:ja5cwz.sman.prug.or.jp

GW uucp:june

DOM felix.or.jp

GW smtp:jg4dwa.spd.prug.or.jp

DOM spd.prug.or.jp

GW smtp:ja5cwz.sman.prug.or.jp

DOM sman.prug.or.jp

    書けたらje4smq.cfを作成する。

rm je4smq.cf 以前の内容があると作成されないので削除

make je4smq.cf

    出来たje4smq.cfの試験

sendmail -bt -C ./je4smq.cf

    0 maachan@je4smq.spd.prug.or.jpでmaachan@je4smq.spd.prug.or.jp宛 のメールは誰に送るか表示される。

    終了はCTRL-D

    意図した結果ではない場合は作り直し。

    うまく出来ていたら

cp je4smq.cf /etc/sendmail.cf

    再起動で認識される。


9 最後の締め

    メールの転送やフィルタへ渡すために/etc/aliasesを書き換える。

    root宛メールを特定の一般ユーザへ転送する指定を最後に追加。

    普段はadduser(日本語表示に改造されている)で一般ユーザを作ってそれでログインして、rootでは決してログインしないこと!

root: maachan

    応用で、

root: MAG02714@nifty.ne.jp = 別のホストへ転送

    とか、

spd: maachan@je4smq.spd.prug.or.jp, masa@jk4wdu.spd.prug.or.jp, murama@jg4dwa.spd.prug.or.jp, keisan@jj4jtp.spd.prug.or.jp, kuro@jh4glg.spd.prug.or.jp = spd@je4smq.felix.or.jpへメールしたら:以下の相手へ同報

    なども可能。

    別のユーザへコピーを送ったり転送が可能な訳。

    出来たらnewaliasesを実行。

    これでsendmailが認識。

/etc/hosts.deny,/etc/hosts.allowの修正

    Plamo 1.4から外部からのコネクションを全部排除する設定がデフォルトなので、接続を許すために全行をコメントにする


    これだけで最低限の運用はOK。

    何もしなくてもpopサーバは動くので、外部のマシンで何でもするのであればメールも読み書き出来る。

    全部自分の所のマシンでするなら、mnewsは設定が簡単なのでお勧め。

    ニュースは/usr/local/lib/default-serverlocalhost1行のファイルを作ればとりあえず接続できる。

    投稿したニュースのhostnameがおかしい場合は/usr/local/lib/default-domainが間違っている場合が多い。

    ホームディレクトリの.mnews_setupを書き換えると細かいことも出来る。

    /usr/local/lib/jnamesにニュースグループ名などを登録するとおもしろい。


    一人でも多くのハムが寺子屋ネットへ参加できるようお祈りします。

最初へ戻る

inserted by FC2 system