・・インストール この特集では SOCKS については説明しませんが、必 ・ http://www.oberhumer.com/opensource/lzo/ ドする必要はありません ) 。 BSD では ports に含まれているため、ここからダウンロー . tar. (z) を下記の URL からダウンロードします (Free- 次に、 LZO ライプラリのソースパッケージ ( レ 0 ー 1.08 お勧めしません。 することも可能ですが、通信内容の暗号北ができないので しておきましよう。 OpenSSL を組み込まずにコンパイル テムにこれらが入っていない場合は、事前にインストール リとインクルード・ファイルが必要です。使っているシス OpenVPN のコンパイルには、 OpenSSL のライプラ ンロードしたものを使います。 ンが旧い ( 1.4 ) ので、この特集では Web ページからダウ は ports からコンパイルすることもできますが、バージョ のソースパッケージをダウンロードします。 FreeBSD で ョンの、、 . tar. gz " のリンクをクリックし、 OpenVPN 1.6 まず、図 21 のページの左側にある、、 Dow ⅲ oad " セクシ Red Hat Linux と FreeBSD ます。 xp に OpenVPN 1.6 をインストールする方法を紹介し 以下では、 Red Hat Linux と FreeBSD 、 Windows コンパイルは、次のようにたいへん簡単です。 要であれば適切なライプラリを用意します。 Red Hat Linux の場合 # tar xvzf 1Z0 ー 1 .08. tar ・ gz PPTP プログラムと OpenVPN ・・ # cd どこか # tar xvzf openvpn—l . 6 . 0 . tar ・ gz # cd openvpn—l . 6.0 . /configure ——prefix=/usr \ —with—lzo—lib=/usr/local/lib \ —with—lzo—headers=/usr/local/include # make # make install ・ Red Hat Linux の場合 ジュールがロードできるかを確認します。 て構築されています。そこで、次のコマンドを実行してモ では、 TUN/TAP デバイスはカーネル・モジュールとし う。 Red Hat Linux と FreeBSD のデフォルトの構成 が正しくカーネルにロードされるかを確認しておきましよ また、 OpenVPN を動かす前に、 TUN/TAP デバイス する両端のホストでおこないます。 いうまでもありませんが、これらの作業は VPN を構築 # chkconf ig ——add openvpn /etc/init . d/openvpn # cp sample¯scripts/openvpn ・ init \ ンストールします。 Red Hat Linux の場合は、さらに init スクリプトもイ # modprobe tun # lsmod ロ心、 # cd 120 ー 1 .08 . /conf igure # make # make insta11 # cd どこか # tar xvzf openvpn¯l . 6 # cd openvpn—l . 6 . 0 . /configure —¯prefix # make # make instaII ・ FreeBSD の場合 . 0 . tar =/usr —enable —pthread # cd /usr/ports/archivers/lzo # make # make install UNIX MAGAZ 工 NE 2004.8 # ls /dev/net/tun ←確認 /dev/net/tun がなかったら以下を実行 # mknod /dev/net/tun c 10 200 ・ FreeBSD の場合 # kldload if_tun # k1d10ad if—tap # kldstat モジュールのロードに失敗した場合は、そっと胸に手を 当てて、過去に自分でカーネルを再コンパイルしたことが ないかを思い出してみましよう。もしかすると、そのとき に TUN/TAP デバイスを外してしまったのかもしれませ ん。 Windows XP 同じく図 21 のページの左側にある、、 Download" セク ションの self-install. exe のリンクをクリックして、イン ストール・パッケージをダウンロードします。 ダウンロードしたら、ファイルを開いてインストーラを 起動します。あとは、 [Next] や [ 続行 ] をひたすらクリッ クするだけでインストールは完了です。インストールの途 47
VPN ツールの使い方… 2 図 15 /etc/ppp/options ・ pptp の言列 (Linux) lock nobsdcomp no aut h noipdefault refuse—mschap nomppe—40 require-mppe—128 図 18 /etc/ppp/iP-UP. local の言列 (Linux) 図 16 クライアント用 /etc/ppp/chap-secrets の言諚例 (Linux) # account server password aa867544b0 p anda 工 P addr 図 17 /etc/ppp/peers/unilnag の言列 (Linux) user panda file /etc/ppp/options ・ pptp # ! /bin/sh # Check if link is a PPTP if [ "echo $ 2 ー cut —f ー 3 —d/' " # $ 1 : device name # $ 4 : 10Ca1 addr # $ 5 : remote addr " /dev/pts" ] ; then route add -net 192 .168.1.0 netmask 255 . 255.255.0 gw $ 5 しかし、サーバー側ホストを再起動するたびに上記のコ マンドをいちいち実行するのはひどく面倒です。 Red Hat Linux の場合は、 /etc/rc. d/rc. local に言当しておくとよ いでしよう。 FreeBSD の場合は、 /etc/rc. conf に gate- way-enable= ” YES ”を追加します。 ・・ PPTP Client 次に、 Red Hat Linux や FreeBSD からも PPTP 接 続できるように、 PPTP のクライアント・ソフトウェアで ある PPTP Client をインストールします。 PPTP Client は、、、そのまんまやん " と突っ込みたく なるほど名前どおりの PPTP クライアント・プログラム です。 Poptop と同じく、 PPP トンネルの処理にシステ ムに付属する PPP プログラムを利用するため、 Red Hat Linux では pppd プログラム・ファイルの入替えとカーネ ル・モジュールのコンパイルが必要になります。作業手順 については、前述の Poptop のインストール作業のところ を参照してください。 PPTP Client のソースパッケージは、図 2 の PPTP Client の Web ページからダウンロードしてください。 FreeBSD では ports からコンパイルすることもできま すが、バージョンがすこし旧い ( 1.1.0 ) ので、この特集で は Web ページからダウンロードしたものを使います。 このインストール作業で面倒なところは、 pppd の入替 えとカーネル・モジュールのインストールだけで、 PPTP Client 自体のコンパイルは次のようにたいへん簡単です。 f i 44 図 19 /etc/ppp/PPP ・ conf への〕劬列 (FreeBSD) ただし、 FreeBSD でコンパイルする場合は、 Makefile # make install # make cd pptp—linux-l . 4.0 # tar xfvz pptp—linux—l . 4 . 0. tar . gz add 192.168.1.0 / 24 HISADDR set ifaddr 0 0 set timeout 0 set authkey aa867544b0 set authname panda ↓ PPPD = /usr/sbin/ppp PPPD = /usr/sbin/pppd の以下の 2 カ所を下線部のように書き換えてください。 CFLAGS CFLAGS -Wa11 -Wa11 ↓ $ ( 工 NCLUDE) $ (INCLUDE) -DUSER_PPP PPTP C ⅱ ent を使ってみる PPTP Client を実行するには、以下の設疋ファイルを 用意します。 ・ Red Hat Linux の場合 /etc/ppp/options ・ pptp /etc/ppp/chap-secrets /etc/ppp/peers/ コネクション名 ・ FreeBSD の場合 UNIX MAGAZ 工 NE 2004.8
連載 / UN Ⅸ便利帖ー 0 図 2 ソースコードの入手 % cvs get —r vaIidator—0—6—6—reIease validator CVS password : anonymous" と入力 (Logging in t0 anonymous@dev.w3.org/ % cvs login % setenv CVSROOT :pserver : anonymous@dev.w3.org//sources/public (b) CVS リポジトリの不 % fetch http://validator.w3.org/sgml-lib.tar ・ gz % fetch http://validator.w3. org/validator.tar ・ gz % cd /tmp (a) * ・ tar ・ gz ファイルのダウンロード インストールの前に それでは Markup Validator をインストール、 いきたいところですが、本体をインストールする前に次の 2 つを揃えておく必要があります。 ・ OpenSP (SGML パーサ ) ・ Perl のモシュール といっても、 FreeBSD には豊富な ports がありますか ら、これらの作業にたいした手間はかかりません。 OpenSP は /usr/ports/textproc/opensp を利用し ます。この port のバージョンは 1.5 で、さいわいにも Markup Validator が必要とするバージョンと同じです。 % cd /usr/ports/textproc/opensp % sudO make install これで、 SGML パーサ onsgmls が /usr/local/bin に インストールされます ( 上の例で実行している sudo コマ ンドは一時的に管理者権限を利用するためのもので、これ も port を使って /usr/ports/security/sudo からイン ストールできます ) 。 次は、 perl のモジュールのインストールです。その前 に、 perl のバージョンをチェックしましよう。 今回利用した FreeBSD 4. IO-RELEASE では、 OS 標 準の perl が /usr/bin/perl としてインストールされてい ます (FreeBSD の current と呼ばれる最新版では、 OS 標準の perl はインストールされないようです ) 。この Perl のバージョンは 5.005 ー 03 でした。 Markup VaIidator を 利用するには、すくなくともバージョン 5.6.0 が必要なの で、まずは Perl そのものを ports からインストールし ます。以下ではバージョン 5.8 系列の最新版をインストー ルしていますが、 /usr/ports/Iang/per15 にバージョン 104 5.6.1 のための p 。 rt があるので、こちらを利用してもかま いません。 % cd /usr/ports/1ang/per15.8 % sudO make install このインストール作業が終了しても /usr/bin/perl は 自動的には置き換えられす、標準で利用される Perl はま だ 5.005 ー 03 のままです。これを、いまインストールした ものに変更するには次のようにします。 % sud0 use . perl port こうすると、 / usr / b ⅲ / perl からいまインストールした /usr/local/bin/perl ヘリンクカ胙られ、標準で利用され る perl がバージョン 5.8.4 になります ( これをもとに戻 す ( リンクをやめる ) には、、、 sudo use. perl system" と します ) 。 続いて、 perl のモジュールをインストールします。 Markup Validator はいくつものモジュールを必要と し、各モジュール間に依存関係があります。そのため、必 要なモジュールを簡単にインストールする仕組みとして Bundle-W3C-VaIidator5 が用意されています。 インストール・ガイドには、これが、、 easy and strongly recommended way" であると書かれていますが、残念な がら FreeBSD の場合はそのままではうまくいきません。 さいわい、インストール・ガイドには Markup VaIidator で必要となるモジュールが具体的に書かれているので、今 回はこれらを 1 っすっ p 。 rts からインストールしました。 FreeBSD では、こちらの方法が、、 easy and strongly rec- ommended" だと思います。 ports からインストールしたモジュールは表 1 のとおり です ( 右欄では頁の、、 /usr/ports/" を省略しています ) 。 5 http://search.cpan ・ org/dist/BundIe-W3C-Validator/ UNIX MAGAZ 工 NE 2004.8
図 1 Poptop の公式、 Veb ページ Poptop - The PPTP S 、で r for Linux L 靆”を、い ble ”ト 3 “ 1 は 3 ・をⅱ里 L ・ b ・ね” le ” i 、 1 0- ト 3 - 第輔 ! - 0 匯に 2 当岨四迂駅引殳起引当 ! 当ー基引区い ! を 0 op は出 ePP1 ? ま印′ 3 血 onfi I . 20 00 滝 forS0 朝 26.0 当以巨当当 do 山一 、 \hat is PPTP? を PI ア就聞土 f Po を 0 0 猷 T 山 e& 店飜 00 w 第 elop を d ト yacon ”血 0 面場 一応 ( 彦 0 & dis edf に h 新 g 、 TN ( 当型を ! ! ! ) セ ! ぎ 9 ) 0 地 ls 氈「 0 “市 e 第 1 一心 0 響 3 代 mo 比ー 3500 0 ツ衄 d 田 0 崢 00 ”ツ 00 “山 00 甲靆 0 0 0 を . 丘れ ywl にに m PPI ア a 畆に v mo 奴に北場 1 Ncot 山 taon ー Mo は石び叩を ra 面 g , m , 計叩閉出 a 2 はし印し 30 出質 0 にれ 0 ed い p ! d - p 田凸い 0 トを誕 0- を P 籬 , h 記 00 、 ad 町 00V 0 山” VPN “いⅡを第 yto “ 0 年 、、 ' h is Po to ? 図 2 PPTP Client の公式・ Web ペーシ 、 tf 伊・いド洋 Overview PPTPClien いら aL れ」ん FreeBSO, トに旧 SD (b)er8SD client fO 「 the p 「 0 師嬉 t y M ーび 0S0 代 PO ⅱ 1 し tO や朝 nt Tu 「をⅱ「 0 0 [ 0 こ 0 し PPTP• AllOwS ( 0 「 r をは ion tO 8 PPTP based Ⅵ「れーⅳ e twO ⅸ ( V 4 ) ーおを d by emp\oyers ま 1dS311e cable ⅵ AOSL intemet 5 部ⅵ ( を 0 ⅵ d 部 5 トわ 5 ロ ng provided by SO ceF 02. $»nsored by 日 P. ・ P ・ com PPTP Client のび 0 / 佃 w を ns 引 . 0 〃 " v 0 ツを 0 5 一と ( 【「こ e のせ感ー蓴 2n5 & Ti ( 0 心 わ / E A / 0 ( / : Ⅳ度てお " 物店 0 まにいをひ地 5 奮 0 、 2-4.0 新ユ 4 コ that 々わ「′ 0 ま人 - い 0 ゴし、地ゞ c Ⅳ 0 ! 0 a バ 1 に 50 Ⅳ ew 「に を 0n1 OW7SSLwe 「 e こ 0 ) i 、 Because 0 「 th . we rnust say forPPP-t 、 IPPE added tO ppp by p 砂」 Cadach (pみ』@めdし e し t e00n1 、 kz ) - TWO 反い c い PPP-MPPE 2.40 and 2.41 contain MS-CHAP-v2 nd MPPE s 0 代 that 雇部を d under a BSO without adv ⅱ引 ng cl 印」 se license. 「や P 2.42 contains MPPE 氤 2P0 「印土」 ed by F 「ⅸ 0 3 ( k 1d0 旧僑 . tl Q せ - 自 : 戛 : Ⅱ誕 There have been m ィⅣこ師ⅱし」ⅱ ons by users Of PPTP 20 PPTPClient W35 known P ! 黝「瓰 x d W85 written by PPTP Client ⅱこ自 152d し「め e 「 the GN 」 G 日 -•e 「引角」に LiCense (GPL) ver PPP フレームの解析が可能な ) ものを使用する必要があり ます。 上で述べたように、 Windows ホストには PPTP アプ リケーションをインストールする必要はありません。同じ ように、 Red Hat Linux や FreeBSD にも組み込まれて います、 ・・と言えればめでたしめでたしですが、世の中 はそれほど甘くありません。 UNIX で使える PPTP プログラムはいくつかあります が、この特集では、以下の 2 つのツールを Red Hat Linux と FreeBSD で使用する方法を紹介します。 ・ poptop 1.1.4- b4 (PPTP サーバー ) http://www ・ poptop ・ org/ ( 図 1 ) ・ PPTP Client 1.4.0 (PPTP クライアント ) http://pptpclient.sourceforge.net/ ( 図 2 ) UNIX MAGAZINE 2004.8 PPTP プログラムと OpenVPN Poptop Poptop は Linux や FreeBSD で動く PPTP サーバ ー用プログラムで、執筆時の最新安定版は 1.1.4 ー b4 です。 poptop では ppp トンネルの通信処理を外部プログラム に任せるので、別途 ppp プログラムのインストールも必 要です。前述したように、 PPTP の認証や暗号化通信の 枠組みは PPP でおこなわれるため、 PPP プログラムが MS-CHAPv2 と 128bit RC4 に対応している必要があ ります。 ところが、 Red Hat Linux に含まれている pppd プロ グラムは、 MS-CHAPv2 と 128bit RC4 に対応してい ないため、プログラムを入れ替えなければなりません。さ らに、 PPP の処理をカーネル・モジュールで実装している ので、カーネル・モジュールにパッチを当てて再コンパイ ルする必要もあります。 じつは、 Windows の設定を変更し、 MS-CHAPv2 と RC4 を使用しないようにすれば、カーネルと PPP プロ グラムにパッチを当てる作業は不要になります。しかし、 その場合は通信の号化オプションを外すので、 VPN の メリットが大幅に減ってしまって嬉しくありません。よっ て、この選択肢は頭のなかから追い払うことにします。 一方、 FreeBSD の場合は、 pppd のほかに ppp (user- ppp とも呼ばれます ) というプログラムが含まれています。 嬉しいことに、この ppp は MS-CHAPv2 と 128bit RC4 をサポートしています。もちろん、チャレンジ精神旺盛な 人は、 Red Hat Linux と同じように pppd を入れ替えて もよいでしよう。しかし、私と同じくすっかり軟弱になっ ・・いや、なにかと忙しくて時間がとれない人のため 37 トールすると、 GRUB の設疋ファイル /etc/grub. conf も にアップグレードします ( カーネルのパッケージをインス まず、最新のカーネル・パッケージを入手し、次のよう ・ kernelmod-(). 8.4. tar. gz ます。 Downloads ページから以下のファイルをダウンロードし カーネルにパッチを当てるには、上記の Poptop の Red Hat Linux での入替え作業 に USer-PPP を利用する方法を紹介します。
PPTP プログラムと OpenVPN ・・ 図 20 PPTP キの反想ネットワーク・インターフェイス ・ Red Hat Linux の場合 pppO Link encap:Point—to—Point P て 0t0C01 inet addr : 192 . 168 . 0 . 100 P ー t ー P : 192 .168.0.90 Mask : 255 . 255 .255 .255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU: 1500 Metric : 1 RX packets : 5 errors : 0 dropped:O overruns : 0 frame : 0 TX packets : 5 errors : 0 dropped:O overruns : 0 carrier: 0 collisions : 0 txqueuelen: 3 RX bytes:72 ( 72.0 b) TX bytes:66 ( 66.0 b) ・ FreeBSD の場合 tun0 : f1agS=8051 く UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 192. 168.0. 100 ーー > 192.168.0.90 netmask Oxffffff00 /etc/ppp/ppp. conf ファイルを作成する必要があります。 きに糸登各を登録したい場合は、図 18 のようなスクリプト・ 能はありません。したがって、 PPTP 接続カ蔀寉立されたと Red Hat Linux の pppd には、経路表を操作する機 示します。 うなファイル名にするとよいでしよう。設定例を図 17 に る内容を言丕するものです。接続先の名前カ哉別できるよ 最後の言定ファイルは、接続先 PPTP サーバーに依存す ィールドが、、 * " に変わっています。 図 16 に示します。図 8 の内容とそっくりですが、第 2 フ なうユーザーのアカウント情報を登録します。設定例を 次の chap-secrets ファイルには、 PPTP 接続をおこ 設定をおこないます。 イルでは、 PPP セッションの認証や暗引ヒ方式に関する options ・ pptp の設定例を図 15 に示します。このファ を用意する定例を紹介します。 で、以下では現実的な方法として、上記の 3 つのファイル を使うこと自体が嫌になってしまうかもしれません。そこ びに大量のオプションを入力するのは大変ですし、 PPTP で指定することもできます。しかし、 PPTP 接続をするた ず、すべて pptp プログラムのコマンドライン・オプション 極端にいえば、 Red Hat Linux では設疋ファイルを用意せ PPTP Client の起動にはいろいろな方法があります。 一方、 FreeBSD の場合は、 /etc/ppp/ppp. conf に 図 19 の設定例を追加してください。 authname と auth- key は、 PPTP 接続の認証に使われるアカウント名とパ スワードです。最後の add で始まる行では、 PPTP 接 続に成功したときに経路表に追加するエントリを定義しま す。もちろん、複数定義してもかまいません。この行の HISADDR は、 PPP トンネルの対向側アドレスに置き 換えられます。 これらの設定力鮗ったら、 PPTP CIient を実行する準 備カったことになります。 PPTP サーバーに接続する には、以下のコマンドを実行します。 Red Hat Linux の 場合の、、 unimag" は図 17 のファイル名、 FreeBSD の場合 の u ⅲ mag " は図 19 の 1 行目のラベル名を指定します。 ・ Red Hat Linux の場合 # pptp PPTP サーバー側ホスト名 call unimag ・ FreeBSD の場合 # pptp PPTP サーバー側ホスト名 unimag 接続に成功すると、仮想ネットワーク・インターフェイ スカ胙られ、図 20 のように IP アドレスか第殳定されます。 PPTP の接続を切断するには、クライアント側ホストの プロセス pptp に TERM シグナルを j 言します。たとえ は次のようにします。 ← Red Hat Linux の場合 # pkill pptp # ki11a11 pptp ← FreeBSD の場合 OpenVPN ・ OpenVPN は、前号で紹介した VTun と同様、 TUN/ TAP デバイスに入出力されたバケットをユーザー空間で 動くプログラムを用いて吸い上げ、 TCP や UDP で包ん UNIX MAGAZ 工 NE 2004.8 で通信する仕組みの VPN を構築します。 TCP や UDP を使っているので、通信経路の途中に NAT があっても問 題なく使えますし、 TCP で包む場合は SSH トンネルのな 45
VPN ツールの使い方… 2 図 9 /etc/ppp/PPP ・ conf に追加する言聢窈列 (FreeBSD) pptp : set timeout 0 set 10g phase chat connect lcp ipcp command disable pap enable proxy enable MSChapV2 enable mppe set mppe 128 stateless set ifaddr 192. 168 . 0 . 90 192 . 168 . 0 . 100 ー 192. 168.0. 109 255.255.255.255 第 2 フィールドのサーバー名は、図 7 の name で指定 した名前と一致させる必要があります。第 3 フィールドの パスワードは平文で言します。したがって、システムへ のログインなどの認証で使っているパスワードとは別のも のを設疋しましよう。また、ファイル自体の取扱いにも十 分注意してください。 図 8 の例では、前述したとおり、ユーザーが PPTP サー バーに接続したときに空いているアドレスを動的に割り当 てるように設疋しています。一方、ユーザーに対して固定 的に IP アドレスを割り当てたいときは、図 8 の第 4 フィー ルドの、、 * " ( アスタリスク ) の代わりに、そのアドレス自体 を言杢します。たとえば、 panda pptpd aa867544b0 192 .168 . 0.110 と書いておくと、ユーザー panda の PPTP クライアン トには、つねに 192.168.0.110 が割り当てられるようにな ります。 一方、 FreeBSD では /usr/sbin/ppp の設疋ファイル を編集します。 ます、 /etc/PPP/PPP. conf の最後に図 9 の設定例を追 加します。図 9 の 1 行目の pptp : " は別の名前に変更して はいけません。この名前は、 pptpd のソースにハードコー ドされているからです。 この設定例では、 PPP セッションの認証や暗号化方式に 関する設定のほかに、 PPP トンネルに割り当てる IP アド レスも設疋しています。図 6 の設定と重なっている部分が あるようにみえますが、そのとおりです。ただし、 Poptop と USer-PPP の組合せでは、互いに独立して IP アドレス を管理しようとするため、このように両方の設定ファイル に言しなければならないようです。 PPTP 接続を許可するユーザーのアカウント情報は、 /etC/PPP/PPP. secret ファイルに登録します。設定例を 図 10 に示します。以下のように、パスワードに続けて IP 図 10 /etc/ppp/PPP ・ secret の言綻例 (FreeBSD) p anda lesser raccoon aa867544b0 f472dCe357 d042d9708f アドレスを言杢すると、ユーザーに対して固定的に IP ア ドレスを割り当てます。 panda aa867544b0 192.168.0.110 編集が終ったら、次のコマンドを実行して PPTP サー # /usr/local/sbin/pptpd —d # ki11a11 pptpd ・ FreeBSD の場合 /etc/init . d/pptpd restart ・ Red Hat Linux の場合 バー・プログラムを再起動します。 開きます。以下に、設定手順を説明します ( 図 11 も参照し 成 " をクリックすると、、ネットワークの接続ウイザード " が トワークとダイヤルアッフ接続 " を開き、、、新しい接続の作 Windows 2000 では、コントロール・パネルの、、ネッ Windows 2000 の場合 Windows 2000 と XP での設定手順を説明します。 と言われそうですが、何はともあれ、まずはテストです。 未があるんや」 「すぐそこにある PC とのあいだで VPN 張って、なんの PC から PPTP サーバーに接続してみましよう。 Poptop の言定が終ったら、ためしに手許の Windows Windows での PPTP クライアントの言又疋 てください ) 。 (a) [ 次へ ] をクリックする。 ( b ) 、、インターネット経由でプライベートネットワ 接続する " を選択し、 [ 次へ ] をクリックする。 ークに 40 UNIX MAGAZINE 2004.8
VPN ツールの使い方… 2 図 3 カーネルにパッチを当てる (Linux) # tar xvfz kerneImod—O . 8.4. tar. gz # cd kerne1mod-0.8.4 # In —s linux—default—bsd—mppe src/bsd—mppe . / .. / 2 . 4 src/bsd—mppe/2.4 # 1n —s # . /kernelmod. sh 書き換えられるので、以下のコマンド実行が終ったら内容 を確認しておきましよう ) 。 # rpm -Uvh kerne1-2.4.20 ー 31 . 9. i686. rpm # rpm —Uvh kerneI—source—2.4.20 ー 31 . 9. i386. rpm これでカーネルのアップグレードは終りです。ここでい ったんシステムを再起動します。 システムが起動したら、カーネルの再構築作業を始めま す。ます、図 3 のようにして、カーネルに対してさきほど ダウンロードしたパッチを当てます。 kernelmod. sh を実行すると、バックグラウンドでカー ネル・モジュールのコンパイルとインストールが始まりま す。インストール処理が終ったら、次のコマンドを実行し てカーネル・モジュールがロードできることを確認してお # lsmod # modprobe ppp-mppe きましよう。 38 ・ pptpd ー 1.1.4 ー b4. i386. rpm Hat Linux の場合は、これを利用するのが手でしよう。 く、以下のバイナリ・パッケージも配布されています。 Red poptop の Web ページでは、ソースコードだけでな Poptop のインストール これで pppd の入替え作業は終りです。 # rpm -Uvh ppp ー 2.4.2 ー cvs ー 20040102 ー 1 . i386. rpm 入れ替えます。 そして、以下のコマンドを実行して pppd プログラムを pptpclient/ppp-2.4.2ーCVSー20040102ー1. i386. rpm ・ http://prdownloads.sourceforge.net/ ロードします。 まず、下記の URL からバイナリ・パッケージをダウン ストールはいたって簡単です。 ます。といっても、バイナリ・パッケージがあるのでイン 次に、 pppd を MS-CHAPv2/RC4 対応版に入れ替え 図 4 modules. conf に追加するエントリ (Linux) alias ppp ppp—generic alias char-maj or ー 108 ppp—generic alias ppp-compress-18 PPP—111PPe alias ppp-compress—21 bsd—comp alias ppp—compress-24 ppp—deflate alias ppp—compress-26 ppp—deflate alias net—pf—47 ip-gre パッケージをダウンロードしたら、次のコマンドを実 行してインストールし、ファイル /etc/modules. conf に # make insta11 # make # cd /usr/ports/net/poptop うにしてインストールします。 FreeBSD の場合は ports に含まれているので、次のよ # rpm —ivh pptpd—l . 1 . 4 ー b4. i386. rpm 図 4 のエントリを追加します。 UN 工 X MAGAZINE 2004.8 習を目的としたもので、 PPTP サーバーとクライアント てください。、、テスト用 " として紹介している設定例は練 もクライアントも手が届くところにあるホストでおこなっ 前回も書きましたが、以降のテストは、かならずサーバー /etc/ppp/ppp ・ secret /etc/ppp/ppp. conf /etc/local/etc/pptpd. conf ・ FreeBSD の場合 /etc/ppp/chap-secrets /etc/ppp/options ・ pptpd /etc/pptpd. conf ・ Red Hat Linux の場合 なりません。 は、すくなくとも以下の 3 つのファイルを編集しなければ PPTP クライアントからの接続リクエストに応えるに ましよう。 インストールが終ったら、さっそく PPTP で遊んでみ ・・ Poptop を使ってみる USer-PPP ではなく pppd を使おうとします。 してください。これを指定しないと、 Poptop サーバーが ンドの引数に、、 WITH-KERNPPP=I" を追加して実行 FreeBSD 5.2. x でコンパイルするときは、 make コマ
PPTP プログラムと OpenVPN ・・ 図 7 /etc/ppp/0Ptions ・ pptpd の言諚例 (Linux) lock name pptpd nobsdcomp auth pr oxyarp require—mschap—v2 refuse—mschap require¯mppe require—mppe-128 nomppe-40 nomppe—stateful 同じネットワークに接続されている かのように振る舞う 図 8 /etc/ppp/chap-secrets の言列 (Linux) IPaddr # account server password 図 6 pptpd. conf の言綻例 (Linux/FreeBSD) pptpd aa867544b0 panda pptpd f472dCe357 lesser option /etc/ppp/options ・ pptpd # FreeBSD では不要 pptpd d042d9708f raccoon localip 192.168.0.90 remoteip 192 .168.0.100 ー 109 たとき、 remoteip に設定されたアドレス範囲から未使 がインターネットを介して通信することは想定していませ 用のものを自動的に選んでクライアントに割り当てます。 ん。当り前ですが、勉強のために実環境のネットワークを ( ューザーに対して固定的に割り当てることもできます ) 。 使うのはやめましよう。 図 6 の設定例では、サーバー側の IP アドレスにはつねに こでのテストは、図 5 のように仮想 LAN 接続をお 192.168.0.90 を言定します。 こないます。このテストでは、 PPTP クライアントが 以上で pptpd. conf ファイルの編集は終りです。その他 PPTP サーバーと同じネットワークに接続されているか の設疋項目の詳細については、 pptpd. conf のマニュアル のように振る舞います。 を参照してください。 クライアント側の OS が Windows の場合、サーバー側 Red Hat Linux では /usr/sbin/pppd を利用するた の LAN ( 図 5 の例では 192.168.0.0 / 24 ) に仮想的に接続 め、その設定ファイルである /etc/ppp/options ・ pptpd できるのであれば、その LAN に接続されたほかの Win- を編集します。 dows システムを、、マイネットワーク " からプラウズでき options ・ pptpd の設定例を図 7 に示します。このファ そうな気がしますが、残念ながらそれはできません。なぜ イルでは、 PPP セッションの認証や暗号化方式に関する なら、 pppd が SMB のプロードキャストを中継しないか 設定をおこないます。ポイントは、、 name " で始まる行で らです。ただし、プラウズはできませんが、たとえば、、ネッ す。この名前は chap-secrets ファイルで使用するので億 トワークドライプの割り当て " の設疋画面や、 net use コ えておきましよう。とくに理由がなければ、デフォルトの マンドの引数に pptpd のままでかまいません。 次の chap-secrets ファイルは、 PPTP 接続を許可する \ \ 192 .168 . 0 .2Ysirasaki ューザーのアカウント情報を登録します。設定例を図 8 に のような共有名を指定すれば、ネットワーク・ドライプを 示します。このファイルは 1 行が 4 つのフィールドで構成 使うことはできます。 され、先頭から順に、 図 6 に pptpd. c 。 nf の設疋例を示します。デフォルトで ・アカウント名 は option の行がコメントアウトされているので、行頭の . サーバー名 、 # " を外します。そして、 localip および remoteip の行 パスワード に DMZ ネットワークの空いているアドレス範囲を設疋し . IP アドレス ます。 を未します。 PPTP サーバーは、クライアントとの接続か確立され 図 5 PPTP サーバー経由での VPN キ 192.168.0.0 / 24 インターネット 100 ロ クライアント 39 UNIX MAGAZINE 2004.8
連載 / U N Ⅸ便利帖ー 0 2. その WWW ページを構成しているファイルをアップ ロードする。 1 の方法で文法をチェックするには、ユーザーが入力した URL が validater.w3.org からアクセスできるようにな っていなければなりません。そのため、この方法は会社や 学校のイントラネットに限定して公開されている WWW ページなどの場合には使えないことになります。そのよう な環境では、 2 の方法しか利用できません。 私の所属する大学では、学生や教職員など、ユーザー アカウントをもっている人なら誰でも WWW ページを作 れるようになっています。ただし、これらの WWW ペー ジは学内限定で公開されているため、文法をチェックする には上記の 2 の方法しか使えません。各ユーザーカそれぞ れ自分の WWW ページのチェックをするときにはこれで もかまいませんが、学生カ駸業で作成した WWW ページ をチェックして評価・才するような場合は、やはり上記 の 1 の方法のほうが便利です。 ソース そこで、このサービスをイントラネット上のホストに導 入し、そのような環境でも手に使えるようにしてみます。 注意すべき点があります ( インストール・ガイドには、 Mac ばよいのですが、 FreeBSD への導入についてはいくつか インストールは基本的にはインストール・ガイド 3 に従え にストレスを感じない速度で動きます。 で、学内で利用するぶんにはこの程度のシステムでもとく Validator はそれほど多くの言算機資源を必要としないの httpd バージョン 2.0.49 が動いています 2 。 Markup 2GHz 、メモリが 256MB のマシンで、すでに Apache インストールします。これは比較的最近導入した CeIeron ネット内にある FreeBSD (). IO-RELEASE) マシンに 今回は、この Markup Validator を大学のイントラ インストール OS X への導入に関するリンクや、 Linux 用のパッケー ・ CVS リポジトリ Debian パッケージ ・ RPM パッケージ ・ *. tar. gz ファイル コードは、以下の 4 種類の形式で提供されます 4 。 まず、 Markup VaIidator 一式を入手します。 ソースコードの取得 以下、順を追って説明していきましよう。 などについての説明もあります ) 。 ン Markup VaIidator UNIX MAGAZINE 2004.8 による文法チェックカ授けられる仕組みにしてみます。 . jp/ という URL でアクセスすると Markup Validator ルホスト機能を利用して http://validator.kyoto-wu.ac -wu ・ ac. jp という別名を与え、 Apache httpd のバーチャ をインストールします。このサーバーに validator. kyoto 今回は、稼動中の WWW サーバー上にこのパッケージ idator と呼ばれるパッケージです。 めの WWW ページをセットにしたものが Markup Val- ェックします。このスクリプトと入力フォーム、説明のた 釈するプログラム ) を利用して文法上の誤りがないかをチ OpenSP (onsgmls) という SGML パーサ (SGML を解 プトで、 httpd から CGI プログラムとして呼び出され、 Markup Validator の本体は Perl で書かれたスクリ 保守をおこなっています。 が文法的に正しいかをチェックするもので、 W3C が開発、 利用されているマークアッフ。言語 (HTML や XHTML) 今回導入する Markup Validator は、 WWW ページで これらのうち、 RPM と Debian は Linux を対象にし たものなので説明は省略します。 開発中の最新版を取得するには CVS リポジトリを利用 するしかありませんが、正式にリリースされたバージョン は、 *. tar. gz ファイルまたは CVS リポジトリの 2 通りの 方法で入手できます。今回は正式にリリースされたものを 利用するので、このどちらかの方法を使います ( 図 2 ) 。 CVS ではログイン時にパスワードを訊かれますが、 こでは、、 anonymous" と入力します。この操作をおこな うと、カレント・ディレクトリに validator という新し いディレクトリカ成され、そのなかにソースー式が展開 されます。 103 4 詳しくは http://validator.w3.org/source/を参照してください。 3 http://validator.w3.org/docs/install.html この httpd は port を利用してインストールしたものです。 執筆時の最新版は、どちらもバージョン 0.6.6 です。 2
・ ookshelf 『 LJNIX プログラミングー』 『 Apache クックプック』 WIRELESS HACKS プログラミングの 道具 Ken Coan Rich Bowen 著 ・林秀幸訳 ・オライリー・ジャパン 土 ・ B5 半、 252 ページ A5 判、 370 ページ ・ 2 , 800 円 2 , 480 円 W めサーバ第・・のな第のレンビー ・ 2004 年 4 月 21 日 2004 年 7 月 1 日 Apache のさまざまな問題点とその夬方法を 100 以 - ヒ」泉し Linux 、 FreeBSD 、 Mac OS X 、 SoIaris 、 HP-UX などの たレシピ集。 USENET ニュースグループや Apache の FAQ 、 UNIX 系 OS で利用できる各種プログラミング・ツールを、開発 メーリングリスト、 IRC チャットなと。の情報源から幅広い話題をと 環境、ビルド、ソースコード管理、テスト、デバッグ、ドキュメン りあげている。インストール、モジュールの i 助広ログの言点バー トの 6 つの分野別に紹介。 GNU Emacs 、 make 、 Autoconf 、 チャルホスト、工イリアスとリダイレクトとリライト、セキュリティ、 RCS 、 CVS 、 CUnit 、 CppUnit 、 GDB 、 DDD 、 gprof 、 gconv 、 SSL 、動的コンテンツ、エラー処理などの 12 章に分かれる。 man 、 doxygen をとりあげている。 『ロ B2 ー』 『 WireIess Hacks 』 クックプック 囲 2 技術全書 ・日本アイ・ビー・エムシステムズ・エンジ 日 ob Flickenger 著 ニアリング、日本アイ・ビー・エム編 / 著 福当清水奨、予春尺 ・アスキー オライリー・ジャパン ・ B5 885 ページ A5 判、 336 ページ ・ 9 , 000 円 2 , 900 円 ・ 2004 年 6 月 8 日 2004 年 4 月 21 日 IBM が開発したリレーショナル・データベース管理システム 無線ネットワーク関連のさまざまな技術や活用テクニックなどを DB2 Universal Database の歴史とアーキテクチャ、機能を解 100 のトピックにまとめ、テーマ別に分類して解説している。標準 言ノヾージョン 8.1 がべース。 OLTP (OnLine 、 ansaction 規格、 Bluetooth と移動通信、ネットワーク・モニタリング、ハー Processing) 機能、ビジネス・インテリジェンス対応機能、 24 時 ドウェア ( アクセスポイント、ケープル、アンテナ、コネクタなど ) 、 間 365 日対応機能、アプリケーション開発、障害の切分け機能、運 無線ネットワーク用の自作アンテナの紹介、長距離リンク、無線セ 用艝理 / 尉見、セキュリティなどの章から構成される。 キュリティの 7 章に分かれる。 sendmail 第 3 版 VOLUME 1 / 2 』 リなツール Emacs らくらく 5 』 sendmail 料なツール らくらく入門 VOI.VME ー 連用編 ・ Bryan CostaIes 、 Eric Allman 著 ・寸素典蠶尺・林秀幸 / 金牀克彦訳 ・オライリー・ジャパン ・ B5 半、 781 / 602 ページ A5 判、 446 ページ ・ 6 , 200 円 / 5 , 800 円 2 , 380 円 ・ 2004 年 4 月 21 日 2004 年 7 月 5 日 バージョン 8.12 に合わせて言を変更し、パフォーマンス・チ Emacs 21 ( 使用環境は Red Hat Linux 9 、 Fedora Core 1 、 NetBSD 1.6 、 FreeBSD 4.9 、 Mac OS X 10.3 ) を対象 ューニングや SPAM 対策、ノヾッケージにイ寸属する運用プログラム などについて解説した章お助乢 VOLUME 1 ( 運用編 ) は原書の に、基本操作、日本語入力システム、使い方 ( 各種編集機能 / モー ド ) 、メール環攬 (Wanderlust) 、 Emacs-Lisp ( 基礎と各種パッ 1 ~ 16 章を 4 泉し、 sendmail の基礎、ビルドとインストール、管 理方法について説明。 VOLUME 2 ( 設定編 ) は原書の 17 ~ 25 章 ケージの紹介 ) 、カスタマイズ、オンライン・ドキュメントや符号体 にあたる設疋ファイルのコマンドのリファレンス。 系などについて解説している。 Emacs 藤原言墸 キ鈷土 な第を、第 156 UN 工 X MAGAZINE 2004.8