テレホーダイのための設定

98年1月8日


あけましておめでとうございます。おかげさまでこのページも新年早々, 一週間で 50 Hit を越え, 非常に人気のようです (季節によっては, もっと人気があるページもあるんだけど)。

さて, 私のいる地域の NTT の料金請求は毎月6日から翌月5日までである。 でもって, 今年の NTT の営業所の営業が始まるのは, 1/5 からである。 したがって, 営業始めの日にテレホーダイを頼めば, 次の日からテレホが開始するのである。おお, なんという絶妙のタイミング !! いままでは, うちの環境が悪かったこともあって, そんなに長時間 ISP に電話することもなかく, テレホには加入していなかったのである。 家庭内 LAN と NAT により, 自分の部屋から徹夜で IRC したりする(ぉぃぉぃ) こともできるんだし, これからは深夜に長電話するする可能性が非常に高い。電話代を考えるなら, テレホ加入は必須であろう。

と, ここまでかいておきながら一応説明すると, テレホーダイとは日本の電話産業を支配…もとい, ほぼ独占している, NTT の電話サービスの一つで, 23:00 から 8:00 の間の特定番号に対する通話料が定額制になるサービスである。くわしくは, NTT 自身の説明を見て欲しい。

さて, せっかくテレホに加入したのである。 いくら電話をかけまくっても電話代はかからない。 ということで, 「電話代が高騰するかも」ということでやめた, IIJ ppp の auto モードを使っても, (テレホの時間帯なら)何も困らない。 ということで, 23時になったら自動的に IIJ ppp が立ち上がるようにする。 また, 私の生活リズムから考えて朝 8 時をはさんで電話をかけ続けることはまずないだろうから, 自動で 8 時になったら切るようにしておく。 そうすれば, 真夜中電話を切り忘れてそのまま寝てしまい, 電話がかかったまま8時を過ぎて電話代が高騰するという心配もなくなる。

さて, こういったことの実現であるが, NAT サーバに常に電源が入っているならば, 実現は簡単である。 /usr/local/sbin/ppp-off などというコマンドを作る。内容は,

#! /bin/sh
echo "quit all" | telnet localhost 3000
などといった感じ。当然, コマンドだから実行属性をつけておく。 でもって, crontab に
0 23 * * * root /usr/sbin/ppp -auto isp-auto
0 8 * * * root /usr/local/sbin/ppp-off
などと書き加えれば, 23 時になれば crond が勝手に電話して, 8 時になれば勝手に電話を切ってくれる。 当然ながら, auto モード用のラベル isp-auto を作っておかないといけない。 くわしくは, iij-ppp のマニュアルを見て欲しい。

なお, すでに ppp が立ち上がっている状態で二重に ppp が立ち上がっても, 後から立ち上げられた方がちゃんとそういう状態であることを認識してくれるので, 問題は起こらない(使えるトンネリングデバイスがないのでどうしようもない, ともいう)。

が, しつこいようであるが, このマシンは(名目上)父の持ちもので, かつ, 常に電源が入っているわけではない。ので, 電話を切る方はともかく, ppp を立ち上げる方は, この方法だけではうまくいかない。

ということで, 立ち上げ時のスクリプトに少々書き足す。 起動時に時刻をチェックして, すでに 23:00 から 8:00 の間であれば, 自動的に ppp を立ち上げるようにした。 具体的なスクリプトは, /etc/rc.local あたりにこんな感じの一行を書き足す。

case `date +%H` in [23|0|1|2|3|4|5|6|7] /usr/sbin/ppp -auto isp-auto
少々安直だがちゃんと動く。 こうすると, 起動した時点ですでにテレホ時間であれば, ppp が立ち上がる。 そうでなくても, crontab の方で 23:00 になれば自動で立ち上がる。 さらにいうと(いうまでもないが), こういう仕掛けを用意しても, 今迄通り手動で ppp を立ち上げることも可能である。

ということで, かなり便利になってきた。うーん いい感じ。


次はニュースか ?
サーバをあげてもっと便利に