Motoyuki's Diary 2000年6月下旬

Motoyuki Konno <motoyuki@bsdclub.org>
[since Jan/22 1999] counter
Last-modified: Wed, 09 Nov 2005 04:17:31 JST


2000/6/22(Thu)

今日の出来事

_ 訂正

6/19 の日記の 一部を訂正。指摘ありがとうございました。

_ 税金と投票

県民税と町民税を納めに銀行へ。これらは 1 月 1 日現在の住所地で課税されるので 玉穂町への納税となる。

税金だけ納めるのはくやしいので、ついでに投票に行く。詳細は以下。

遠隔地投票への道

6/13 の日記の続き。投票日の 3 ヶ月以内に転居した私は、現住所では投票できない。

_ 6/16 (金)

玉穂町 (前住所) の選挙管理委員会から投票所入場券が郵送で届く。 電話で問い合わせてみると、遠隔地投票の手順は以下の通り。

  1. 現住所の選挙管理委員会に行き、投票用紙請求書をもらう。
  2. 必要事項を記入し、前住所の選挙管理委員会に郵送する。
  3. 前住所の選挙管理委員会から投票用紙等が郵送されてくる。郵送先は請求書に 書いた場所。
  4. 届いた投票用紙を持って、現住所の選挙管理委員会へ行き、投票を行う。
  5. 現住所の選挙管理委員会から前住所の選挙管理委員会へ投票用紙を郵送。

郵送というプロセスが 3 つも入ってるけど、当日までに間に合うのか。 電話をしたのが夕方だったので八王子市 (現住所) の選挙管理委員会は既にダメ。

_ 6/17 (土), 18 (日)

休日のため、選挙管理委員会の窓口は閉っている。

_ 6/19 (月)

八王子市役所に行って選挙管理委員会から投票用紙請求書をもらう。 玉穂町宛てに郵送。念のため、地域の集配局から速達で投函。

_ 6/22 (木)

玉穂町選挙管理委員会から配達証明つき速達で投票用紙が届く。 100 円切手が 10 枚と 80 円切手 1 枚が張ってあってちょっと壮観。

八王子市役所に行って投票。基本的には普通の不在者投票と同じ。 八王子市選挙管理委員会から玉穂町宛てに今日中に速達で投函するとのこと。

_ まとめ

遠隔地投票を行うには、以上の過程を行って投票日の午後 6 時までに前住所地の 選挙管理委員会に投票用紙が届く必要があるとのこと。届かなければ全てが 無駄となる。現住所地の選挙管理委員会に 2 度も行かなければならないから 普通の人が投票するにはかなり無理がある。第一、こういう投票方法があることが あまり知られていない。

先週の新聞によれば、自治体によっては選挙区外へ引っ越した有権者に対し、

を 投票所入場券に最初から同封して送るところもあるらしい。これだと手間が大幅に 省ける。こうした配慮を各選挙委員会に義務づけるべきだと思う。

Web 日記から

_ 久しぶり

に日記ぐるぐるしてみる。最近別のこと *1に時間取られてメール読み書きしたり日記見てなかった。

_ 写真

を見るために あの雑誌を買うというのは非常に無駄な気が。宴会の写真だからまともに写っていないし。


*1:IPv6 の作業をしていたのと、全年齢版の東鳩やってた :-)

東鳩

やっと全キャラ終了。最後はレミィだったが PC 版のほうが良かった気がする。 家族の描写がちょっとね。私が萌えたのは 綾香 と 葵。


2000/6/23(Fri)

IPv6 reachable への道

このところずっと作業していた IPv6 関係のまとめ。

おうち LAN は常時接続な環境なのだが private アドレスが振られている点が残念。 今回の目標は、トンネルを掘って IPv6 な global アドレスを使って外から自分の マシンにアクセスできるようにすること。FreeBSD 4.0 から KAMEがマージされて IPv6 が使えるようになったので、ちょうどいい機会でもある。

_ 準備

IPv6 over IPv4 トンネルは gif(4) を使う。 NAT を使った private IPv4 アドレスを 振られている私の場合、普通なら gif(4) は使えない *1のだが、接続中はある global IPv4 アドレスを使っているように外部からは見える *2のでこれを利用する。

一般論として、外からのアクセスを特定の private IPv4 アドレスに振る機能がある NAT box を使っているユーザならば私と同様の手順で接続できるはず。 global IPv4 アドレスをもらっている人の場合は手順が簡単になる。

_ テスト

まずは使えるかどうかテスト。 Freenet6.netでトンネルを無料で設定してくれるので、これを利用する。 FreeBSD 4.0 以降の場合は Freenet6.net で FreeBSD/KAME を選択すれば OK。

普通は Freenet6.net でくれる設定スクリプトを使えばトンネルが設定されるが、 うちは NAT 環境下なのでちょっと工夫する必要がある。 Freenet6.net では

という情報をくれるので、これを利用して

 # gifconfig gif0 <my private IPv4 address> <Freenet6 IPv4 address>
 # ifconfig gif0 inet6 <my IPv6 address> <Freenet6 IPv6 address> prefixlen 127
 # route add -inet6 default <my IPv6 address>

と設定した。 ping6 を試してみると無事外に出ている。テストは一応成功。

_ 問題点

がいくつか。

  1. Freenet6 によれば、 FreeBSD/KAME は prefixlen 127 での使用に問題がある *3とのこと。 FreeBSD 4.0-RELEASE で試したところ、 ifconfig を実行した際に マシンが reboot してしまう現象が何度か起きた。
  2. Freenet6 でのトンネルは接続が切れると設定解除されてしまう。いちいち Web で 設定しにいくのは面倒。
  3. IPv6 なアドレスを一つしかもらえない。やっぱり、おうち LAN の各マシンに IPv6 アドレスを振ってみたい。

1. の問題は global IPv6 アドレスを複数振ってもらう場合には prefixlen を 使わずに済むので自動的に解決できる。 2. がちょっと問題。外部から私のマシンに 振られているようにみえる IPv4 アドレスは時々変わる (DHCP と同様) ので、 その度に接続先のサーバの設定を変える必要が出てくるのだ。


*1:接続先から自分のマシンが見える必要があるため。
*2:これは undocumented な仕様らしい :-)。
*3:私が Freenet6 で設定した時はそういう記述が Web にあったのだが、今見ると なくなっている。問題解決したのかな?

IPv6 reachable への道 (2)

_ dtcp

IMASYの梅本さんにお聞きしたところ、 KAMEの SNAPKIT に含まれている dtcp を使えば自分の IPv4 アドレスが変わる場合にも 対応できるとのこと。 IPv6 接続も IMASY で引き受けてくださるとのことなので、 設定をお願いすることにした。

dtcp は、 dtcp サーバ (dtcps) に接続してユーザ認証を行った上で IPv6 over IPv4 トンネルを設定してもらうもの。

dtcp に以下のような改良を加えた:

dtcpc.rb の オリジナルパッチ。パッチの作成は 梅本さん高野さん、それに私。

なお、 FreeBSD 4.0-RELEASE ではさらに このパッチを当てる必要があった。

_ 実際の運用

現在のところ、以下のようなスクリプトを使って常時 IPv6 な環境にしている。 何らかの理由で接続が切れた場合に自動的に dtcpc を再起動するのだが、 そのうちこの機能を dtcpc 自体にマージするつもり。

#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
export LANG=C

log=/var/log/dtcpc.log
host=servername.hoge.jp
user=username

while true
do
    echo ======== `date` >> $log
    ruby /usr/local/sbin/dtcpc -n -t tunnelroute -u $user $host >> $log 2>&1
    sleep 120
done

IPv6 reachable への道 (3)

_ アクセス制御

おうち LAN の各マシンが IPv6 reachable になったので、アクセス制御の設定。 dtcpc を動かしているマシンで options IPV6FIREWALL を指定して kernel を 再構築し、 IPv6 版の ipfirewall を有効にする。そして、 ip6fw(8) を ipfw(8) と同様に使って gif0 を経由する外部とのやりとりを制限する。

_ 各種プログラムの IPv6 化

FreeBSD 4.0-RELEASE のデフォルトでは IPv6 化されているものがまだ少ないので、 対応しているものに入れ替え。

sendmail は ftp://ftp.kyoto.wide.ad.jp/mail/sendmail/ にある WIDE パッチを あてれば OK。

注 : 今なら sendmail 8.10.2 を入れた方が良いと指摘をいただきました。

起動時に -6 を指定すれば IPv4 と IPv6 両方しゃべってくれる。sendmail.cf に

    O DaemonPortOptions=Family=inet
    O DaemonPortOptions=Family=inet6

と書けば IPv4 と IPv6 の両方をしゃべってくれる。 CF を使うなら

    DAEMON_OPTIONS='Family=inet,Family=inet6'

と指定。

sendmail の設定にちょっと問題あり。メールを送る際に、

ということができない。しょうがないので全部「MX で引いた先に直接送る」設定に しているのだが、 IPv4 な環境では逆引きしたホスト名とメールサーバ名が 異なるので、メール受取りを拒否される可能性がある。

_ DNS の設定

おうち LAN は IPv6 のみ global なアドレスなので、設定を工夫する必要がある。 幸い、知人と運営している bsdclub.org があるので、

foo.bar.jp	IN	MX  5	mx.foo.bar.jp
		IN	MX  10	bsdclub.org のサーバ
mx.foo.bar.jp	IN 	A	bsdclub.org のサーバ
		IN	AAAA	おうちサーバ

と設定する。これで IPv6 なメールはおうちサーバに直接届く。 IPv4 なメールと、 おうちサーバが落ちている時の IPv6 なメールは、 bsdclub.org に届く。 WWW サーバのホスト名なども、同様に A レコードを他のサーバに振るように設定すれば よい。

注 : メールについては、 IPv6 で接続できない場合は IPv4 に fallback するのでsecondary MX の設定は必要ないとのことです。

IPv6 で届くメールが非常に少ない (^_^;; のが残念。解決策としては、 IPv4/IPv6 両方使えるサーバでメールを受け取って、おうちサーバに forward する方法しか 思いつかない。

今日の出来事

_ 買い物

八王子駅前に出る。くまざわ書店地下のコミック売り場に行くと、まほろまてぃっく 2 巻が 20 冊以上山積みされていた。なかなか面白い品揃えだ :-)。

その後、東急スクエアの三省堂書店に行って買い物。


2000/6/24(Sat)

今日の出来事

よく寝た :-)

_ IPv6 のページ

rimに作ってみる。内容は今のところ日記へのリンクだけ。

_ ソニー損保

もうすぐ任意保険の更新なので見積もりとってみようと思い、 ソニー損保にアクセスしてみた。

本サイトでは [中略] 安定性と操作性を第一に考慮しております。その結果、 本サイトの動作環境を下記(OSおよびブラウザ―)に限定いたしております。 お客様にはご不便をおかけして誠に申し訳ございません。ご利用可能な環境で の再度のアクセスをお待ち申し上げております。[中略] OS Microsoft Windows95日本語版以降(Windows98日本語含む) Microsoft Windows NT4.0日本語版以降 下記ブラウザが動作するMacのOS ブラウザ Internet Expolorer 4.0 日本語版以降 Netscape Communicator 4.0 日本語版以降

どうやら PC UNIX 系のユーザは門前払いらしい。見る気なくした :-<

Web 日記から

_ dtcp のパッチ

dtcpc.rb のパッチはそういう 特殊な設定をした NAT 環境下のためのものです :-)。普通の NAT 環境の場合だと、 ppp over TCP でトンネル掘れるんじゃないでしょうか。

_ ソニー損保

あれ、 Netscape on FreeBSDで大丈夫でしたか。私は Netscape Communicator 4.7 on FreeBSD 4.0 で 蹴られてしまったです。


2000/6/25(Sun)

今日の出来事

_ 選挙

理解できないこと。与党が過半数確実なのになんで野党の幹部が笑顔で報道陣に コメントできるのだろうか。本来は過半数とれないイコール敗北なんだけど。 みんながみんな与党が過半数をとることを当然視しているということなのだろうな。 その範囲内で自分の党が勢力を伸ばすか減らすかを競っている。

要するに、政権を目指すとか公約していたけど、実際に自分が政権とれるとは全く 考えていないのね。そんな調子じゃ政権とれるわけないじゃない。

_ 野球

三連勝。久しぶりに良いニュース。


2000/6/26(Mon)

今日の出来事

_ ICANN

先日私も ICANNの一般会員登録を申し込んだのだが、今日郵便が届いたので登録を完了した。 わざわざ郵便で送ってくるのは一人で複数票登録されるのをできるだけ 防ぐためなのかな。ネットの限界が見えるようで興味深い。

参加方法は こちら

CVSup サーバの設定

某所で聞かれたので書いて *1みる。メールで埋もれさせるよりは公開しといたほうがいいからね。 そのうちどこかわかりやすい場所 *2に移そうかな。

_ 準備

  1. cvsup と cvsupd をインストール。
  2. cvsup, cvsupd というユーザとグループをそれぞれ作成する。

_ FreeBSD 編

Ports Collection の net/cvsup-mirror を使うのが簡単だが、使わずに設定してみる。 いろいろなデータを全部持ってくる設定を書いているので、必要ない分は適宜削る ように。 cvsupd を動かすのなら「cvsupd の設定ファイル」は必須。

 # mkdir /pub/FreeBSD
 # mkdir /pub/FreeBSD/ncvs           # CVS リポジトリ置き場
 # mkdir /pub/FreeBSD/cvs            # 日本の CVS リポジトリ置き場
 # mkdir /pub/FreeBSD/distrib        # cvsupd の設定ファイル
 # mkdir /pub/FreeBSD/jp-distrib     # cvsupd の日本の設定ファイル
 # mkdir /pub/FreeBSD/gnats          # GNATS データベース
 # mkdir /pub/FreeBSD/mail           # FreeBSD.org の ML アーカイブ
 # mkdir /pub/FreeBSD/www            # www.FreeBSD.org の公開データ
 # mkdir /pub/FreeBSD/jp-www         # www.jp.FreeBSD.org の公開データ
 # chown cvsup.cvsup /pub/FreeBSD/*

 # mkdir /local/cvsup
 # mkdir /local/cvsup/distrib
 # mkdir /local/cvsup/distrib/prefixes
 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/FreeBSD/ncvs       FreeBSD.cvs
 # ln -s /pub/FreeBSD/ncvs       FreeBSD-crypto.cvs
 # ln -s /pub/FreeBSD/cvs        FreeBSD-jp.cvs
 # ln -s /pub/FreeBSD/distrib    distrib.self
 # ln -s /pub/FreeBSD/jp-distrib jp-distrib.self
 # ln -s /pub/FreeBSD            FreeBSD-gnats.current
 # ln -s /pub/FreeBSD/mail       FreeBSD-mail.current
 # ln -s /pub/FreeBSD/www        FreeBSD-www.current
 # ln -s /pub/FreeBSD/jp-www     FreeBSD-jp-www.current
 # cd /local/cvsup/distrib
 # ln -s /pub/FreeBSD/distrib/sup       sup
 # ln -s /pub/FreeBSD/jp-distrib/sup-jp sup-jp
 # cd /local/cvsup
 # mkdir sup
 # chown cvsup.cvsup sup

以下のような内容のファイルを /local/cvs-supfile として作る。

*default host=cvsup.jp.FreeBSD.org
*default base=/local/cvsup
*default prefix=/pub/FreeBSD/ncvs
*default release=cvs
*default delete use-rel-suffix preserve
*default compress

cvs-all
cvs-crypto
distrib       prefix=/pub/FreeBSD/distrib    release=self
gnats         prefix=/pub/FreeBSD            release=current  # GNATS 関係
www           prefix=/pub/FreeBSD/www        release=current  # WWW 公開データ
mail-archive  prefix=/pub/FreeBSD/mail       release=current  # ML アーカイブ

jp-all        prefix=/pub/FreeBSD/cvs
jp-distrib    prefix=/pub/FreeBSD/jp-distrib release=self
jp-www        prefix=/pub/FreeBSD/jp-www     release=current  # 日本の WWW

後は cvsup ユーザ権限で

% cvsup -g -L 2 -r 2 -s -l /tmp/cvsup.lock /local/cvsup/cvs-supfile 

を実行すれば OK。全部のデータを自動的に持ってきてくれる。定期的に最新版を入手 するように cron で設定しておくとよい。

なお、初回実行時は非常に時間がかかるので、 CD-ROM などで CVS リポジトリ (古いものでも OK) を持っているのならあらかじめ /pub/FreeBSD/ncvs 以下に 展開しておくと時間節約できる。

_ cvsupd の立ち上げ

cvsupd ユーザ権限 *3

% cvsupd -b /local/cvsup/distrib -c sup:sup-jp -s /local/cvsup/sup &

とする。

_ NetBSD 編

日本のサーバから rsync でリポジトリを入手 *4してみる。

 # mkdir /pub/NetBSD
 # mkdir /pub/NetBSD/cvsroot
 # chown cvsup.cvsup /pub/NetBSD/cvsroot

あとは cvsup ユーザ権限 で *5

 % rsync -avr --delete rsync://rsync.jp.netbsd.org/anoncvs/main/ \
        /pub/NetBSD/cvsroot/

を cron で定期的に実行するだけ。

_ OpenBSD 編

cvsup.uk.OpenBSD.org から cvsup で入手してみる。 まずは準備。

 # mkdir /pub/OpenBSD
 # mkdir /pub/OpenBSD/cvs
 # chown cvsup.cvsup /pub/OpenBSD/cvs

以下のような内容を /local/cvsup/cvs-supfile-openbsd として用意。

*default host=cvsup.uk.OpenBSD.org
*default base=/local/cvsup
*default prefix=/pub/OpenBSD/cvs
*default release=cvs
*default delete use-rel-suffix preserve
*default compress

OpenBSD-all

後は FreeBSD の時と同様に cvsup を cron で回す。

% cvsup -g -L 2 -r 2 -s -l /tmp/cvsup.lock /local/cvsup/cvs-supfile-openbsd

_ NetBSD と OpenBSD 用の cvsupd の設定

設定ファイルの例を sup-local.tar.gzとして置いておくので入手する。

 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/NetBSD/cvsroot NetBSD.cvs
 # ln -s /pub/OpenBSD/cvs    OpenBSD.cvs
 # mkdir ../sup-local
 # cd ../sup-local
 # tar xzf /somewhere/sup-local.tar.gz
 # chown -R root.wheel .

後は cvsupd を起動し直すだけ。

% killall cvsupd
% cvsupd -b /local/cvsup/distrib -c sup:sup-jp:sup-local -s /local/cvsup/sup &

_ ちょっと改良

NetBSD のソースツリーを cvsup で更新するにはちょっとした工夫が必要。 cvsupd サーバの設定で

 # cd /local/cvsup/distrib/prefixes
 # ln -s /pub/NetBSD/cvsroot/basesrc        NetBSD-basesrc.cvs
 # ln -s /pub/NetBSD/cvsroot/cryptosrc-intl NetBSD-cryptosrc-intl.cvs
 # ln -s /pub/NetBSD/cvsroot/gnusrc         NetBSD-gnusrc.cvs
 # ln -s /pub/NetBSD/cvsroot/sharesrc       NetBSD-sharesrc.cvs
 # ln -s /pub/NetBSD/cvsroot/syssrc         NetBSD-syssrc.cvs

を行うと netbsd-cmp-* というコレクションが使えるようになる。このサーバに対して

*default host=cvsupd が走っているマシン名
*default base=/somwhere/you/want/to/put
*default prefix=/usr/src
*default release=cvs tag=.
*default delete use-rel-suffix preserve

netbsd-cmp-basesrc
netbsd-cmp-gnusrc
netbsd-cmp-sharesrc
netbsd-cmp-syssrc

という定義ファイルで cvsup を動かすと、 /usr/src 直下に NetBSD の ソースツリーが cvs checkout src したのと同じ状態で作成される。


*1:某誌に書いた原稿用のメモから。あの記事は予定していたページ数の関係で 大幅に書き直してある。
*2:NetBSD や OpenBSD の設定方法を jp.FreeBSD.org に置いてよいものかな?
*3:cvsupd は -l オプションで指定するログファイル以外に書き込む必要がない。
*4:CVSup を使っても良いだろう
*5:cvsup で入手するわけではないが :-)


2000/6/27(Tue)

今日の出来事

_ 三宅島

が噴火しそうとの報道。行政側の対応が非常に速く、もう自衛隊の艦船が沖合で 待機しているし物資の輸送も行われているとのこと。都知事 (災害時に自衛隊に 出動要請するのは知事) の対応が素早いということなんだろうな。

_ PS 版 TH

全員クリアした時に見られる CG が出てこないのでおかしいと思っていたら、 雅史エンドを見ていないことに気付いた。攻略方法が基本的に PC 版と同じなので 順調にクリアしてきたからなぁ (^_^;;。先輩をわざと振って全員終了。 CG も すべて 100% になった。

NetBSD

_ make build

して今日の -current に更新。妙にディスクが遅いなぁと思っていたら、 softdep が mount のオプションで指定するように変更されたのを忘れていた。 /etc/fstab を書き換え。

_ XFree86 4.0

を make World して NetBSD マシンの X を XFree86 4.0 ベースにする。 X サーバが 立ち上がらなくてちょっと悩んだが、 kernel config file の "options WSDISPLAY_COMPAT_*" をコメントアウトしていたのを元に戻して解決。

でも、 X を終了してコンソール画面に戻ったときの表示が変。新しく表示する分は ちゃんとしているのだが、 X 終了前からコンソールにあったはずの文字が全部 豆腐 (?) になる。何が原因なのかな。


2000/6/28(Wed)

NetBSD

_ 環境構築

昨日に引き続いて NetBSD マシンの環境構築。片手間でやってるからなかなか 進まない :-)。メールと Web の読み書きできる環境を作らねば。

_ pkgsrc

平行して、いつも使うプログラムを pkgsrc 化する。インストール手順を pkgsrc (FreeBSD だと ports) 化しておけばシステムを再インストールする羽目になった時に 再構築を半自動化できるので半ば習慣となっている。

そのうち汎用で使える Wnn6 ライブラリの pkgsrc は NetBSD に入れて欲しいと 考えて tech-pkg-ja ML で聞いてみる。 pkgsrc 化の作業手順は FreeBSD ports と ほぼ同じだから楽なんだけど、 NetBSD は複数バージョンの共存 *1の場合の処理がよくわからなかった。

メールの読み書きとエディタくらいは全部 pkgsrc で入れられるようにしたいと思う。 週末の BOF で何かぶちあげて見ようか :-)


*1:Wnn4 (FreeWnn) と Wnn6 ではへッダのファイル名が基本的に同じだが中身は異なる。 両方を共存させてインストールする必要があるのでちょっと面倒。


2000/6/29(Thu)

FreeBSD

_ mule 関係の packages

3.5-RELEASE に mule 関係の packages が入っていない件ですが、 packages 作成時にエラーがあって build に失敗した状態のまま リリースされてしまったのが理由のようです。

ports-currentでは既に修正されているのでこちらを使ってインストールするか、 3.4-RELEASE 用の packages を流用するかしていただければと思います。 3.5-RELEASE 用の packages を別の形で提供できないか、聞いてみます。


以上、8日分です。