2024年11月18日 | EOS R7ファームウエアアップデート |
2024年11月17日 | PX-M730Fのシアンインク交換 |
2024年11月4日 | 360度モニタ不調 |
2024年11月2日 | ノート給油 |
2024年10月19日 | 腕時計のファームウエア |
2024年10月5日 | RF-S 10-18mm F4.5-6.3 IS STM購入 |
2024年10月3日 | 三菱UFJニコスカード到着 |
2024年9月28日 | 三菱UFJニコスカード申込 |
2024年9月23日 | 第10世代iPad購入 |
2024年9月17日 | iPadOS 18 |
サーバーとして使っているFreeBSDにsambaを入れると、
にiij-pppのダイヤルアップが始まってしまう。 ログを見ると、外部のDNSを参照にいっているようだ。 一応ローカルでDNSサーバーは動かしているし、 そいつを参照しているはずなのだが?
ヤマハのFAQページを見たら原因がわかったような気がする。 ようするに、NetBIOSが名前解決にDNSを使うためということらしい。 lmhostsよりも先にWINSやブロードキャストを使うともある。 したがってlmhostsの記述に#PREを加えて、 NetBIOSの名前キャッシュにロードさせておけばいいようだ。
ニュースサーバーを立ち上げる。 使ったソフトはinn 2.1。手順としては、まず
tar zxvf inn-2.1.tar.gz cd inn-2.1 ./configure make su make install
でインストール。ついで
cd site vi inn.conf vi nnrp.asccess su make install-config
でサーバーの設定と、リーダーに対するアクセス許可を出す。
vi /etc/syslog.conf cd /usr/local/news/log/ touch news.crit news.err news.notice kill -HUP [syslog.id]
では、ログファイルの設定を行う。 あとはローカルのニュースグループを、
cd /usr/local/news/db vi active /usr/local/news/bin/makehistory -o
で作っておく。場合によっては
vi /etc/inetd.conf kill -HUP [inetd]
が必要かもしれない。起動は
/usr/local/news/bin/rc.news
で行い、
/usr/local/news/bin/ctlinnd mode telnet localhost nntp
などで動作を確認する。
ISPとニュースをやりとりするため、innを止めてleafnodeにする。 FreeBSD 2.2.7Rのportsに入っていたので、 これをそのまま使おうと思ったら何か変である。 どうも、Makefileの中でPREFIXを定義していないようだ。 そこだけ手を加えて、あとは問題なくインストール。
ドキュメントに従ってfetchを実行しようとしたら、 実は既存のコマンドとぶつかるようだ。 変更された名前を使って、fetch-news -vで確認する。 古いアーティクルを削除するためにtexpireを crontabあたりで実行する必要があるのだが、 購読しているグループが少ないのでとりあえず使わないで様子を見ることにする。
ISPとのやりとりを自動化するため、シェルスクリプトを作ってみた。
#!/bin/sh if ppp -background hiho then /sbin/ping -c 5 eric.nc.u-tokyo.ac.jp /usr/sbin/ntpdate eric.nc.u-tokyo.ac.jp /usr/local/sbin/fetch-news -v /usr/sbin/pppctl /var/run/internet quit all else echo cannot connect to Hi-Ho. fi
である。 IIJ-pppで接続した後、タイムサーバーで時刻を合わせる。 pingを打っているのは、念のためだ。 iij-pppでダイヤルアップ接続すると、 最初のパケットがいくつか行方不明になるのだ。 どこか設定を間違えているだろう。 ついでfetch-newsを実行。 で、pppの接続を切断する。 /var/run/internetに関しては、jman pppを参照した。
これを適当な名前で作成した後、 /etc/daily.localの中で実行すればいい。 はず。
とある経緯で、小学校の情報教育を手伝うことになった。 まあ、WindowsやATOKの操作を教えるくらいなのだが。
で、そこではケーブルモデムでインターネットに常時接続し、 教師用PCのWindows 98でproxyを動かしている。 児童側のPCからは、教師用PCを経由してWebにアクセスするわけだ。 これでも動いていはいるのだが、 Windows 98にサーバーとしての動作を要求するのは気持ち悪い。 それに、proxyプログラムはキャッシュが効かないようだ。
幸か不幸か、我が家にはFMV-466Dが1台、眠っていた。 そこでこいつにFreeBSDを入れ、 ゲートウェイにしたてあげてproxyサーバーにすることにした。 VLバスにBusLogicのSCSIホストアダプタと、 4年くらい前の3.5インチフルハイト2GB SCSI HDという組み合わせである。 グラフィックはCL-54xxだったような気がするが、 どうせ使わないので無視。 そのへんに落ちていた、NE2000コンパチのLANボードを2枚差す。 いちどMS-DOSをインストールして、 MS-DOSベースのユーティリティでI/OアドレスとIRQを設定。 どのFDがどのボードに付属していたのかわからなくなっているので、 かなり手間を喰うと予想していたのだが、 なんといずれも最初に試したもので正解。幸先よし。
さて、FreeBSD 3.4のインストールである。 このマシンにはCD-ROMドライブがないのだが、 FreeBSDはネットワーク越しにインストールできる。 日本の公開サーバーから、 直接インストールするなんてえのも簡単だ。 正確に測ってはいないが、 3時間もかからずにインストールは終わったような気がする。 こんなときは128kbpsといえども、 繋ぎっぱなしの専用線はありがたい。 おまけにDHCPをサポートしているので、 ほとんど設定らしい設定もいらない。 HDのパーティショニングで悩むくらいだ。 あ、もちろん、自宅のLAN内にはDHCPサーバーがいる。
あとは2枚目のLANボードを、 お決まりの192.168.1.0/255.255.255.0のアドレスに決め打ち。 kernelは必要最小限の機能にしたうえで再コンパイル。 いやーwdデバイスを使わないシステムというのは、久しぶりだ。 ありがたいことにこのPC、 キーボードを抜いておいても表示が出るだけでそのままブートする。 いったんネットワークにつなげてしまえば、 本体だけでディスプレイもキーボードもマウスも不要なのだ。 ついでsquidとdelgateをインストールすれば、 proxyサーバーのできあがりである。 自宅でのテストは、うまくいった。 あとは実際の現場で、 複数クライアントからのリクエストをきちんと処理できるかどうかだ。 あれ、IP Forwardingは止めたっけかなあ……。
Proxyサーバーを何日か運用してみた。 20台程度のクライアントが散発的にWebを見る程度なら問題ないようだ。 486DX2/66MHzのPCなのに、がんばっているなあ。
何日か運用していると、proxyサーバーが止る。 それだけではなく、外部からのアクセスも不能になる。 どうやら、 OSが動いたままの状態でDHCPによりIPアドレスが切り替わると、 そのままNICが止ってしまうようだ。だいたい30分おきに
Mar 20 17:31:59 xxxxxx dhclient: New Broadcast Address: 210.xxx.xxx.xxx Mar 20 17:31:59 xxxxxx dhclient: New Subnet Mask for ed0: 255.xxx.xxx.xxx
というメッセージが/var/log/messagesに残っている。 ただ、 これが必ずしもIPアドレスの切り替えを意味しているわけではなさそうだ。 1時間ごとにifconfig -aの結果をメールすると、ある程度は順にメールが届く。
もともとNICは家でほこりをかぶっていたNE2000互換の怪しい代物なので、 無理もない。 ifconfigでdownしてからupすると動くかどうか、なんてものである。 不本意ながら、毎日7:00にリブートすることで対処している。
ThinkPad 240に、PAOをインストールした。 最初はお約束通りPCカード関係が動かなかったが、 kernelがPAO用になっていなかったようだ。 原因は不明だが、FAQにあるくらいなので、よくあることなのだろう。 ちゃんとハイバネーションまで動作するのに驚いた。
小学校に設置したproxyサーバーだが、 NICを3C509に変えても同じ状況だった。 いくらなんでも毎朝リブートではなさけないので、 一度dhclientのプロセスを止めて再起動するように変更した。 ここのところ、 ISPから提供されるIPアドレスはほとんど変わらないこともあり、 安定した運用が可能になっている。