i486/DX4-100MHzをインタネットサーバに!

IBM Aptiva Vision with TurboLinux 2.0

on Jan.1,1999

mailto:takamura@itoh.net

Index

  1. i486/DX4-100MHzをインタネットサーバに!
  2. こんなマシンにTurboLinux載せました。
  3. 参考にさせてもらったURL
  4. まずはTurboLinux2.0のインストール
  5. NICの認識
  6. 何はともあれエディタの設定
  7. 余計なデーモンを殺す
  8. とりあえず余計なアクセスを拒否させる
  9. IP Alias
  10. ネームサーバ bindの設定
  11. 時刻合わせサーバ(NTPサーバ)のコンパイル・インストール
  12. メールサーバsendmailのインストール
  13. 2枚以上のNICをLinuxに認識させる方法
  14. Win95/Macで動くフリーXサーバ
  15. VNC関係
  16. その他

★★★i486/DX4-100MHzをインタネットサーバに!★★★


WinNTでは力が足りず余った機械となって余生を送っていたIBM PS/V Aptiva Vision(i486/DX4-100MHz以下アプティバ)にLinuxを載せてインタネットサーバにして第一線に復帰させるてみる事にしました。数年前はこのマシンにNT-Server3.5(3.51にあらず)を乗せてAppleShareServerをさせたり結構お役立ちマシンだったのだけども。。。今となっては・・・メモリも32MBだし。
以下はTurboLinuxのインストール・インタネットサーバ構築の記録を取ったものです。
(再現するのに必要だから。忘れちゃうし・・・)

ところでこんなマシンにサーバなんてさせて良いのでしょうか? ハードウェアは24時間営業をさせるには流石にちょっと心配だと思います。一応3年間ほど24時間連続運転をさせてきましたので実績は有るのですが、この先も大丈夫と言う保証は全然無いのですけど・・・。

ソフトウェアについてもフリーで固めてあり、これまた世間の人からは「タダのソフトで大丈夫? 保証はあるの?」と心配されがちです。そういう人は何にも分かっちゃいません。アプリケーションサーバならばともかくインタネットサーバとしてなら

「世間で動いているメールもDNSも殆ど100%近くのインタネットサーバで利用されているsendmailもbindもapacheもフリーウェアなんですよ! だいたい売り物のサーバソフトだって動作保証はするけど、損害補償は一切しないってパッケージにしっかり書いて有りますよ!」

と言い返してあげようと思っています。(ただそれがSunOSの上で動いてたりするんですけど・・・)

Indexに戻る

★★★こんなマシンにPC-UNIX載せてみました。★★★


まずアプティバのスペックチェック・・・HDDは標準で540MBしかありませんので手持ちの850MBに乗せ変え。メモリはそのまま32MBでいきます。NICはNE2000互換。VideoChipはCirrusLogicの何とかというイカニモ安そうなやつ。インタネットサーバとして使うのでXなんかはどうでも良いけど一応動けばいいなぁ。TurboLinuxなら自動認識するはず。まとめると、
============================
CPU:i486/DX4-100MHz
Memory:32MB
HDD:850MB IDE
NIC:NE2000互換
Video:CirrusLogic??
CD-ROM:IDE接続
============================
てな所。

Indexに戻る

★★★参考にさせて貰ったURL★★★


Linuxでインタネットサーバ構築
FreeBSDでインタネットサーバ構築
FreeBSDでOCNエコノミー接続
UNIX関連リンク(MI/X関係もここから手繰れます)
FreeBSDお役立ちページ
りぬくす入門

Indexに戻る

★★★まずはTurboLinux2.0のインストール★★★


TurboLinux付属のブートFDで起動後、付属CDを自動認識。つつがなくインストールが済みリブート。。。と思ったら古いマシンであるためブートブロックが1024シリンダに収まっていないとBIOSが文句を言いLILOのLIで止まってしまいました。早速インストール失敗。 しようがないので
/dev/hda1:DOS領域
/dev/hda2:LinuxPrimary
/dev/hda3:LinuxSwap
とパーテーションを切り直して再度インストールを試みました。

まずIBM/PC-DOSを/dev/hda1にインストール。5MBくらいDOSに呉れてやるためにDOS領域としてからsys c:。一応dosでbootするようにfdisk /mbrもかけておきます。 次にTurboLinuxの起動FDとCD-ROMをセットしてリセット。TurboLinuxインストーラからFDISKして先ほど決めたようにパーテーションを切ります。インストールを進めていきliloのインストールのステージまできたら/dev/hda1を指定する。。。。これで上手くいきました。

Indexに戻る

★★★起動したらNICの認識★★★


TurboLinuxをインストールする最中にNICの設定をしても良かったのですが、PnPを殺すのをすっかり忘れ、ひと通りインストールが終わってからNICの設定をすることになりました。
最近のNE2000互換NICはWin95/NT用にPnPがデフォルトになっていますのでまずこれを殺します。付属の設定FDでDOSからPnPを殺し手動でIOとIRQを決めておきます。io=0x300,irq=10と言ったところでしょうか。インタネットサーバから音が出てもちっとも嬉しくありませんので選択の余地は沢山あるでしょう。

インストール時に決めたrootのpasswordでxdmからログインします。AfterStepの上にsystem configurationがありますので、そこからNICの認識をさせます。カーネルをリビルトすること無くLoadableModuleで動的に認識させられます。

NICの設定が終わったら念のためshutdown -r nowでリブートします。パラパラとイロイロ画面に出てきますが、そのときにNICを認識しているかどうか見てみます。もっとも後で/var/log/messagesを確認してもよし、自分宛にpingを打っても動作チェックができますが。

Indexに戻る

★★★何はともあれエディタの設定★★★


インストールしたばかりのマシンはX-Windowも既に動いていてXの上でも全ての設定は出来るのですが、やはり基本はコンソール。telnetを使ってリモートログインで全ての設定をやります。
そのためには使い勝手の良いエディタは必須。viでも良いのですが、ちょっと私には高度です。hi そんな訳で、既にパッケージがインストールされているMuleを使うことにしました。
ホームの.emacsを編集して使いやすいようにしておきます。簡単ですがこんな風にしておきました。
------------------------------------------------
(setq inhibit-startup-message t)
(global-set-key "\C-h" 'delete-backward-char)
(load-library "canna")
(canna)
------------------------------------------------


Indexに戻る

★★★余計なデーモンを殺す★★★


これもAfterStepから設定できます。使わないデーモンをDisableにします。これだけ。余計なサービスは起動時間は掛かるは動作は遅いは、セキュリティの穴には気を付けなければならないわでロクなことはありません。インタネットサーバとして使うのでtelnetd,ftpd,named,httpd,sendmail,pop3dが動いていればまず良しとします。勿論/etc/inetd.confを編集しても良しです。

Indexに戻る

★★★とりあえず余計なアクセスを拒否させる★★★


TurboLinuxは初めからTCP_Wrapperが動いていますので先程の/etc/inetd.confを見て有効に設定したデーモンの列の最後に書いてあるデーモン名をチェックしておきます。telnetならin.telnetd等と書いてあるはず。そこで/etc/hosts.allowと/etc/hosts.denyを編集します。

/etc/hosts.deny
---------------
ALL: ALL
---------------
と基本的には接続をすべて拒否するようにしておいて
/etc/hosts.allow
-----------------------------------------------------------------------
in.telnetd: 172.16.1.0/255.255.255.0 , 172.16.2.0・255.255.255.0 , .jp
in.ftpd: 172.16.1.0/255.255.255.0 , 172.16.2.0・255.255.255.0
-----------------------------------------------------------------------
等とデーモンごとに接続を許す範囲を書いておきます。
この時、hosts.denyに
---------------------------------------------------------------------------
ALL: ALL: spawn (/usr/sbin/safe_finger -l @%h | /bin/mail -s %d-%h root) &
---------------------------------------------------------------------------
と書いておけば許可していないipから接続要求があればそのアドレスを(逆引きにかかればFQDNもろとも)root宛にメールで知らせてくれます。〜BOOBY TRAPSを仕掛けると言うそうです。〜 結構comドメインから接続要求がきます。概ね不正アクセスでしょう。(俗に言うport scan掛けまくり)せめてこれ位のセキュリティ確保はしておかないとこのマシンを足がかりに侵入されて自ドメインだけで無く他のサイトにも被害が及ぶ可能性は否めません。楽しく暮らす為には必要な処置です。
(注意:in.fingerdに対してだけはBOOBY TRAPSをしかけてはいけない。in.fingerdに BOOBY TRAPSをしかけているホストからアクセスがあった場合に、fingerのピンポンが始まってしまい、セキュリティホールになります。詳しくは
こちらを参照の事。)

  参考URL:
TCP_Wrapperについて1
TCP_Wrapperについて2
Linuxのセキュリティについて

Indexに戻る

★★★IP Alias★★★


一台のマシンの一枚のNICに複数のIPアドレスを振ることができます。今回は3つのドメインのDNSをさせようと言う作戦に出ますので、/etc/rc.d/rc.localに以下のフレーズを付け加えます。この場合は192.168.0.10がeth0になり他のアドレスをeth0:0 eth0:1 とエイリアス指定します。ipconfigでIPアドレスを振り、route addでスタティックルーティングを指定します。route addをやっておかないと意味無しになりますのでご注意。
-----------------------------------------
ifconfig eth0:0 192.168.0.11
route add -host 192.168.0.11 dev eth0:0
ifconfig eth0:1 192.168.0.12
route add -host 192.168.0.12 dev eth0:1
-----------------------------------------
これでping 192.168.0.10 とやってもping 192.168.0.11とやってもはたまたping 192.168.0.12とやってもちゃんと返答してくれます。
参考URL:
http://jf.linux.or.jp/JF/JF-ftp/euc/Virtual-wu-ftpd.euc http://jf.linux.or.jp/JF/JF-ftp/euc/IP-Alias.euc http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/sjs/Virtual-Services-HOWTO.sjs http://www.fuka.info.waseda.ac.jp/WWW/Server/httpd/multihome.html

Indexに戻る

★★★ネームサーバ bindの設定★★★


次はネームサーバです。TurboLinuxでは初めからbind4.9.5(4.9.6)がインストールされており、リブートしただけで既にnamedが動いています。
-----------------------------
/etc/named.boot
/etc/resolv.conf
/var/named/domain1.co.jp
/var/named/domain2.net
/var/named/domain3.net
/var/named/localhost.rev
-----------------------------
のファイルを編集してリブートするか、
-----------------------------------
# /usr/sbin/named.restart
-----------------------------------
をします。
/var/named/以下のファイルは
/etc/named.bootに
-----------------------
directory /var/named
-----------------------
と書いてあるからなので何処にあっても構いません。
これらのファイルを変更した時にはserial numberを1999010101のように記述することを忘れないようにします。/var/log/messagesを起動後確認して設定ファイルをちゃんと読み込んでいることを確認します。動作チェックはnslookupです。正引き・逆引きが上手くできる事を確認します。

が・・・
-----------------------------------------------------------------------------
# nslookup
*** Can't find server name for address 210.***.***.***: No response from server
*** Default servers are not available
-----------------------------------------------------------------------------
なんてのが出るじゃぁないですか。
これは自分自身(localhost)で動いているnamedを見に行くときは、
---------------------
/etc/resolv.conf
---------------------
に記述してある
--------------------------------
nameserver 自分自身のIPアドレス
--------------------------------

--------------------------------
nameserver 127.0.0.1
--------------------------------
と指定するか、又はnameserverを指定しないのどちらかにするのが正しいとのこと。
これで旨く正引きも逆引きもできるようになりました。

参考URL:
NTT OCNのページ

Indexに戻る

★★★時刻合わせサーバ(NTPサーバ)のコンパイル・インストール★★★


AT互換機の内蔵時計は結構な勢いで狂います。時刻が狂っているサーバにメールの配送をお願いすると未来からのメールが先方に届くことになり相当カッコ悪いです。xntpdと言うタイムサーバをインストールします。

xntp3-5.92-export.tar.gz が世間のあちこちのanonymous ftpサイトにあるので取ってきます。

次に
/usr/src/等にgetしてきてから、おもむろに
--------------------------------------
% tar zxvf xntpd3-5.92-export.tar.gz
--------------------------------------
を実行させてから、
configure を走らせます。
---------------------------
% cd xntpd3-5.92-export
% ./configure
---------------------------
以下のようにコンパイル、インストールして
---------------------
% make
% su
# make install
---------------------

設定ファイル /etc/ntp.conf を作成します。serverは
http://www.fukuoka-u.ac.jp/NTP/clock.html でも見て適当なのを選んで記述しておきます。ちなみにこのサイトでは
-----------------------------------
server clock.nc.fukuoka-u.ac.jp
driftfile /etc/ntp.drift
-----------------------------------
と記述してあります。福岡大学さんありがとう!

いよいよ実行してみます。
# xntpd


ntpq コマンドで動作確認します。
-------------------------------------------------------------------------------
# /usr/local/bin/ntpq -p
remote refid st t when poll reach delay offset disp
==============================================================================
*clock.nc.fukuok .GPS. 1 u 27 64 377 113.37 -31.758 12.73
-------------------------------------------------------------------------------
てな事がコンソールに出てくれば成功。行頭にアスタリスク(*)が表示されていれば指定したNTPサーバと同期(シンクロ)されていると言うことです。xntpdを動かしてすぐの状態では同期がとれません。時間がかかるようです。(数10分?) 焦らずに待ちます。TurboLinux(たぶんRedHatも)では /var/log/messages にログが残っています。xntpdがどういう事をやっているかを見てみましょう。

それから電話を使って時刻の確認をしましょう。117です。(日本の常識)

xntpd がちゃんと動けば ps -aux とでもして現在動いているxntpdのプロセスを殺して /etc/rc.d/rc.local に以下のように記述します。
-------------------------------------------------------------------
#
# Start NTP service - Network Time Protocol
#
if [ -f /usr/local/bin/xntpd ]; then
(echo 'Starting NTP service') >/dev/console
/usr/local/bin/xntpd >/dev/console
else
(echo ' xntpd not found') >/dev/console
fi
-------------------------------------------------------------------
リブートしてもちゃんとxntpdのプロセスが動いているか ps -auxで確認します。これで自サイトのNTPサーバとして立派にデビューできました。Win95クライアントも桜時計のタイムサーバに指定してあげましょう。


Indexに戻る

★★★メールサーバsendmailのインストール★★★


TurboLinuxだけでなくLinuxやFreeBSDのディストリビューションの殆どはインストールが済んでリブートするだけでsendmailが動いている筈ですが、セキュリティホールになりやすいsendmailの事、常に新しいヴァージョンを使いたいものです。最新のsendmailとCFを取り寄せてコンパイル&インストールします。

参考URL: sendmail全般〜
http://jf.linux.or.jp/JF/JF-ftp/euc/Mail-HOWTO.euc
http://www.tk.airnet.ne.jp/~papanda/d_19980714.html
http://www.kitanet.co.jp/~nidate/v2.0.html
http://www.kimura.shinjuku.tokyo.jp/server/iij-draft-ando-sendmail-03.html
http://w1.alphasystem.co.jp/~hoshino/lj_vol6/ala/ala.html
http://rdp.dpri.kyoto-u.ac.jp/~ichikawa/illegal-relay/build-sendmail.cf.html
リストサーバfml〜
http://www.sapporo.iij.ad.jp/staff/fukachan/href/fml/INSTALL/

◎TurboLinuxならではのsendmail(CF)の設定変更点
TurboLinuxのローカル配送は /usr/bin/procmailだそうなので、
/usr/local/src/CF-3.7W/Master/OSTYPE/linuxの内容を
---------------------------------------------
: ${LOCAL_MAILER_PATH='/usr/bin/procmail'}
---------------------------------------------
と書き換えないといけません。

◎CF
CFのサンプル(sendmail-v8.defなど)は沢山の設定がコメントアウトされた形で書かれており何がなんだかワケワカ状態。取りあえず使う分には(今のところ)不要なことが多いので以下の様に取りあえず書きました。
--------------------------------------------------------------------------
##sendmail.def
CF_TYPE=R8V8
OS_TYPE=linux
MX_SENDMAIL=yes
MY_DOMAIN='mydomain.net'
MY_NAME=hoge
OFFICIAL_NAME='hoge.mydomain.net'
FROM_ADDRESS='hoge.mydomain.net'
#■以下を指定しておかないとCNAMEで指定された別名では受けてくれない。
ACCEPT_ADDRS='hoge1.mydomain.net hoge2.mydomain.net hoge3.mydomain.net'
RECIPIENT_GENERIC=yes
DIRECT_DELIVER_DOMAINS=all
SMTP_MAILER_FLAG_ADD=' g'
USE_ERRORS_TO='True'
#■簡単なSPAM対策
MAIL_RELAY_RESTRICTION=yes
#■IPアドレスでSMTPリレーを許すネットワークが記述されたファイルを指定。
LOCAL_HOST_IPADDR=/etc/sendmail.localip
#■ドメイン名でSMTPリレーを許すネットワークが記述されたファイルを指定。
LOCAL_HOST_DOMAIN=/etc/sendmail.localdomain
#■このsendmail.localdomainとsendmail.localipを指定していないと
#■ISPから投げたメールが拒否される。
--------------------------------------------------------------------------
sendmail.localdomainとsendmail.localipは以下のように記述。
--------------------------------
# /etc/sendmail.localdomain
myisp.ne.jp
mydomain.net
--------------------------------
--------------------------------
# /etc/sendmail.localip
172.16.
--------------------------------

◎sendmailが何をやってたか・・・ログの在処
/var/log/maillogがログファイルです。いつ誰がどうしたのかが一目りょうぜん。旨く動かない時はそこにヒントがあるはずです。

◎転送の方法〜.forwardの使い方
http://gipwm.shinshu-u.ac.jp/soujou/mail-info/mail.html#3-19980310

◎8文字を越えるメールアカウントを使う方法
FreeBSDもLinuxもログインアカウントは8文字までのようです。メールのアカウントを9文字以上にしたい時には

rootになって、/etc/aliases に
-------------------------------------
# Person who should get root's mail
root: takamura
kazunoritakamura: takamura
-------------------------------------
の様に記述すれば良いだけでした。ただこれはあくまでもメールアカウントだけのことでPOPで取り寄せるスプール先はログインアカウント名になります。(当然ログイン名も8文字以内と言う制限付き。)
/etc/aliasesを書き換えたら newaliasesと言うコマンドを実行しないと有効になりませんのでご注意を。


Indexに戻る

★★★2枚以上のNICをLinuxに認識させる方法★★★


http://www.kitanet.co.jp/~nidate/setup.html
LinuxをルータにしたりDeleGate動かしたりする場合に必要になります。


Indexに戻る

★★★Win95/Macで動くフリーXサーバ★★★


http://www.mii.kurume-u.ac.jp/kucc/manual/MIX/mix.html
MI/Xインストール時の注意
 1・Xクライアントにtelnetしログイン
 2・export DISPLAY=yourhostaddress:0.0 (bashの時)
 3・xterm &する。
 4・MI/Xを立ち上げる
 5・めでたしめでたし


Indexに戻る

★★★VNC関係★★★


WindowsのデスクトップがX WINDOW SYSTEM上で操作できちゃう。
http://www6.shizuokanet.or.jp/masayuki/vnc1.htm

Indexに戻る


★★★その他★★★


  1. Win98/NTでsambaに対してプレーンテキストを送る方法
  2. PostgreSQLのページ
高村のホームへ戻る
いとうのホームへ戻る
mailto:takamura@itoh.net