usr - みる会図書館


検索対象: UNIX MAGAZINE 1999年1月号
18件見つかりました。

1. UNIX MAGAZINE 1999年1月号

連載 / UN Ⅸの玉手箱ー① 図 4 インストール直後の /etc/inetd. conf (FreeBSD) # lnternet server configuration database ー S @(#)inetd. conf 5 . 4 (Berke1ey) 6 / 30 / 90 ftp telnet shell login finger #exec #uucpd #nntp stream stream stream stream stream stream stream stream tcp tcp tcp tcp tcp tcp tcp tcp nowait nowait nowait nowait nowait nowait nowait nowait root root root nobody root root usenet /usr/libexec/ftpd /usr/libexec/telnetd /usr/libexec/rshd /usr/libexec/rlogind /usr/libexec/f ingerd /usr/libexec/rexecd /usr/libexec/uucpd /usr/libexec/nntpd ftpd ー 1 telnetd rshd rlogind fingerd rexecd uucpd nntpd なうため、前者の場合は、、 stream" を、後者の場合は dgram" を指定します。 3. プロトコル デーモンを起動する際、どのユーサーの権限で起重丿ける 5. ューサー名 場合は、、 wait" を指定します。 に、 TCP を用いる場合は、、 nowait" 、 UDP を用いる デーモンの終了を待つかどうかを指定します。基本的 , 小、 inetd カゞ あるポートに対応するデーモンを起動した際 4. サーバー・プログラムの終了までⅲ etd か待つかどうか る場合は、、 udp" を指定します。 基本的に、 TCP を用いる場合は、、 tcp" 、 UDP を用い かを指定します。 6. 起動するサー プログラムの名前 起重丿庁るデーモン ( サーバー・フログラム ) の名前を絶 対パスて指定します。 inetd か監視するサービスのなか には、 inetd が直接処理をおこなってクライアントに 応答するものがあります。たとえば daytime サービス ( 13 番ポート ) はサーバーの時刻を date コマンドと同 じ形式で返しますが、クライアントから 13 番ポートに アクセスがあった場合、 inetd は他のデーモンを起世 すに直接処理をしてクライアントに結果を送ります。 nullpc$ telnet mypc daytime Trying 192.160.1.10. Connected tO mypc . Escape character iS Tue Nov 24 14 : 12 : 54 1998 Connection closed by foreign host . nullpc$ ロ inetd か直接処理をおこなうサーヒ、スに関しては、この フィールドは、、 internal" と指定し、次のフィールドに 120 は何も書かすにおきます。 7. サーバー・プログラムに対する引数 サーバー・プログラムを起動する際の引数を、 けを指定します。 プログラム名引数 の形で指定します 17 。引数がない場合はプログラム名だ UNIX MAGAZINE 1999.1 クセスを受け付けることを意床します。 18 非当力したデーモン (ftpd) ク冬了を待たすに、 ftp ポートへの新たなア ファイル名だけを指定します。 17 ここでオ旨定するプログラム名は絶対パスではなく、たんにプログラムの けてコメントアウトされたエントリが多いのに気づくでし せんが、ファイルの内容を見ていくと、行頭に、 # " を付 図 4 には /etc/inetd. conf の冒頭部分しか挙げていま 7. サーバー・プログラム起測時の引数は -I libexec/ftpd 6. 起動するサーバー・フログラムの糸寸パス名は、、 /usr/ 限で実行する。 5. サーバー・プログラムをスーパーユーサー (root) の権 4. inetd は起動したデーモンの終了を待たない 18 。 3. TCP を用いて通信をおこなう。 2. ストリーム型のサーヒ、スである。 1. サービス名は、、 ftp' ルドの意味は以下のようになります。 ています。図 4 の場合、 ftp のエントリに対する各フィー その次の行で FTP サービスに対するエントリカ当され は図 4 のようになっています。最初の 5 行はコメントで、 FreeBSD では、インストール直後の /etc/inetd. conf FreeBSD の /etc/inetd. conf

2. UNIX MAGAZINE 1999年1月号

連載 / IJN Ⅸ知恵袋一 図 3 フォントオ鑠パスの寉認 $ xset q Keyboard Contr01 : autO repeat : on autO repeat delay : key click percent : 500 repeat rate : 0 LED mask : aut0 repeating keys : OOffffffdffffbbf 30 bell duration : 00000000 100 beII percent : Pointer Contr01 : acceleration : Screen Saver: prefer blanking : timeout : 600 C010rs: 50 2 / 1 fa9fffffffdffdff 7f00000000000000 0000000000000000 bell pitch: 400 threshold : 4 yes cycle : Font Path : default colormap : 0X21 B1ackPixe1: 0 a110W exposures: 600 WhitePixe1: 65535 /usr/X11R6/1ib/X11/fonts/misc :unsca1ed,/usr/X11R6/1ib/X11/fonts/75dpi :unscaIed,/usr/XIIR6/ 1ib/X11/fonts/100dpi :unsca1ed,/usr/X11R6/1ib/X11/fonts/Type1 ,/usr/X11R6/1ib/X11/fonts/Speedo, Off : 2400 図 4 xfontsel でフォントを確認する DPMS is Disab1ed Suspend: 1800 Standby: 1200 DPMS (Energy Star) : Bug M0de : compatibility mode is disabled /usr/X11R6/1ib/X11/fonts/TrueType xfontsel quit seiect 4 na 物 es natch éfndrg—fnIg—gght—s1ant—sNdth—adstyI—pxIsz—ptSz—resx—resg—spc—avgNdth—rgstrg—encdng ー材 adalab - - - 「 i - 能 - -60- - ・ - 受 - 受 - - jis 暑 0208.1983- 誉 ちってとなにぬね O はて ・ XFree86 の設疋ファイル (XF86Config) を変更する 通常、設疋ファイル名は /etc/XF86Config になって います。フォントの検索パスは、、、 Files " セクション で FontPath 命令を使って指定します。、、 Files" セク ションに次の 1 行を追加してください。 FontPath "/usr/X11R6/1ib/X11/fonts/TrueType" この場合は、このあと X サーバーを再起動すれは設疋 か有効になります。 フォント検索パスの更新カ院了したら、 xset コマンド を使って、現在の検索パスをチェックしましよう。図 3 に実列を示します。下線部が追加されたフォント検索パ UNIX MAGAZINE 1999.1 スです。 確認できたら、実際にフォントを表示させてみます。 xfontsel コマンドを使うと、さまざまな XLFD につい て実際の表示を重加勺に確認できます。図 4 に、 ー jisx0208.1983 ー * を表示した結果を示します。 フォントが正しく表示できない場合、 X サーバーがフォ ントを認識していないと考えられます。利用できるフォン トを石忍するために、 xlsfonts コマンドでフォントの一覧 を表示してみましよう。図 5 に結果の一部を示します。 53

3. UNIX MAGAZINE 1999年1月号

連載 / UN Ⅸの玉手箱ー① 図 5 BSD/OS の /etc/inetd. conf ( 一部 ) # internet server configuration database ( # ) inetd. conf 8.2 (Berke1ey) 3 / 18 / 94 BSDI inetd. conf ,v 2.7 1996 / 09 / 27 00 : 41 : 42 ewv Exp ftp telnet shell login #uucpd finger stream stream stream stream stream stream stream t cp t CP tcp tcp tCP tcp tcp nowait nowait nowait nowait nowait nowait nowait root root nobody /usr/libexec/tcpd /usr/libexec/tcpd /usr/libexec/tcpd /usr/libexec/tcpd /usr/libexec/tcpd /usr/libexec/tcpd /usr/libexec/tcpd ftpd ー 1 telnetd —h rshd rlogind rexecd uucpd fingerd よう。コメントアウトされたエントリについては、対応す て /etc/inetd. conf の内容を inetd に再度読み込ませる inetd を再起動するか、あるいは HUP シグナルを送っ なお、 /etc/inetd. conf ファイルを変更した場合は、 能性を多少なりとも減らすことができます。 キュリティ・ホールがあったとしても、そこを突かれる可 —/etc/inetd. conf て指定したサーバー・フログラムにセ トアウトすれはいいことになります。これにより、万が 不必要なサービスがあれは、該当するエントリをコメン したがって、 /etc/inetd. conf の各工ントリをⅡ未し、 ばポートに対するアクセスは拒否されます。 ていない ) デーモンがあれば話は別ですが、そうでなけれ れらのポートに対して常駐する ( つまり、 inetd か管理し るポートにアクセスがあっても inetd は無視します。 tcpd は tcp-wrapper と呼ばれるパッケージに付属 するプログラムで、ポートに対するアクセスをより細かく 制御することができます。 FreeBSD の /etc/inetd. conf では、ポートに対するアクセス制御はサービスを提供す るかしないか、つまり、、、すべてのホストに対してアク セスを許す " と、、すべてのホストに対してアクセスを許 さない " の 2 通りしかありませんでした。これに対し、 tcp-wrapper を導入すると、 inetd がデーモン・フログ ラムを起動する前に tcpd がアクセス元のホストをチェッ クし、特定のホストからのアクセスを許可したり、逆に特 定のホストからのアクセスを拒否することができます。 FreeBSD の場合、 tcp-wrapper は付属していません イナリ・パッケージとして提供されているため、簡 カゞノヾ 必要があります。後者の場合、 inetd のプロセス ID を串ヾ、 、、 kill -HUP" を実行します 19 bash# ps x ー grep inetd 128 ? ? ls 0 : 00 .04 bash# kill —HUP 128 bash# ロ tcp-wrapper ます最初に ps コマンドで そのプロセス ID に対して inetd 単にインストールすることカそきます。 せつかくですから、 tcp-wrapper の設疋も・ たのですが、時間切れとなってしまいました。 ☆ ・一・と思っ 図 4 は FreeBSD に付属する /etc/inetd. conf でした が、 BSD/OS では図 5 のようになっています。 Free- BSD の /etc/inetd. conf とよく似ていますが、 inetd が プログラム名がすべて、、 /usr/libexec 起動するサー / tcpd " になっています。 19 FreeBSD の場合、 inetd のプロセス ID は /var/run/inetd. pid に求されるため、、 kill -HUP 、 cat /var/run/inetd. pid 、 " を UNIX MAGAZINE 1999.1 実行します。 次回は、 tcp-wrapper の概要と設定について触れたあ と、 NIS サーバーの設定ガ去について紹介する予定です。 [ 1 ] 山口英「 UNIX Communication Notes - 一 BIND によ る名前管理 ( 1 ) ~ ( 5 ) 」、 UNIX MAGAZINE 、 1993 年 7 ~ 11 月号 [ 2 ] 島ー「 UNIX 知恵袋ーネームサーバー ( 1 ) ~ ( 4 ) 」、 UNIX MAGAZINE 、 1997 年 3 ~ 5 月号、 7 月号 [ 3 ] 島慶・一「 UNIX 知恵袋ー secure Shell(1)—(3) 」、 UNIX MAGAZINE 、 1998 年 6 ~ 8 月号 [ 4 ] Dougras Comer 著、オ = 純・楠本賻之訳 CTCP/IP によ るネットワーク構築 V 。 l.l 』、共立出版、 1996 年 [ 文献 ] 121

4. UNIX MAGAZINE 1999年1月号

連載 / UN Ⅸ知恵袋ー 図 10 並フォントの言諚 fonts/Type1/,/usr/X11R6/1ib/X11/fonts/75dpi/,/usr/X11R6/1ib/X11/fonts/100dpi/,/usr/X11R6/1ib/X11/ catalogue = /usr/X11R6/1ib/X11/fonts/misc/,/usr/X11R6/1ib/X11/fonts/Speedo/,/usr/X11R6/1ib/X11/ 図 12 catalogue 命令彦正 ab=y : watanabe—mincho. ttf ¯watanabe¯mincho¯0b01d—r—norma1¯¯O¯O—O—O—c—0—j iSX0208.1983 ー 0 図 11 太字フォントの言 watanabe—mincho. ttf ¯watanabe¯mincho—medium—r—norma1¯¯0—0—O—O—c—O—j iSX0208.1983 ー 0 fonts/TrueType/ ける度合いを指定する。負の実数を指定すると、逆方向 に傾く。 ・ fs=[plmlc] 文字間の幅の引・算ガ去を指定する。 XLFD の S 四面 よりも優先される。 ・ bw = 7 ℃襯 文字を囲む四角形 ( バウンディング・ポックス ) の倍 率を指定する。文字をイタリック体にしたときなどは、 バウンディング・ポックスを小さく指定しないと横に広 がったフォントになってしまう。固定幅フォントでの み有効。デフォルトは 1 。 ・ sw=real 文字幅の倍率を指定する。デフォルトは 1 。 ・ ab=[yln] フォントを太字にするかどうかを指定する。 ・ eo = S わマれ 0 文字コード変換モジュールに渡される引数を指定する。 指定できる引数は変換モジュールによる。現状では特別 に引数を渡す必要はない。 ・ hi=[yln] TrueType フォントファイルに含まれているヒント情 報を使うかどうかを指定する。 例をみながら各タグの意味を石忍していきましよう。ま す、 watanabe-mincho. ttf というフォントファイルがあ るとします。このファイルには普通の太さの直立フォント かオ褓内されています。そこで、図 10 のように設定します。 これを太字にするには、 ab タグを使います。設定例を 図 11 に示します。 ab = y でフォントを太字にし、 XLFD のル e 朝厖を rnedium から obold に変史しました。 イタリック体なども同しように設定できます。数値の調 56 整は試行錯誤を繰り返すしかありません。実際に表示して 得幻整してください。 X フォントサーバーの利用 X サーノヾーが XFree86 3.3.2 ではないマシンも、 X- TT て構築された X フォントサーバーを使うことで True- Type が利用できます。逆にいえは、 XFree86 3.3.2 を運 用できる場合は、フォントサーバーは不要です。 フォントサーバーを使う場合、 X ー TT をインストールし たら、 X サーバーを使うときと同様にフォントを準備しま す。「フォントの準備」以降の節を参照して、 TrueType フォントファイルを適当なディレクトリにコピーし、 fonts . dir ファイルを作ってください。 次に、 X フォントサーバーの疋ファイルを修正し、追 加したフォントかオ褓内されているディレクトリをフォント パスに加えます。 X フォントサーバーカ甘是供できるフォン トは、成疋ファイルの catalogue 命令で指定します。設 定ファイルは /usr/X11R6/lib/XII/fs/config です。 X のパス名はシステムに合わせて読み替えてください。たと えは図 12 のように修正します。下線を引いた部分が追加 箇所です。 さらに、フォントの展開時間を短くするために defer- glyphs 命令を加えます。次の 1 行を設定ファイルに書き 加えてください。 de f erglyphs X では、ある文字を取得しようとすると、その文字集 合に含まれるすべての文字の展開を試みます。しかしなが ら、日本語、中国語、韓国語など、文字数が多い文字集合 を使っている竟では、文字の展開に時間がかかりすぎて 16 UNIX MAGAZINE 1999.1

5. UNIX MAGAZINE 1999年1月号

物第を物 ファイルの変更を終えたら、 config コマンドを実行し ます。 ファイアウォ -- ルの作り方一 白崎博生 - 続・透過機能の実装 # cd /usr/src/sys/i386/conf 前回は、カーネルと tn-gw を改造し、透過機能を使い # vi FW ( カーネル設定ファイルを編集 ) ながらそのイ督はみを説明しました。前回のパッチは、あく # config FW までもデモ用として tn-gw だけを考えたものなので、あ まり恰好よくありませんでした。 取後に、以下のコマンドを実行して、カーネルの再構築 そこで、今月は前回のパッチを整理して、ライプラリと とインストールをおこないます。 して共有できる部分を抜き出し、さらに tn-gw と rlogin- gw 、 ftp-gw 用にそれぞれ透過機能の追加パッチを作り # cd /usr/src/sys/compi1e/FW/ # make depend ます。 # make カーネルの改造 (FreeBSD の場合 ) # mv /kernel /kernel .01d カーネルの変更部分については前回も説明しましたが、 # cp kernel /kernel 念のために復習しておきましよう。 (BSD/OS の場合 ) # mv /bsd /bsd .01d ます、次のファイルを root の権限て編集します。 # cp bsd /bsd /usr/src/sys/netinet/ip-input. c カーネルのコンパイルとインストールか終ったら、 OS このファイルに次のような部分があります (FreeBSD 、 を再起動してください。 BSD/OS 2.1 と 3.1 のいすれにも同じ記述があるはす です ) 。 M akefil e の変更 それでは、プロキシー・サーバーのプログラムに透過 機能を追加しましよう。ただし、なんらかの理由で一時 的に透過機能のないプロキシー・サーバーを使う必要が 生じるかもしれません。そのような場合に備えて、コン パイル時のオプション指定によって透過機能を追加した り、外したりできるように改造します。具体的には定数 TRANSPARENT を定義しているかどうかで判断し、デフォ ルトでは透過機能を追加せず、定数を定義したときに茴 機能を追加したプログラムか生成されるようにします。 if (ipforwarding ipstat . ips—cantforward 十 + ・ m—freem(m) ; } else これを次のように変更します。 if (ipforwarding / * added for FWTK goto ours ; ipstat . ips—cantforward 十十・ m—freem(m) ; } else 24 UNIX MAGAZINE 1999.1

6. UNIX MAGAZINE 1999年1月号

連載 / IJN Ⅸ知恵袋ー 図 2 構築する X サーパーの尺 $ cd -/src/xc $ patch -pl —t く -/src/xtt-l . O/xtt—1.0. diff #define XF86SVGAServer #define XF86VGA16Server さらに、 ノヾージョン 1.0 からノヾージョン 1.0P100 への #define XF86VGA16Dua1Server アッフ。デート・パッチを当てます ( 誌面の都合ーで #def ine XF86MonoServer #define XF86MonoDua1Server 折り返しています。以羽司様 ) 。 #define XF86S3Server #define XF86S3VServer $ cd &/src/xc #define XF8618514Server $ zcat -/src/xtt10—to—p100. diff . gz ー - #define XF86Mach8Server patch —pl —t #define XF86Mach32Server $ cd -/src/xtt—l .0 #define XF86Mach64Server $ zcat &/src/xttdoc10—to—p100. diff . gz ー #define XF86P9000Server patch —pl -t #define XF86AGXServer こまでで、 TrueType フォント対応のコンパイル可 #def ine XF86W32Server #define XF861128Server 能な XFree86 のソースが手に入ります。 #define ServerToInsta11 XF86_S3 XFree86 のコン / ヾイル XFree86 をコンノヾイルするには、事前にコンパイルに 浪費を避けるため、自分が使用するディスプレイ・アダ 関する設定をおこなう必要があります。 プタに対応した X サーバーのみをコンパイルするように XFree86 のコンノヾイル時に参照される設定ファイル xf86site. def を修正したほうがよいでしよう。 は、 -/src/xc/config/cf/xf86site. def です。一般的な 具ー勺には次の定数を修正します。 XFree86 のコンノヾイルについての設定は、 XFree86 のマ ・ XF86 市夘″ - a 〃 7 、 - れ ameServer ニュアルを参照してください。こでは、 TrueType の ・ ServerToInsta11 操作にする項目について説明します。 市夘佖 d 叩 7 、 7 田 me にはディスプレイ・アダフ。タ ・ HasFreeType ( のチップセット ) の名称が入ります。たとえば、 S3 のチ FreeType ライプラリがインストールされているかどう ップを使っているディスプレイ・アダフ。タならば、図 2 の かを設定する。今回は FreeType を使うことが目的な ように修正します。 ServerToInstaII は /usr/X11R6/ ので YES に設疋する。デフォルトは YESO b ⅲ / X のシンポリック・リンク先、つまり X サーバーの ・ Bui1dWithFreeType 実体のファイル名を指定します。 TrueType フォントを使うかどうかを設疋する。デフォ 成疋ファイルの修正カったらコンパイルします。 ルトは YESO ・ FreeTypeLibDir $ cd -/src/xc $ make Wor1d FreeType のライプラリ・ファイル (libttf. a など ) があ るディレクトリを指定する。デフォルトは / usr / 1 。 cal / 無事にコンパイルカ鮗了したらインストールします。 libo $ su ・ FreeTypeIncDir # make install FreeType のインクルード・ファイルがあるディレク # make install . man トリを指定する。デフォルトは /usr/local/includeo 新規に XFree86 を導入するのでなけ川ま、マニュアル ・ FreeTypeLibName 類のインストールは不要です。 FreeType のライプラリ・ファイル名を指定する。デ フォルトは ttfo X サーバーのみインストール なお、標準の xf86site. def ではコンパイル可能なすべ すでに X の竟がある場合は、 X サーバーのみを x- ての X サーバーを構築します。時間とディスク領域の TT サーバーに変更することで TrueType フォントか利 50 UNIX MAGAZINE 1999 ユ

7. UNIX MAGAZINE 1999年1月号

連載 / UN Ⅸ知恵袋ー X フォントサーバーのみインストール X-TT に非対応の X サーバーを使っている場合でも、 X フォントサーバー経由で TrueType フォントか利用で きます。 X フォントサーバーのソースは X332src-1. tgz に含まれています。 X-TT の / ヾッケージには、 X332src- 1. tgz から X フォントサーバーのソースのみを展開する シェル・スクリプト (ext-xfs. (h) が付属しています。これ を使って x フォントサーバーのソースを展開しましよう。 $ cd -/src $ gzip —cd xtt¯l. 0. tar. gz ー tar xf $ sh xtt—l . O/ext—xfs . sh X332src¯l ・ tgz 次に X-TT のパッチを適用します。手順は、「 X サー バー、 X フォントサーバーの両方をインストール」の「 X- 次にフォントを用意します。商用フォントを購入するの TT パッケージの展開」と同様です。 patch -pl -t zcat -/src/xttdocIO—t0—p100. diff ・ gz ー cd -/src/xtt—l . 0 patch —pl ¯t zcat -/src/xtt10—to—p100. diff . gz $ patch —pl -t く -/src/xtt¯l . O/xtt cd -/src/xc ー1.0 . diff X フォントサーノヾーのソースは X332src-I. tgz の一部 ている旨のエラーメッセージか表示されますが、無視して わけではありません。存在しないファイルにパッチを当て を取り出したものです。 X-TT のパッチがすべて当たる ください。 パッチを当てたら X フォントサー ーをコンパイルし ます。 $ cd -/src/xc $ make xfs 無事にコンパイルカ鮗了したらインストールします。 $ su # make insta11 フォントの準備 52 の TrueType フォントを使ってみましよう。 か最善ですが、とりあえすは使い心地を試すためにフリー フリーて利用できる TrueType フォントとして、渡辺 フォントと和田研フォントを TrueType 形式に変換した ものがあります。 http://www.linux ・ or ・ jp/&ishikawa/ linux / X - TT / から入手できます。ここからたどることが できるダウンロード・ページでは、渡辺フォント、和田 研フォントを 1 つのファイルにまとめて xtt-fonts-(). 19981020 ー 3. tar. gz として公開しています。このパッケー ジには X - TT て利用するときに必要になるフォントディ レクトリ・ファイルやフォント別名定義ファイルも含ま れていますから、すぐに X-TT サーバーで使うことがで きます。 TrueType フォントを利用するには、適当なディレク トリにフォントファイルを置いて、 X サーバーにフォン トとして認識させる必要があります。例として、一物した フリーのフォントをインストールしてみましよう。 UNIX MAGAZINE 1999.1 $ xset fp rehash $ xset fp + /usr/X11R6/1ib/X11/fonts/TrueType 索をおこないます。 以下の手順でフォント検索パスの追加とフォントのド犲 ・ xset コマンドを使う の去で設定します。 の場合、フォント検索パスは以下の 2 通りのうちいすれか 最後に X のフォント検索パスを更新します。 XFree86 のまま使うことにします。 ジに付属しているフォントディレクトリ・ファイルをそ イルの詳細は彳あします。ここでは、フォント・パッケー イル ( f 。 nts. dir ) を作ります。フォントディレクトリ・ファ ントとして認識できるようにフォントディレクトリ・ファ フォントファイルの用意ができたら、 X サーバーがフォ /X11/fonts/TrueType 以下にフォントを置いています。 場所にコピーしてください。上の例では /usr/X11R6/lib などが置かれます。自分のシステム及に合わせて適切な 下にフォントファイルやフォントディレクトリ・ファイル f 。 nts ー 0.19981020 というディレクトリが作成され、その xtt ー fonts ー 0.19981020 ー 3. tar. gz を展開すると、 xtt- # mv xtt—fonts—O. 19981020 TrueType tar xf # gzip -cd xtt-fonts-O. 19981020 ー 3. tar. gz 一・ $ cd /usr/X11R6/1ib/X11/fonts

8. UNIX MAGAZINE 1999年1月号

図 1 昼磁皀と FWTK のユーサー認証を組み合わせる (a) tn-gw のルールに -auth オプションをオ諚 tn¯gw : permit—hosts * ¯auth (b) 過磁皀とユーサー認証と且合せ exp% telnet pepper. raccoon. doubutsu. CO ・ JP Trying 192.168.1.20. Connected t0 pepper. raccoon. doubutsu. CO ・ JP ・ Escape character iS Username : rascal Login Accepted Trying 192 . 168.1.20 port 23 . Connected t0 pepper. raccoon. doubutsu. co ・」 p ・ ← pepper に接続したい ←ファイアウォール上のユーザー認証 ←認証に成功 ←その後、 pepper に接続 BSDI BSD/OS 2.1 (pepper. raccoon. doubutsu. co. (p) (ttypO) login: ます最初に、 /usr/local/src/fwtk/Makefile. config ↓ DEFINES= の DEFINES の定義を次のように変更します。 前回説明したように、プロキシー・サーバーは自分自 ライプラリの改造 イラにオプションとして与えられます。 すべての C プログラムをコンパイルするときに 変数 DEFINES に定義した内容は、 FWTK に含まれる DEFINES=—DTRANSPARENT コンノヾ UNIX MAGAZINE 1999.1 あります。このなかの適当なファイルに追加すればよさそ スコードは、ディレクトリ /usr/local/src/fwtk/lib に FWTK のライプラリ・ファイル (libfwall. a) のソー のプログラムからも参照できるようにライプラリにしまし ます。この関数を、 tn-gw 以外のプロキシー・サーバー ックするために作成した関数 ifwithaddr() が含まれてい 前回のパッチには、、、宛先が自分自身かどうか " をチェ に接続するパッチを作りました。 コマンドモードに入り、そうでなけれはその宛先に〕顳勺 できます。そこで、 TCP 接続の宛先が自分自身であオ L は 自分自身に対するものかどうかをチェックすること鴦夬 シー・サーバーがコネクションの宛先を串ヾ、その宛先が 間題は、クライアントとの TCP 接続を確立したプロキ 身への接続に対しても透 ; 顳勺に衄してしまいます。この うです。ここでは、とりあえす hnam. c に追加すること にします。 FreeBSD 2.1.7.1 と BSD/OS 2.1 の場合は 末尾に示すリスト 1 のパッチ、 BSD/OS 3.1 の場合は同 じくリスト 2 のパッチを当ててください。 tn-gw の改造 tn-gw の改造は、前回とほほ 1 司じです。 tn-gw には、 -remhost オプションがあります ( 1998 年 5 月号参照 ) 。このオプションを付けて tn-gw を実行す ると、コマンドモードに入らすに、オフションの引数とし て莎えたホスト名のマシンに自重加勺に接続します。この処 理を利用す川ま簡単に匿できそうだと考えて作ったパッ チがリスト 3 です。 このパッチで追加されるコードは、 TCP 接続の宛先を 調べ、それが自分自身でない場合は宛先 IP アドレスをバ ッファ dest にコピーします。 また、 tn-gw のノレールに -remhost オフションを指定 した場合は、茴機能よりオプションの内容を優先するよ うにしました。 さらに、透過機能と FWTK のユーサー認証を組み合 わせることも可能です。たとえは、 -auth オプションを 指定した場合、リモートホストに接続する前に FWTK に よるユーサー言盟 E を要求し、認証に成功するとリモートホ ストに 6 顳勺に ) 接続します ( 図 1 ) 。しかし、ファイア ウォール上で認証を要求するとなると、もはや、、透茴的 " とはいえないかもしれません。 25

9. UNIX MAGAZINE 1999年1月号

Linux でリラックス 0 大崎博之 LOAD 凵 N と Linux カーネルの起動時バラメータ はじめに 前回は、 Linux カーネルのプートローダである LILO (LInux LOader) について説明しました。 LILO は、ディ スクのプートセクタやハードディスクの MBR (Master Boot Record) にインストールして使うので、ほかの OS を利用することなく、単独で Linux カーネルを起動でき ます。ただし、プートセクタや MBR といったディスク の管理領域を変更しなければならないため、ある程度の危 険がともないます。 今回は、もう 1 つのプートローダである LOADLIN を 紹介します。 LOADLIN の特徴は、 DOS 上て動作する点 にあります。プートセクタや MBR を変更する必要がない ので、それだけ安全なプートローダといえます。 LOAD- LIN の使い方については、この連載の 2 回目 ( 1998 年 9 月号 ) でも簡単に触れましたが、 く説明します。 こではもうすこし詳し LILO や LOADLIN を使用すれは、 Linux カーネル の起重加学にカーネルに対してパラメータを渡し、 ( カーネ ルを再コンパイルすることなく ) Linux カーネルやデバイ スドライバの動作をある程度変えられます。そこで、今回 は Linux カーネルの起重加ヤヾラメータについても説明し ます。 この記事では、 Linux カーネルのノヾージョン 2.0.36 ( 執筆における最新の安定版カーネル ) をもとに説明し ます。こオリ丿汐 P ) バージョンのカーネルでは異なる部分が あるかもしれません。また、 Linux カーネルのソースツ リーのトッフ・ディレクトリ ( 通常は /usr/src/linux) を $TOPDIR と表記しています。 UNIX MAGAZINE 1999.1 LOADLIN 1 国内では、 ftp://sunsite.sut.ac ・ jp/pub/archives/linux/ など のため、 LILO のようにプートセクタや MBR を変更す Linux カーネルのイメージを読み込んで起動します。 LOADLIN はいったん DOS を起動し、そこから ダとしてどちらを使えばいいのでしようか。 パラメータを渡すことができます。それでは、プートロー ートローダであり、どちらも Linux カーネルの起重加こ LILO も LOADLIN も、ともに Linux カーネルのプ LILO と LOADLIN の比較 きません。 したプログラムなので、それ以外のハードウェア上では動 なお、 LOADLIN は PC 互換機のハードウェアに依存 読み込まれる config. sys から実行します。 ンフト .com/and.com) か、 DOS の起重加芋に自重加勺に くプログラムです。したがって、 DOS のコマンド・プロ さきほども書いたように、 LOADLIN は DOS 上で動 まれています。 LOADLIN は、多くの Linux 配布パッケージにも含 dualboot/lodlin16. tgz ・ ftp://sunsite.unc.edu/pub/Linux/system/b00t/ FTP で入手できます 1 。 ージョンは 1.6 で、一ド記のサイトなどから anonymous 上で動く Linux カーネルのプートローダです。最新のバ LOADLIN は、 Hans Lermen 氏が作成した DOS に置かれています。 141

10. UNIX MAGAZINE 1999年1月号

ようになります。これらの方法を同時に複旨定したとき 3. 〕匿 ; 造機育皀 2. rlogin の一 1 オフション 1. rlogin-gw の—remhost オプション は、次の順位で接続先か決定されます。 以 . E の改造か終ったら、次のコマンドを実行して新し インストール の透過機能は働きません。 ただし、 -extnd と -authall を指定した場合、 ftp-gw ftp¯gw: permit¯hosts * ¯authall ¯extnd に指定する必要があります (f 策のようです ) 。 フションを指定する場合は、 -authall オプションも同時 きました。一方、 ftp-gw の permit-hosts で -extnd オ hosts には -extnd オフションだけを指定することがで tn-gw と rlogin-gw の場合、ノヾラメータ属性 permit- のにくらべて長くなってしまいました。 うなわけで、 ftp-gw へのパッチ ( リスト 5 ) はほかのも gw は流用しにくいように書かれているからです。そのよ コードか流用しやすく ( ? ) 書かれていたのに対して、 ftp- いからではありません。たまたま tn-gw や rlogin-gw の これはプロトコルか複雑であるとか、プログラムか難し 単ではありません。 ftp-gw の改造は、 tn-gw や rlogin-gw の場合ほど簡 ftp-gw の改造 TK のユーサー言正を組み合わせることができます。 rlogin-gw の場合も、 tn-gw と同様に茴機能と FW- いプログラムをインストールします。 # cd /usr/local/src/fwtk # make # make install その他のプロキシー・サーパー 今回は tn-gw と rlogin-gw 、 ftp-gw にあ過機能を実装 しました。 FWTK には、これらのはかに http-gw や x- gw 、 plug-gw 、 smap などのプロキシー・サーバーも含ま れています。これらは改造しなくてもいいのでしようか。 現在リリースされている Web プラウサの多くはプロキ シーに対応しているので、 http-gw を改造するまでもな く、クライアント側て対応できます。 X プロトコルを過的に通すとセキュリティ上の間題 が生しるので、 x-gw の改造はお勧めできません。 SMTP のプロキシー・サーバーである smap ( 次回に綛 介します ) については、透過機能を追加しなくても、 ( 厳 密には透過的ではありませんが、すくなくともユーサーに とっては ) 茴的に動くようにみえるので、これも置の 必要はありません。 この連載ではまた齠介していない plug-gw は、改造す る価値があるかもしれません。これについては、 plug-gw をとりあげるときに説明します。 ☆ ( しらさき・ひろお ) と、 SMTP のプロキシー・サーノヾーである smap の疋 次回は、ファイアウォール環境での電子メールの説明 をおこないます。 リスト 1 ライプラリの改造 (FreeBSD 2.1.7.1 、 BSD/OS 2.1 用 ) * * * hnam . c . 01d Wed Dec 11 03 : 08 : 48 1996 hnam . c * * * 17 , 22 * * * * #include #include #include 17 , 28 Sat Nov 7 17 : 31 : 58 1998 く ctype. h> く syslog. h> く netdb . 五 > + #ifdef TRANSPARENT 十 #include + #include + #include + #include + #endif く stdlib . h> く sys/ioctl. h> く net/if . h> く net/if—dl . h> UNIX MAGAZINE 1999.1 27