|
--南国市スーパーネット協議会オープンスクール 「Linuxが変えるネットワークの世界」 -- 2000年11月18日に行われた講演会のテキストです。 |
主 催: | 南国市スーパーネット協議会(NASUPER.NET) |
共 催: | 高知Linuxユーザ会(KLUG) 高知インターネットプロジェクト(KIP) 高知ネットワーク研究会(KOCHI-INET) |
日 時: | 2000年11月18日(土)14時00分〜17時00分 |
場 所: | 南国オフィスパーク・センター こうち2001プラン会議室 |
たかさきクリニック胃腸科内科・高知Linuxユーザー会 たかさきもとひろ
はじめに
なぜサーバを立ち上げるの?
なぜ今更OCNなの?
OCNエコノミーを契約する
------------------------------------------------------- OCNエコノミーお申込み(ご利用場所の変更)で、高崎元宏様 IPアドレスを連絡いたしますので、お客様への連絡をお願いいたします。 なお、IPアドレスはご連絡いたしますが、現在NTT収容局からお客様 設置場所までの設備の確認及びエコノミー提供可否について確認中 でございます。 (ホームページで提供エリア内でも提供不可の場合がございます。) 設備検討の結果次第ではエコノミー提供不可となる場合もございます ので、提供不可となった場合は別途ご連絡をさせていただきます。 【IPアドレス情報】 1.お客様名 :高崎元宏 2.お客様番号 :xxxxxxxxxxxxxxxxxxx 3.利用開始日 :2000年xx月xx日 (予定) 工 事 日 :設備検討及び稼働調整中 4.割当IPアドレス:111.222.333.48 〜 111.222.333.63 (16個) ネットワークアドレス: 111.222.333.48 サブネットマスク : 255.255.255.240 5.プライマリ:ns.kochi-med.net (111.222.333.50) 6.セカンダリ:ns-tk013.ocn.ad.jp (203.139.160.75) ---------------------------------------------------------------------------
ドメインを取ろう
PCはなにが良い?
「たかさきクリニック胃腸科内科」の初代サーバの威容。COMPAQの元々486DX2-66MHz機ですが、CPUはAm5x86に交換してあります。メモリは32Mbyte, HDDは6Gbyteです。 | 現用サーバ。Pentium II-233のDualでHDD8.5Gx2, メモリ128Mです。Redhat6.2Jを入れSoftoware RAID(RAID 1- mirroring)を動かしています。 |
PC以外に必要なものは?
---------------------------------------------------------
#!/bin/sh /bin/cat /proc/mdstat | /bin/mail takasaki@kochi-med.net
----------------------------------------------------------
これだけのファイルをviで作って、/etc/cron.dailyに入れ、実行権をつけておく
だけでした。
Redhat6.2の/etc/cron.dailyは、こんなになっていました。-rwxr-xr-x 1 root root 276 Mar 4 2000 0anacron
-rwxr-xr-x 1 root root 51 Feb 25 2000 logrotate
-rwxr-xr-x 1 root root 402 Mar 21 2000 makewhatis.cron
-rwxr-xr-x 1 root root 102 Feb 4 2000 slocate.cron
-rwxr-xr-x 1 root root 104 Feb 15 2000 tmpwatch
-rwxr-xr-x 1 root root 68 Oct 4 14:56 raid_report
これで毎日
Personalities : [raid1]
read_ahead 1024 sectors
md2 : active raid1 hdc1[1] hda1[0] 256896 blocks [2/2] [UU]
md0 : active raid1 hdc5[1] hda5[0] 15936 blocks [2/2] [UU]
md1 : active raid1 hdc6[1] hda6[0] 19767872 blocks [2/2] [UU]
unused devices:
というmailが届きます。
ルータはなにが良い?
OSはなにが良い?
ローカルでLinuxをインストールして、うまく動くかどうか確かめよう
グローバルDNSを立ち上げよう
うちのサーバのDNS設定例です。 PlamoLinuxで動いてる自宅サーバの設定をグローバルアドレスに変更しただけです。 もちろんこの書き方がベストというわけではないと思います。 bindの設定ファイルは、/etc/namedbにおいてありますが、Redhatの流儀なら/var/namedに置きます。 もちろんどこに置いても動作は同じです。 ------------------------------------------------------------------------ /etc/named.conf ------------------------------------------------------------------------ options { # DNS Boot File directory "/etc/namedb"; }; # Type Domain Control File zone "." { type hint; file "/etc/namedb/named.root"; }; zone "kochi-med.net" { type master; file "/etc/namedb/takasaki.hosts"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "/etc/namedb/localhost.rev"; }; zone "48.333.222.111.IN-ADDR.ARPA" { type master; file "/etc/namedb/takasaki.hosts.rev"; }; #おまけ:192.168.0.0/24なネット用DNS #bind8ではローカルなDNSも同時に動かすことができます。 zone "takasaki.com" { type master; file "/etc/namedb/localDNS/home.hosts"; allow-transfer { none; }; }; zone "0.168.192.IN-ADDR.ARPA" { type master; file "/etc/namedb/localDNS/home.hosts.rev"; allow-query { 192.168.0/24; }; allow-transfer { none; }; };------------------------------------------------------------------------ localhost.rev ------------------------------------------------------------------------ @ IN SOA ns.kochi-med.net. root.kochi-med.net. ( 2000100901 10800 3600 604800 86400 ) IN NS kochi-med.net. IN NS ns-tk013.ocn.ad.jp. 1 IN PTR localhost.
------------------------------------------------------------------------ takasaki.hosts ------------------------------------------------------------------------ @ IN SOA ns.kochi-med.net. root.kochi-med.net. ( 2000100901 10800 3600 604800 86400 ) IN NS ns.kochi-med.net. IN NS ns-tk013.ocn.ad.jp. localhost IN A 127.0.0.1 ;hosts in this zone gw IN A 111.222.333.49 ns IN A 111.222.333.50 genki IN A 111.222.333.51 hello IN A 111.222.333.52 ; @ IN MX 10 ns.kochi-med.net. kochi-med.net. IN A 111.222.333.50 www IN CNAME ns.kochi-med.net. ftp IN CNAME ns.kochi-med.net. mail IN CNAME ns.kochi-med.net.------------------------------------------------------------------------ takasaki.hosts.rev ------------------------------------------------------------------------ @ IN SOA ns.kochi-med.net. root.kochi-med.net. ( 2000100901 10800 3600 604800 86400 ) IN NS ns.kochi-med.net. IN NS ns-tk013.ocn.ad.jp. IN A 255.255.255.240 ;hosts in this zone 49 IN PTR gw.kochi-med.net. 50 IN PTR ns.kochi-med.net. 51 IN PTR genki.kochi-med.net. 52 IN PTR hello.kochi-med.net.
------------------------------------------------------------------------ /etc/namedb/named.root ------------------------------------------------------------------------ ; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache ." ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Aug 22, 1997 ; related version of root zone: 1997082200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET --------------------中略------------------------ ; End of File ------------------------------------------------------------------------
DNSを立ち上げたら、指示にしたがってメールを送ります。 うまくいっていれば、DNS情報がOCNの上位DNSに転送されます。 そうすると、以下のようなメールが届きます。 ------------------------------------------------------------------------ 高崎元宏様 OCN DNS担当の藤井と申します。 ご連絡ありがとうございます。 お客様のDNSより弊社セカンダリDNSへのゾーン転送の 正常性を確認させて頂ました。 セカンダリDNSへのゾーン転送は正常に行われております。 ありがとうこざいました。 今後とも宜しくお願い致します。 At 22:58 00/08/16 +0900, Motohiro Takasaki wrote: > 1)ドメイン名 > kochi-med.net > 2)お客様番号 > Nxxxxxxxx > 3)お客様名 > 高崎元宏 > 4)サービス品目 > OCNエコノミー > 5)セカンダリDNSの申込の有無 > 有 > 6)DNSサーバのマシン種別 > Linux (Redhat6.2J) > 7)DNSソフトウェア > bind 8.2.2-P5 > 8)メールアドレス > 電話088-xxxx-xxxxx > mo_taka@mxb.mesh.ne.jp > 9)DNS立ち上げ日 > 2000年8月16日 > 10)DNSサーバのホスト名 > ns.kochi-med.net 211.6.251.50 > 11)その他 > 210.161.97.162からの移転です。 > -- > ------------------------------------- > 高崎元宏(たかさきクリニック胃腸科内科) > mo_taka@mxb.mesh.ne.jp > ------------------------------------- ------------------------------------------ NTTコミュニケーションズ株式会社 金沢OCNサービスセンタ DNS担当 E-mail : dns-desk@ocn.ad.jp URL : http://www.ocn.ad.jp/setup/dns/index.html ------------------------------------------------------------------------
Mailサーバ(qmail)を立ち上げよう
qmail-tcpserverのインストールメモ(Linux) ---------------------------------------------------------- ユーザの追加 ---------------------------------------------------------- $ groupadd nofiles $ useradd -g nofiles -d /var/qmail/alias alias $ useradd -g nofiles -d /var/qmail qmaild $ useradd -g nofiles -d /var/qmail qmaill $ useradd -g nofiles -d /var/qmail qmailp $ groupadd qmail $ useradd -g qmail -d /var/qmail qmailq $ useradd -g qmail -d /var/qmail qmailr $ useradd -g qmail -d /var/qmail qmails ---------------------------------------------------------- qmailのコンパイル ---------------------------------------------------------- $tar xvzf qmail-1.03.tar.gz $make setup check DNSが動いていれば $ ./config 動いてなければ明示的に指定。 $./config ns.kochi-med.net ---------------------------------------------------------- aliasの登録 ---------------------------------------------------------- $ touch ~alias/.qmail-postmaster $ touch ~alias/.qmail-mailer-daemon $ touch ~alias/.qmail-root $ touch ~alias/.qmail-default $ chmod 644 ~alias/.qmail* ---------------------------------------------------------- rcファイルのコピー ---------------------------------------------------------- $ cp /var/qmail/boot/home /var/qmail/rc ---------------------------------------------------------- tcpserverの導入 ---------------------------------------------------------- $ tar xvzf ucspi-tcp-0.87.tar.gz $ make setup check ---------------------------------------------------------- checkpasswordのインストール ---------------------------------------------------------- $ tar xvzf checkpassword-0.81.tar.gz $ make setup check ---------------------------------------------------------- tcpserverの制限 ---------------------------------------------------------- qmailはtcpserverの使用を推奨しています。 /etc/inted.confのsmtp, pop関係はコメントアウトしましょう。 以下の2行に/etc/tcp.smtpとして保存 192.168.0.:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT="" (この設定では192.168.0.0/24とローカル以外からのメールはrejectされる。) (以上の設定にスペースが入ると無視されるので注意。) $ /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp でtcpserverの制御ファイル/etc/tcp.smtp.cdbを作ります。 ---------------------------------------------------------- tcpserverから起動(inetdは使いません) ---------------------------------------------------------- $ /usr/local/bin/tcpserver -x /etc/tcp.smtp.cdb -v -u 'qmaildのUID' -g 'nofilesのGID' 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & $ /usr/local/bin/tcpserver 0 pop3 /var/qmail/bin/qmail-popup ns.kochi-med.net /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & ---------------------------------------------------------- qmailの起動(/etc/rc.d/rc.localあたりに書き込む) ---------------------------------------------------------- $ if [ -x /var/qmail/rc ]; then $ /var/qmail/rc & $ fi ---------------------------------------------------------- Maildirの作成 --ダサァ-- (どっかに気の利いたスクリプトがあったような気がします。) ---------------------------------------------------------- #!/bin/sh # # make new user for qmail # #えらーちぇっくはしてへんぞ # # M. Takasaki 2000.3.11 # #user name ここをえでぃっと qmail_user="anatano_onamae" #group qmail_group="users" # /var/qmail/bin/maildirmake /home/$qmail_user/Maildir chown -R $qmail_user /home/$qmail_user/Maildir chgrp -R $qmail_group /home/$qmail_user/Maildir echo "./Maildir/" >/home/$qmail_user/.qmail chown $qmail_user /home/$qmail_user/.qmail chgrp $qmail_group /home/$qmail_user/.qmail # unset $qmail_user $qmail_group ----------------------------------------------------------PlamoLinuxのuseraddスクリプトにqmail用のメールフォルダなどを設定するスクリプトを追加した例
どんなネットワーク構成にするか
一番簡単に、クライアント全部にグローバアドレスを振る方法やNATでローカルアドレスを振る方法もありますが、セキュリティを守ってくれるのはルータだけになってしまうのでちょっとイヤな気がします。
最近のYAMAHAのルータのパケットフィルタリングは結構細かく設定できるので、実際にはまずまずのセキュリティが保たれます。
- [図-1] サーバ・クライアントにそれぞれグローバルアドレスを振る方法。
- ルータにすべてのセキュリティをお任せしたい人向け。
- [図-2] サーバ・クライアントにそれぞれプライベートアドレスを振る方法。
- 同じくルータにすべてのセキュリティをお任せしたい人向け。
PC一台ですべてをまかなう方法もあります。この方法だと、サーバがDNS, Mail サーバ, Proxy, IPマスカレードなど、すべての仕事をします。 もっとも単純な形はこうなります。
- [図-3]Web サーバ, DNS サーバ, Mail サーバ, Proxy サーバが全部一台の機械で動きます。[図-1][図-2]よりは良いと思われます。
- ファイアーウォール・プロキシを独立させる。
- イントラネット側からはIPマスカレードを用いて111.222.333.51から外に出ていきます。
- httpについてはプロキシ経由でアクセスします。
- 簡易的にはプロキシの代わりに古いPCを流用したone floppy routerを入れても良いかもしれません。
- FloppyFw(Linuxで動く、ファイアーウォール機能を持ったスタティックルータ)
- 1 FD router (PlamoLinuxのインストールディスクを改造したルータ:第3回高知Linuxユーザ会(1999.12.11) で報告 )
電子内視鏡を含めた「たかさきクリニック胃腸科内科」のネットワーク構成
*一部は企業秘密です(ウソ)
たかさきクリニックのデジタルファイリングシステムの仕組み
- 電子内視鏡システムからの出力を内視鏡に取り付けたキャプチャー専用PC(DOS:RAM上で稼働)で取り込む。
- それをWindows NT4.0SP6 workstaionに転送する。
- データの属性はMicrosoft Accessで管理する。
- NT workstaionからLinux サーバに転送する(samba)
- Linux サーバ上のApacheでイントラネット側に公開する
以上の操作がリアルタイムで行われます。
内視鏡のラックに設置されたキャプチャ用のDOS端末。突然、電源が落ちても大丈夫なようにRAM diskで走っている。 DOS端末の背面。内視鏡のアナログRGBに接続している。 各部屋の天井あるいは壁には100BASE-Tのコンセントが設置されている。 サーバ室の壁面に埋め込まれたアライドテレシス24port 100/10BASE-T HUB(CentreCOM FS724XJ)。 サーバ、ルータ、UPS。左のPCはFreeBSD4.1で動いてるhttp server(Pentium75, 32M, HDD 500M)、真ん中後ろはUPSRREQUPS-F(FW-F10-0.5K)。前の黒い四角い箱がルータ(YAMAHA RT-50i )。右側が外向けのhttp server(Pentium II 233 dual, 128M, HDD8.5G software RAID1)。 内向けのhttp server・file serve(Celeron366 dual, 128M, HDD 20G software RAID1)。後ろに見えるのがproxy・firewall。
おわりに