図 14 Samba 言聢ファイルのテスト # /usr/local/samba/bin/testparam Load smb config files from /usr/local/samba/lib/smb. conf Processing section " [printers] Processing section " [homes] Loaded services file OK . Press enter tO see dump Of your service definitions そのために、、、 [printers]" セクションのコメントを外 して必な設定を記述する。以下の設定では、 Samba カ叩」用するスプール・ディレクトリとして /var/spool/ samba を指定しているため、このディレクトリを忘れ すに作成しておく。 [printers] comment = A11 Printers in /etc/printcap path = /var/spool/samba browseable Ⅱ 0 writable printable = yes ・ホーム・ディレクトリの共有ク旨定 Samba サーノヾーか家動している UNIX システムのホ ーム・ディレクトリを、 Windows システム側からア クセス可能にするかどうかを指定する。以下のように [homes]" セクションのコメントを外して、設定を有 効にする。 [home s] C omment browseable writable Home yes Directories 以 E で、基本的な設定は終りである。 テスト smb. conf の設定か終ったら、正しく設定できたかどう かを石忍しておこう。 Samba パッケージには、疋の適 否を調べる testparam プログラムが含まれている。図 14 に実御列を示す。 テーモンの起動 smb. conf か正しく設定できてい川ま、あとは、 Samba のサーピスを提供するデーモン・プログラムを起動するだ けである。これは、次のようにして起動する。 # /usr/local/samba/bin/smbd —D # /usr/local/samba/bin/nmbd —D UNIX MAGAZINE 2001.6 システムの起動ファイル (/etc/rc*) でも、同様の設定 をおこなう。これは、デーモンを起動するためのちょっと したシェル・スクリプトを /etc/rc. d に用意するといっ たかたちで対応すればよいだろう。 トラブル・シューティング smbd が正常に起動できない場合の原因としてもっとも 多いのは、システムに成疋された hostname と DNS で 設定された IP アドレスが正しく関係づけられていないこ とである。とくに、 IP アドレスを重加勺に設定しているシ ステムなどではトラブルが発生しやすい。このようなとき は、 nslookup コマンドを実行し、自分の IP アドレスに 登録されているホスト名、または /etc/hosts に言当され ているホスト名と、カーネルに成疋されている hostname の値が一致しているかを石忍しよう。これらが異なってい る場合には、 IP アドレスを青籟勺に設定する必要がある。 今回は、新たな環境で UNIX システムを使い始めると きにどうしても知っておいてはしい基礎中の基礎として、 IP アドレス / ューサー・アカウント / メール環境 / プリン タに関する設定、そして、 Windows システムとのあいだ でプリンタやファイルを共有するための Samba サーバー の正について説明した。 これらは、とりあえすシステムを使えるようにするため の氏限の設定にすぎない。これ以外にも、ネットワーク 環境でアカウント共有を実現する NIS 、ほかのホストと ファイルシステムを共有するための NFS 、 sendmail に代 表される電子メール酉当医システム (MTA : MaiI Transfer Agent) など、基礎知識として身につけておいてはしい事 柄はたくさんある。これらのシステムの利用ガ去について は、第 2 シリーズて解説する予定である。 今回の説明では、たんに設定方法を学ぶだけでなく、 今回のまとめ 47
ングアル・コンノーイ / 図 6 /etc/remote の言聢 # Hardwired line cuaaOb ー cuaOb : dv=/dev/cuaaO : br # 2400 : pa¯ cuaaOc ー cuaOc : dv=/dev/cuaaO : br # 9600 : pa= —none : cuac07 : dv=/dev/cuac07 : br # 9600. cuac06 : dv=/dev/cuac06 : br # 9600 cuac05 : dv=/dev/cuac05 : br # 9600 : cuac04 : dv=/dev/cuac04 : br # 9600 : cuac03 : dv=/dev/cuac03 : b て # 9600 : cuac02 : dv=/dev/cuac02 : b て # 9600 : cuacOI : dv=/dev/cuacOI : br # 9600 : cuac00 : dv=/dev/cuacOO : br # 9600 ・ pa=none : : pa=none : pa=none : pa=none : pa=none : pa=none : pa=none : : pa=none : 164 にシリアルポート cuaa0b や cuaa0c の成疋があるので、 のように 8 個ぶんを登録します。ファイルの最後のほう いる CycIom-Y のモジュールが 8 ホートなので、図 6 ます。この設定は /etc/remote でおこないます。使って ます。 tip を使うためには、シリアルポートに名前を付け ポートで接続するためのコマンドとして標準で tip が使え ソール / 材妾続してみます。 FreeBSD などでは、シリアル Y のシリアルポートから、他のホストのシリアル・コン で getty か起動しないようにします。そして、 Cyclom- うに設正をもとに戻して、 Cyclom-Y のシリアルホート 動作していることが分かったら、 Linux のときと同しよ tip を使う バイスを認識しているかを石忍してください。 プトが表示されないようなら、カーネルが cy0 というデ 続してみます。シリアル端末側にうまく口グイン・プロン getty が ttyc00 で起動していることを確かめ、実際に接 変更を有効にするために、、 kill -HUP 1 " を実行し、 OII ttycOO "/usr/libexec/getty std. 9600 " Vt100 は、 /etc/ttys に次のような設定を追加します。 ュールの 1 番目のポート ttyc00 を使って接続する場合に 端末を接続して、一朝グインできることを確かめます。モジ く増設したシリアルポートで getty を起動し、シリアル 次に、シリアル接続のテストをおこないます。ます新し ぶんのテパイスファイルを作成するようになります。 7 までにすれば 8 ポートぶん、 f までにすれは 16 ポート よっに、 cuac と ttyc のそれぞれで v まであるところを なテパイスファイルだけを作成するようにします。図 5 の れば、それらを消すか、 MAKEDEV を書き換えて必要 . その後らに記述すれはよいでしよう。 cuac00 以降か新しく付け加えたエントリです。初め の : ( コロン ) までカ銘前で、一 ( 縦棒 ) で区切って 複数の名前を付けられます。 dv はシリアルポートのデバ イスファイルの指定、 br # 9600 、 pa=none はそれぞれ 通信速度が 9 , 600bps 、パリティなしを愈未しています。 tip コマンドを実行するには、引数にこの名前を指定し ます。 cuac()() の先に BSD/OS カ甘妾続されているときに tip て接続すると、以下のようにログイン・プロンプトが 出てくるでしよう。 # tip cuac00 connected BSDI BSD/OS 3 . 1 (bsdosl . um. xx ・ (p) (console) login: ノート 2 tip から抜けるには、 にピリオド ) を入力します。 ~ Ctrl-d" か ' ( チルダの後ろ Linux で C-Kermit を利用してシリアル・コンソーノレ にアクセスする場合、ポート番号を指定します (tip だと 自由な名前を付けられます ) 。となると、つながっている PC UNIX サーバーとホート番号の対応を憶えておかなく てはなりません。しかも、 Cyclom-Y は 1 枚の PCI カー ドに対して最大 32 ポートまでもっことがあるので、対応 づけを憶えるのはちょっと大変です ( 32 台もサーバーが あるとそもそも大変という話はおいておきましよう ) 。 「 CycIom ー Y のシリアルホート・モジュールのところに ラベル貼ったら ? 」 1 つの解決策ですが、わざわざサーバーのところに行か なくても管理できるのか利点なのに、これではちょっと不 便です。そこで、 Cyclom-Y を組み込んだホストのログ イン・プロンプトでユーサー名の代わりにホスト名を入れ ると、目的のホストにつながるようにしてみました。 bsdosl や linux5 などはシリアル接続されているホス トの名前で、それぞれ /dev/ttyC0 、 /dev/ttyC1 などの シリアルテンヾイスとつながっているとします。ホスト名と 同しューザーを作り、ポート番号とホストを対づけるよ フと應いや第くしよラ UNIX MAGAZINE 2001.6
HPS•TeraSiteNA High Performance NAS の Network Attached Storage 新標準 納得の 1 , 400 万円 (3・5TB-RA旧5 + SpearDisk + DuaI AIpha) 64 bitLinux で構成 ( 64 bit A 軸 a / 21264 + 64bit/Linux) 簡単接続 (NFS Version 3 , Samba を搭載 ) 1000 BASE x 4p 猷 ( 1000 BASE-T を 4 ボートまで増設可 ) S0ftware-RAID5 は高速 S0ftware-RAID 5 の完成度は高い C 言語を用いて作成した、 30 GB のエータのディスクへの書き込み (Memory 動作中に電源を突然落とすケープレを抜く、ディスクを抜く、ホストを to HDD) テストプログラムと、読み出し (HDD to Memory) テストプログラム 間違って SCSI ケープレを接続する、 RAlD5 で書き込まれた後にディスク ID を用い、実機でデータ転送速度を測定。 を入れ替え再起動する、障害を持つディスクを予備ディスクとしておく など、考えられる限りの障害テストを行い software raid 1 s の完成度を 実行速度 PCI ボート数Ⅳ田 F 数 73GB HDD 数日用 D Read 確認してみました。しかし、全てのケースで読み書きを再開することが (MB/sec) できたのには正直驚きました弊社はこれまでは、「 RAlD5 とは冗談ディス 42 10 5 ク」と翻訳しておりましたので、これは目から鱗が落ちた思いでした。 33 10 0 + 1 0 68 10 5 0 ホスト 1 台で IOTB の容量を NAS で実現させる最新の 181.6GB ディスク S0ftware-RAID5 の定義は時、フォーマットも高速 ドライブを選択できます。 テストでは、 73GB HDD を 10 個つなげてのテストを行いました。この 10 個 の 73GB ディスク ( 730 (B) の raid ボリューム設定は瞬時に終わり、すぐに 120mm 3 連ファンで強制冷却 読書きを開始することができました。もちろん全体をフォーマット HPS-NAS で使用しているディス する作業は裏で行われており、 730GB の全領域が物理的に raid 5 で ク装置モジュールは、 Gaussian98 フォーマットされるまで 6 時間程度を要していました。しかし、ユーザが などで数年間の連続・高速・大 使い出すと、優先順位が下がる仕組みになっており、それがうまく機能 量 I/O に耐えるよう十分な熱対策 していました。その結果、フォーマット中の I/O 速度はほぼ「・ 40MB / 鰤 , が施されたディスク装置を転用 W60 MB/sec と満足できる速度でした。 しており、高い耐久性が実証さ S0ftware-RAlD5 のボリューム構成 ています。 標準的なボリューム構成としては、 25 用として 6 個の 181 GB ディスク を用いて構成する実容量で 900GB のボリュームなら、 1 台のディスク r/w : 19MB/sec, 34MB/sec ケースに収まるため管理が容易です。しかし、より大きなボリューム構 Read Write ネットワーク Kernel 成であっても難なく構築・運用が可能です。 SCSII ポートでは 2 , 534GB (MB/sec) (MB/sec) ( 181X7X2 ) 、 Dual SCSI Card 1 枚なら 5 , 068GB ( 181X7X4 ) 、ラック 1 本に渡る 2.2. x 5.0 4.9 IOOBASE (NFS V 既 2 参考 ) 2.4.0 9.2 IOOBASE 10 , 136 GB ( 181 x 7x 8 ) のボリューム構成も可能です。 19.0 34.1 2.4.0 1000 BASE-T ( カテゴリー 5 ) S0ftware-RAID5 は自動リビルト 33 33 テスト用ディスク 73GB 10K Ⅲ協 160 SCSI の生性能 raid tools にはホットスペア機能も実装されており、ディスク破損時にも、 NFS Version3 での IOOOBASE-T の性能は予想を越える素晴らしさでした。 自動的にスペアディスクを用いての修復が起動します。標準的なボ 体感的にはローカルの高速ディスクを読み書きしている感じです。特に リューム構成は、 1 つのディスクケースに 7 個のディスクが収められ、その 書き込み性能に関しては、テスト用ディスク 73GB 10K U 財 a160 SCSI の うち 6 個を lD5 用として用います。残りの 1 個はスペア用の予備ディ 生性能である w : 33MB / sec とほぼ同じでした。 スクとしてホットスタン ( イさせておき、ディスクが破損した場合は 自動的にスペアディスクとして RAID 5 構成が再生成されように設定し 国飫文台・天体データ鰰斤センター納め ておきます。さらに、ホットスタンヾイディスクは 2 個まで指定できるの で、万が一予備ディスクが待機中に破損していても、自動的に最初の 右の写真は、国立天文台・天体データ解析セン 予備ディスクをスキップして修復が行われます。しかも、修復時にも ターに出荷直前のシステムです。実地テストの結 ロードバランスが上手に取られており、大きなパフォーマンスの劣化は 果、その実用性が評価され、データの増加に伴い みられませんでした。 順次拡張されて行く予定です。 株式会社工ッチ・アイ・ティー http://www.hpc.co.jp E-Mail:info@hpc.co.jp 前出の商品名は各社の商標または登録商標です。また、機器の仕様は予告なく変更される場合があります。 「コ すのを中 ! ! co. ・ Software-RAID5 は良い Write (MB/sec) 60 つなワ」イー ワ」ワ」 -1 ー 64 ・大容量を実現する 181.6GB HDD 128 68 ・ NFS Version3 on IOOOBASE-T ■ HPS-NAS の実績 れ M S U N
特集リ N ー X の基礎知識① 同様に、 DHCP サーバーが多くの情報を提供していても、ク ライアント側でそオ功ミ利用されるかどうかは DHCP クライア ントの不頁や言置によって決まる。したがって、かならす自分 カイ吏っている DHCP クライアント・プログラムのマニュアル ページて市忍する。 ノート 3 DHCP サーバーには、ホストに設定すべきホスト名を与え るための機能もある。これを利用して、 DHCP サーバーから クライアント側に設定すべきホスト名を指定することもできる。 ただし、現在のところ、自重加勺にホスト名を設定する DHCP クライアント・プログラムはあまりなく、通常はなんらかの設 定をしないかぎりホスト名は変更されない。ネットワーク・イン ターフェイスの IP アドレスの設定は、第勺に変更してもあま り大きな間題にはならない。一方、ホスト名を変更すると、た とえば X のホスト認証カヾ昆乱して新しいクライアントがまった く起動しなくなったり、電子メール里のプログラムがうまく 動かなくなったりすることがある。だからこそ、 DHCP でホ スト名を設定するようなシステムが少ないのである。 通常は、 /etc/rc. conf ファイルなどで設定するホスト名がそ のまま利用される。ホスト名は、 DNS サーバーに登録されて いて、かつ自分自身に割り当てられたものを使うとよい。 DNS に登録されている IP アドレスが別なものでも、多くの場合は 間題は発生しない。 DNS において重加勺に当求データを更新できるイ督はみ (Dy- namic DNS) があれは、一屬己のホスト名の問題は解決できる。 現在、 Dynamic DNS のためのプロトコル標準化が進められ ているが、セキュリティなど鮹夬しなけれはならない問題が多 く、作業は完了していない。しかし、いすれは DHCP が Dy- namic DNS と連動けるようになると思われる。これが見す れば、ホスト名の問題もスマートに鮹夬できるだろう。 動き続ける DHCP クライアント DHCP では、 IP アドレスを、、貸す (lease)" という 考え方にもとづいている。したがって、割り当てられた IP アドレスは一定時間 (lease 日ゆか茴すると、再度 サーバーから割当てを受けなければならない。このため、 dhclient はいったんアドレスの割当てを受けると、バッ クグラウンド・プロセスとして常駐する。そして、 lease 時間かを造すると、 DHCP サーバーに対して再度、割当 て要求 (DHCP リクエスト ) を送る。このときに IP アド レスか変更されると、さまざまな間題カ吽しる。したがっ て、 DHCP サーバーでは DHCP リクエスートに含まれる ネットワーク・インターフェイスの MAC アドレスを調 べ、同しネットワーク・インターフェイスには同しアドレ 34 スを割り当てるようにしている。これによって、割り当て られる IP アドレスができるかぎり変更されないように工 夫している。 ノート 5 最近、普及し始めた常時 IP 接続サービスの一部では、 DHCP を用いた IP アドレスの割当てをおこなっている。なか には、セキュリティ対策という名目で、定期的に割り当てる IP アドレスを変更するように DHCP サーバーを設定していると ころもある。このような環境では、一定時間おきに IP アドレ スか変更されてしまうため、使用中の TCP コネクションが切 れるといった問題が発生する場合がある。このようなアドレス 変更がセキュリティ対策のうえて有効とは考えにくいが、 いった設定をしているところがあることも憶えておくとよい。 初期言聢 DHCP は、ネットワークに常日罸妾続しているわけでは なく、必要に応じて接続するラップトップ PC などで使わ れることが多い。設置場所がほほ周定されており、ネット ワークになんらかのサービスを提供するデスクトップ・シ ステムなどについては、つねに同じアドレスを割り当てた はうがよく、 DHCP を利用するメリットは少ない。した がって、 DHCP クライアントの起動は、システムの起動 時に実行される / etc / rc * などで設定するより、 PC カー ドか挿入されたときなどに実行されるプログラムで指定す るほうが一勺である。 たとえば、 FreeBSD 3.5 十 PAO のシステムでは次のよ うなシェル・スクリプトが用意されている。 /etc/pccard-ether : カードカ甘入されたときの起動ル ーチン /etc/pccard-ether-remove : カードを抜いたときに実 行されるルーチン これらのスクリプトを読むと分かるが、 /etc/rc. conf でインターフェイス名カ咐けられた変数の値を、 ifconfig—wiO="DHCP" のように言当しておくと、該当するインターフェイスカ起 動したときに、 /etc/pccard-ether によって DHCP ク ライアントが実行される。同様に、カードを抜いたときは ルーティングをリセットし、さらに /etc/resolv. conf を 削除する設定になっている。 このような仕組みは、 FreeBSD 4. x 、 Red Hat Linux などでも実現されている。それぞオ・しの環境での設定ガ去は UNIX MAGAZINE 2001.6
なネットワーク・インターフェイスを提供することもあ る。この場合には、ハードウェアが 1 つであっても、複 数のネットワーク・インターフェイスカ甘是供されるので、 それぞれに IP アドレスか殳定される。 ノート 12 描匠の UNIX システムでは、 1 つのネットワーク・イン ターフェイスに複数の IP アドレスを設定することもできる。 ifconfig コマンドの引数に alias 133. 1 . 134.251 のように指定し、付加的に複数のアドレスを 1 つのネットワー ク・インターフェイスに設定することも可能である。この機能 は、固定的に IP アドレスを割り当てている竟などでアドレ スを付け替える必喫カ吽した場合、移行期間を乗り切るために、 ー勺に 2 つのアドレスを同一のネットワーク・インターフェ イスに割り当てるような場合に使う。ただし、ラ } 物勣勺に使う方 法ではない。 インターネットーヒて稼動している DNS におけるホスト 名とは、割り当てられた IP アドレスから逆引きした場合 に得られる名前である。 IP アドレスから名前が参照でき なければ、その IP アドレスに対応するホスト名のシステ ムは存在しないものとみなされる。このため、複数のネッ トワーク・インターフェイスが用意されているシステムで か通である。 理しているアドレスごとに DNS に静的に登録しておくの DHCP を運用している環境でも、 DHCP サーバーカ壻 報を DNS に登録することが多い。 は、割り当てられた IP アドレスごとに、その逆引き窈青 さきはどみたように、 UNIX MAGAZINE 2001.6 ない。そのため、おもに DHCP を使用するシステムの起 ムの起重圻麦にホスト名か加勺に変わることを前提としてい されてしまう。一方、 UNIX システムの大半は、システ システムでは、 IP アドレスに対応する名前も動的に変更 しかし、 DHCP のような重加勺にアドレスを割り当てる の名前と同しものを設定する。 名は、一殳に IP アドレスと対応づけられている DNS で このような構造になっているため、 UNIX でのホスト 得る。 プログラムでは、 gethostname() 関数を用いてその値を ムの起重加芋に hostname コマンドによって設定される。 り、まさにホスト名として使われる。この名前は、システ UNIX カーネルのなかの 1 つの変数として用意されてお 一方、 UNIX システムにおけるホスト名は、一イ殳には 重加芋におけるホスト名の扱いは、 ・まったく設定しない ・ DNS サーバー上に言当されている名前を便宜的に付け ておく のどちらかになる。 前者のまったく設定しないガ去でも、システムを使うこ とはできる。しかし、電子メールなどに関する言置で問題 が発生しがちである。そこで、通常は DNS サーバー上に mobile-node" といった名前のエントリを用意しておき、 その A レコードや MX (Mail eXchange) レコードも 指定しておく。そして、 DHCP を利用するラップトップ PC では、起重加芋のホスト名としてその名前を指定してお く。こうすれば、システムを持ち運んださきでもあまり間 題が発生しない。 ノート 13 さきはども説明したが、この問題は DNS のエントリを動 的に登録できる Dynamic DNS カ躾現すれば角夬されると 思われる。また、ホストの移動をネットワーク内でうまく隠蔽 する Mobile IP のようなオ冓が使われるようになれは解決さ れる可能生もある。しかし、現時点では Dynamic DNS も MobiIe IP も一殳化していないため、当面は DNS の設定に 、ダミー " を用意するの力番簡単なガ去であろう。 最近は、 1 人で 1 台のシステムを占有して利用するこ と力ヨ勺になっている。だが、ユーザー root を日常的 に使うのではなく、一ヨ殳ューサーを作成し、ふだんはその ューサーて作業する習慣を身につけるべきである。 root 権 限が必要になった場合には、 su コマンドで root になれば よい。 UNIX におけるユーザー root は特別な権限をもち、な んの制限も受けすにシステムを利用できる。逆にいえば、 システムの破壊を招くような危険な行為をしても、それを 防ぐ機溝はまったくないということである。したがって、 そのシステムを使うのは 1 人だけといった場合も、自分用 のユーサーを作成し、そのユーサー・アカウントを用いて 作業づ - べきである。よく考えま、本当に root の権限が 必要な場面は意外に少ないはすである。 さらに、 NFS (Network FiIe System) を用いてはか ユーザーの設定 37
特集リ N ー X の基礎知識 0 設定ファイルの準備 次に Samba の設正をおこなう。最初に、 /usr/local /samba/lib/smb. conf ファイルを用意する。ソースコ ードを展開したディレクトリに examples/smb. conf. default. ja というサンフ。ルの成疋ファイルがあるので、 れをコピーして編集すればいいだろう。 それでは、設定ファイルをみてみよう。この成疋ファイ ルには日本語でコメントか書かれているので、注架くコ メントに従って設定すれはよい。とくに、以下の点に注意 する。 ・ワークグルーフ窈旨定 Microsoft の提供するネットワーク環境では、すべて のホストは、ホスト名とそのホストか属する、、ワークグ ループ (workgroup)" によって識別される。 NT ドメ インか力している場合は、ワークグルーフ。の代わりに 、、ドメイン " によって識別する。そこで、必要なワーク グルーフ。名、または NT ドメイン名を指定する。システ ムを接続したネットワーク竟で SMB ドメインか設定 されているのであれば、ドメイン名を合わせておいたほ うがよいだろう。これは、以下の行の指定でおこなう。 workgroup = IP1ab ・ユーサー認証の去窈旨定 これについては、一殳には Samba サーバーか稼動して いる UNIX システムでのユーザー・アカウントにもと づく認証を利用する。そのための設定は、以下のように 当する。 security = user ・ domain master 、 10Ca1 master 、 preferred master 、 os level の成正 Samba サーバーを稼動させる工竟に応じて設定する必 要がある。この部分については、さまざまな状況に応し たテンプレートか複数用意されている。テンプレートの 説明を読んで必要なものを設定し、その他はコメントア ウトしておく。たとえは、同一サプネット内に、さきほ ど workgroup 行旨定したワークグループに所属する Windows NT / 2000 のシステムか下力している場合な どは、テンプレートの説明に従って、 domain master 10Ca1 master = no preferred master Ⅱ 0 os 1eve1 0 を有効にする。 ・クライアント (Windows システム ) で使用する言語の 指定 通常は、以下に示すデフォルトの設定でよい。 client code page 932 ここで指定されている、、 932 " という値は、 MS-DOS Japanese Shift-JIS のし御未である。 ・ coding system フ日疋 クライアントが Shift-JIS コードで送信した日本語の ファイル名を、 UNIX ファイルシステムに書き込むと きの文字コードを指定する。通常は、 EUC を指定して おけは間題が少ない。 coding system = EUC ・接続可能なホスト窈旨定 host allow では、 Samba サーバーに接続を許可する ホストの IP アドレスを指定する。通常は、ローカルの LAN およびルーフ。バック・インターフェイスからの アクセスを許可すればよい。以下のように指定すると、 ルーフ。バック・インターフェイス ( 127.0.0.1 ) とロー カルの LAN ( 133.1.134 / 24 ) からのアクセスを許可 する。 hosts a110W = 127. 133. 1 .134. この例ではネットワーク単位で指定しているが、もちろ ん各ホストの IP アドレスをすべて列挙してホスト単位 のアクセス制御をおこなうこともできる。 ・シンポリック・リンクの扱いク旨定 シンポリック・リンクをたどってアクセスさせるのは なにかと危険なので、通常は以下のように設定して禁止 する。 f0110 symlinks = Ⅱ 0 ・プリンタの成正 Samba の本来の目的である、、 Windows のホストから のネットワーク共有を利用した印刷 " を実現するための 設定である。つまり、 UNIX 環境て利用しているプリン タを Windows システムに対してもサービスできるよ うにする。これは、 printcap の成正に従って指定する。 1 三ロ 46 UNIX MAGAZINE 2001.6
特集 UN ー X の基礎知識① 目的とする IP アドレス ( 宛先アドレス ) のホストにパ ケットを到達させるためには、ます、どのアドレスのホ ストにバケットを送ればよいかを言当する必がある。 の、次に送るべきホストを、、 Next Hop" と呼ぶ。通常は、 宛先アドレスごとに Next Hop を設定するようになって いて、そのデフォルトの選択肢を、デフォルト・ゲート ウェイ " として指定する。したがって、このデフォルト・ ゲートウェイを設定すると最低限の通信か可能になる。 ノート 10 経路情報を重埴勺に設定できるように、 RIP や OSPF など の経路制御ワ。ロトコルにもとづいて、経路制脚デーモンによっ て↑帯長を同報するネットワークもある。ただし、このような経 路制御がおこなわれるのはおもにルータ間である。各ューサー が使用するシステムでの経路制脚については、・職丘はデフォル ト・ゲートウェイを固定的に 1 つ指定するガ去力勺である。 初期言 IP アドレスやネットマスク、デフォルト・ゲートウェ イの設定は、システムの起重加に実行される /etc/rc* フ ァイルのなかに記述する。最近の UNIX システムでは、 /etc/rc. conf などの設定ファイルでホスト名、 IP アドレ ス、ネットマスク、デフォルト・ゲートウェイを指定する 構成になっていることが多い。一部のシステムでは、シス テム成疋用の GUI アプリケーション (sysinstall といっ たシステム・インストール用のツールなど ) を用いて成疋 できる。設定にあたっては、使用中のシステムで推奨され ているガ去を調べ、それにもとづいて作業づンヾきである。 ノート 11 システム設定のためのソフトウェアを用いて IP アドレス などを指定する方式のシステムでも、起重加叔こどのような処理 がおこなわれるかを調べることが重要である。それには、 /etc に置かれている起動ファイルや各種設定ファイルに一度は目を とおし、どのように設定されているかを理解しておくとよい。 成疋ファイルの書式はマニュアルページに書かれているし、起 動ファイルの大半も上し友的理解しやすいシェル・スクリプトに なっている。さらに、起動ファイルに関するマニュアルペー ジが用意されているシステムもある。システム起重加学に何がお こなわれるのかを理解していれば、システムを起動する際にト ラブルか生じた場合も、解決カ 1 去を簡単にみつけられるように なる。 /etc/resolv. conf 最後に、 DNS サーバーを使うために必要な設定ファイ ル /etc/resolv. conf を設定する。このファイルには、基 36 本的には DNS サーバーの IP アドレスを、 nameserver 133.1. 134.240 nameserver 133.1. 119. 1 といった形式で順番に書いていけばよい。 DHCP のとこ ろで述べたように、 DNS サーバーはここに記述された順 番で使用される。したがって、使用するホストからみて、 できるかぎりネットワーク的に近い場所にある DNS サー ーを上位に言し、ネットワーク的には多少くても安 定して稼動しているサーバーを下位に指定するとよい。ま た、自組織の外部で運用されている DNS サーバーは通常 は指定しない。 このファイルに、 search center. xyz ・ ac ・ JP という指定を追加しておくと、 本鑠するとき、 ・ん OSt. ・ host. center. xyz ・ ac ・ JP ・ ホスト名 host を DNS で の 2 つを探してくれる。この行を追加すると、ホスト名を ドメイン名まですべて含めたかたちで指定する必要がなく なる。このように設定しておけば、さまざまなコマンドを 利用するときにもホスト名の指定力癇便におこなえる。 固定 IP アドレスの取得についてのまとめ 固定 IP アドレスを利用する場合には、 ifconfig 、 route コマンドを用いて、システム起重加に自重加勺に設定するよ うにする。これらの設定は / etc / rc * のなかでおこなわれ る。たいていは、 /etc/rc. conf に必要な情報を言当してお けばよい。同時に、 DNS を利用するための /etc/resolv. c 。 nf の設定もおこなう必要がある。 ホスト名と IP アドレス こで、ホスト名と IP アドレスの関係についてまとめ ておく。 IP アドレスは、ネットワーク・インターフェイスごと に割り当てられる。ネットワーク・インターフェイスとは、 Ethernet インターフェイス・カードや、その他のネット ワークに接続するためのホストアダフ。タ (host adaptor) である。もちろん、ネットワークの構成によっては、 1 つ のハードウェアからなるホストアタフ。タが、複数の論理的 UNIX MAGAZINE 2001.6
新・倉敷芸術科学大学のネットワーク構築・・・ 9 図 14 Ethernet のポート / くラメータの言聢 * Summit48i : 68 # configure ports 1 auto off duplex full speed 100 表 1 Ethernet のパラメータ * Summit48i : 69 # / くラメータ サプコマンド 自動認識窈日疋 auto duplex ク日疋 duplex ポートの速度 speed 図 15 ポートの状態表示 言諚可能直 on または 0 仕 full または half 10 、 100 、 1000 のいすれか * Summit48i : 70 # show ports 1 Port 1 F1ags Diag Diag F1ags P e——m— d ー DLCS Enab1ed , e info Link State ready Link_UPs 0 Num Num Jumb0 QOS Load VLANs Proto Size Profi1e Master 1 1 9216 Extreme Discovery Protoc01 Enab1ed , g ー Egress TOS EnabIed , j ー Jumb0 Frame EnabIed , 1 ー Load Sharing EnabIed , m ー MAC Learning Enab1ed, n ー lngress TOS Enab1ed, 0 ー D0t1p V1an Priority Rep1acement Enab1ed, q ー Background QOS Monitoring Enab1ed. a ー Load Sharing A1gorithm address—based, p ー Load Sharing A1gorithm port—based , r ー Load Sharing A1gorithm round—robin, G ー SLB GOGO M0de P ー Passed, F ー Fai1ed * Summit48i : 71 # そのほかのポート設定 Summit は、 Ethernet を基本としたスイッチ製品で す。そのため、各ポートについて Ethernet 固有のいくつ かのパラメータが設定できるようになっています ( 図 14 ) 。 Ethernet の自動認識 (Autonegotiation) 機能の有 効 / 無効は、 configure ports コマンドのサプコマンド である auto の引数に、、。 n " か、、。『を指定します。 du- plex の指定はサプコマンド duplex で、ポートの速度は サプコマンド speed で設定します ( 表 1 ) 。 ポートの状態表示 ポートの状態を表示するには、 show ports コマンド を利用します。表示したいポート番号に続けて、、ⅲ f 。 " を 指定すれば、ポートの状態の概要が分かります ( 図 15 ) 。 詳細な状態を知りたいときは、さらに、、 detail" を追加す るとすべての清報か表示されます ( 図 16 ) 。 ポートの表示名の変更 初期状態では、ポートの名前は 1 や 2 などのポー ト番号 ( 数字 ) で表示されます。これでは、そのポートが どのホストやどのネットワーク・セグメントに割り当てら れているのかが分かりにくいので、識別しやすい表示名に 66 変更することかできます。 それには、 configure port コマンドに続けてポート 番号、サプコマンドの display-string 、表示名を指定 します ( 図 17 ) 。 図の夫彳列からも分かるように、指定した名前は show ports など、ポートの状態を知るためのコマンドを実行す ると表示されます。 ホスト名の登録 UNIX MAGAZINE 2001.6 summit48i. kusa. ac. jp などの FQDN を用いている例も RFC1178 [ 1 ] や RFC1035 [ 2 ] に従って、ホスト名に Name で任意の名称に設定できます ( 図 18 ) 。 す力ゞ、 configure snmp コマンドのサプコマンド sys- 初期状態では、、 Summit48i" という名前になっていま 定することになります。 は、 Summit スイッチ自体の SNMP の設定によって指 なっています。したがって、スイッチとしてのホスト名 で設定されるホスト情報を共有してホスト名の管理をおこ 前を付けることができますが、スイッチ内部では SNMP ット上では 1 つのホストです。もちろんホストとしての名 Summit スイッチも、 Cisco ルータとい犲兼にインターネ
シグアル・コンノール 図 8 マシン名をキ諚してターミナル・サーパーにログイン # telnet cyclomy Trying 172. xx ・ yy 2 Connected t0 cyclomyhost Escape character iS Kondara MNU/Linux 2000 (Sushi) Kerne1 2 . 2 . 16 ー 5k 0 Ⅱ an i686 cyclomy login: bsdosl Last logi : Sat Apr 14 12 : 51 : 39 on tty3 Connecting tO /dev/ttyCO , speed 9600. The escape character is Ctr1—\ (ASCII 28 , FS) Type the escape character followed by C to get back, or followed by ? t0 see other options . 図 7 serialconsole スクリプト # ! /bin/sh terminalcmd=/usr/local/bin/kermit case $LOGNAME in bsdosl) port=ttyCO 1inux5) port=ttyCI esac exec $terminalcmd ー 1 /dev/$port -c うなスクリフト /etc/serialconsole ( 図 7 ) をログインシ ェルとするのです。 このようなユーサーは、次のようにして作ります。 # chgrp uucp /etc/serialconsole # chmod a + x /etc/serialconsole # grep uucp /etc/group uucp : : 14 : uucp # vipw たとえば、 bsd 。 sl に対応するユーサーとして 次のようなエントリを作成する bsdosl : * : 8000 : 14:User for Seria1 Cons01e: /tmp: /etc/serialconsole # passwd bsdosl ( パスワードの設定 ) このように設定したあと、 Cyclom-Y を組み込んだホ ストに telnet などでアクセスし、ログイン・プロンプト でユーサー名として目的のホスト名を入れると、図 8 のよ うに、 C-Kermit で接続された先のホストのログイン・プ ロンプトか現れます。 BSDI BSD/OS 3.1 (bsdosl . um ・ xx ・ (p) (console) login: にしています。完全にスタンドアローンで重川して、はか からの景グを受けないようにしているのです。 このイ督目み甦リですが、 1 つ問題があります。ホスト 名をユーサーとしてアカウントを利用しているので、誰が この管理用ホストからサーバーにアクセスしたかが分から ないのです。複数の管理者がいる場合には、誰がどのサー ーを触っているか分からなくなってしまいます。ですか ら、小さな部署で、見える示川にマシンと管理者がいるよ うな場合にもっとも有効だと思います。 管理しなければならない複数のサーバーがある場合、キ ーポード / ディスプレイ切替器を使うという手もあります。 しかし、簡単に、そして安価に手に入るものはせいせい 4 台までの切替えしかできません。また、 PC のキーポード サーバーの管理を楽にできないかと思い、 Cyclom-Y やマウス、グラフィックス・カードと切替器との相性が をインストールした PC ()S は Linux です ) と、シリア あるのか、うまく組み合わせられないものがあるのも大き ル・コンソールを使ったシステムを作ってみました。ネッ な間題です。当然ですが、切替器を使っても、切替器のあ トワーク越しにコンソールを操作できるのはたいへん便利 る場所までは行かなくてはなりません。ホストとキーポー です。たとえば、サーバーの再起動やディスクのバック ド / ディスプレイを何メートルも離して置くことができる アッフ時など、シングルューザー・モードにしたいときで ものもありますが、これはかなり高価です。 も、このコンソール用のホストにネットワーク経由でログ 切替器に不満のある方、ネットワーク越しにサーノーを 一ト 0 ー ~ した 0 、方は、リア ~ ・ 0 ーー ~ 接も考 インし、さらにそこから目的のサーバーにログインして作 業ができます。 えてみてはいかかて、しようか。 この Cyclom-Y 用のホストはネットワークに孑売され てはいますか : NIS を参照せす、 NFS も利用しないよう まと 165 UNIX MAGAZINE 2001.6
連載 . / UN Ⅸ Communication Notes 図 3 mysql コマンド本的な使い方 % mysql —u root —p Enter password: * * * * * * * mysql Ver 11 . 13 Distrib 3.23.35 , for unknown-freebsde1f3.5.1 ( i386 ) mysql> status Current database : test_database 90 Connection id : mysql> connect test—database Type 'help; ' 0 て '\h' for help. Type '\c' t0 clear the buffer Your MySQL connection id is 87 to server version: 3.23.35 We1come to the MySQL monitor. Commands end with ; or \g. Connection id : Current database : Current user : Current pager : Using outfile: Server version: protocol verSIOn: Connection : C1ient characterset : Server characterset : UNIX socket : Uptime : 90 test_database て 00t910Ca1h0St s t dout 3 .23.35 10 Loca1host via UNIX socket latinl latinl /tmp/mysql. sock 1 hour 46 min 16 sec Threads: 1 Questions: 180 S10w queries : 0 Opens: 6 Queries per second avg: 0.028 mysql> quit Bye しても、パスワード認証さえ通過すれはデータベースに対 して select 、 insert 、 update 、 delete コマンドを実行で きるようになる。 意 ホスト名を指定する部分で使用している、 % " は、どんな ホスト名にもマッチするワイルドカードであり、ホスト名を指 定しなくても、ユーサー名 ( およびパスワード ) だけでデータ べースにログインできるかどうかか訣まってしまう。もうすこ しきめ細かなアクセス制脚をしたい場合は、セキュリティを考 慮し、ホストの部分での % 窈旨定をできるかぎり避け、必要な ホストにのみアクセスを許すように設定すべきである。 引数に指定している password() は、パスワードの計 算をおこなう関数である。図 5 でパスワードとして指定さ れている文字列、、 mypass" は、 password() 関数て暗号化 UNIX MAGAZINE 2001.6 16 F1ush tables : 1 Open tables : さ user テープルに書き込まれる (password() 関数で は、 UNIX 上て使われているパスワード暗号化ルーチンと は異なる手法で暗号化をおこなう ) 。 CGI と MySQL CGI から MySQL を利用するには、データベースとの インターフェイスが必要になる。 PerI では、データベー スとのインターフェイスとなる DBI と呼ばれるモジュー ルか用意されている。 DBI. pm のインストール モジュール DBI (DBI. (m) は、異なるデータベース・ システムに対し、抽象化した共通のインターフェイスを提 55