- けつま 3 びっ u ド /local/home のシンポリック・リンク インストール終了直後に、、 / " 以下を確認したところ、 /home というディレクトリがありました。私は /local/ home にホーム・ディレクトリを置くのが好きなので、 / h 。 me から / 1 。 cal/home へのシンポリック・リンクを 張る必要があります。 シンポリック・リンクは、 1 Ⅱ -s リンク元リンク先 というコマンドを使えは簡単に張れるはすですが、どうも 私はこのコマンドか苦手です。もとからあった / h 。 me デ ィレクトリを置いたまま / 1 。 cal / h 。 rne ディレクトリを作 1 Ⅱ—s / 10Ca1 / 五 ome /home と打ち込んだら /home/home から /local/home にリン クかできてしまいました。いろいろ試したあげく、 /home を消去してから同しコマンドを実行すると、やっと /home から /local/home へのリンクができあがりました。 ユーザー作成 次はユーサーの追加です。 FreeBSD では /stand/sys- install を立ち上げればその場でユーサーを追加できまし た。 NetBSD では何を使ったらいいのでしよう。インス トール関係のマニュアルにはとくに報がみつからなかっ たので、自分て探してみることにしました。 man-k コマ ンドで user や passwd といったキーワードを入力して使 えそうなコマンドを探します。 すると useradd " というコマンドがみつかりました。 マニュアルを読むと、たしかにこれが目的のコマンドのよ うです。記應をたどって、ユーサー追加に必要なのは、 ・ノヾスワード ・シェノレ ・ホーム・ディレクトリ ・所属グループ ・ユーサー名 132 —s /usr/pkg/bin/tcsh —v yuzuko useradd —G yuzuko -d /local/home/yuzuko そこでコマンドの文法に彳足って、 だったはすと思い出しました。 と入力しました。 -G オプションの引数では、所属グルー プ ( ここでは yuzuko) を指定しています。 -m はユーサ ・ディレクトリの自君 [ 成、一 s はシェルの指定です。 -v ではコマンドの実行過程か表示されます。最後の yuzuko はユーザー名です。 ところが、「該当するグループがない」という理由で工 ラーになってしまいます。ます yuzuko グループを作ら なければならないので、もう一度グルーフ。作成用コマンド を探します。今度は、、 groupadd" を使えばよいようです。 groupadd ¯v yuzuko このコマンドは引数も少なく、間題なく実行できまし 再度さきほどの useradd コマンドを実行してみると、 無事にユーサー yuzuko を追加できました。 次に yuzuko のパスワードを指定します。 root のまま、 passwd ー 1 yuzuko とコマンドを入力すると yuzuko のパスワードの入力およ ひ変更ができます。ふだんは一殳ユーサー yuzuko でログ インし、システム管理は root になっておこなう予定なの で、最後に yuzuko を wheel グループに追加する必要が あります。 /etc/group を編集して wheel グルーフ行に yuzuko を加えました。 これで、なんとかひととおり最初に必要な作業か終り、 個人のデスクトッフ。設定を始められそうです。 ☆ 今回は、ノート PC への NetBSD のインストールや pkgsrc の準備などについて書きました。最初は日常的に 利用するための設定まで一気にすませるつもりでしたが、 リハビリということですいぶんゆっくりした歩みになって しまいました。 次回は残っている設定をおこなう予定です。 X の設定 からふだん利用するアプリケーションの導入まで終らせた い、と思っています。 ( もり・ゆすこ ) [ 文献 ] [ 1 ] 坂本一樹「第 3 特集 Ports/Packages のすべて : NetBSD package System 」、 BSD magazine 、 1999 年第 1 号、ア スキー UNIX MAGAZINE 2001.9
連載 図 1 / ヾス シェルの魔術ー 3 ルート・ディレクトリ home home ki t sune tanuki ki t sune tmp tanuki ponpoko tmp/konkon や . /tanuki/ponpoko のように、ある ディレクトリからほかのファイルまでの道筋を表す文字列 をパス名と呼びます。とくに、ワーキング・ディレクト リからのパス名は相対パス名と呼はれます。ワーキング・ ディレクトリにあるファイルをファイル名だけで指定する のも相対パス名の一種です。 系寸パス名 パス名にはもう 1 つ、糸寸パス名と呼はれるものがあり ます。相対パス名がワーキング・ディレクトリからのパス 名であったのに対し、絶対パス名はルート・ディレクトリ からたどったパス名です。作り方は相対パス名とはとんど 変わりません。 それでは、相対・パス名の例で使った ponpoko を絶対 パス名で表してみましよう。絶対パス名はルート・ディ レクトリから始まるので、 ponpoko は「ルート・ディ レクトリ、、のなかの " home 、、のなかの " tanuki 、、のなか の 'ponpoko 」とたどることができます。、、のなかの " を / に置き換えると・・ 「、、ルート・ディレクトリ /home/tanuki/ponpoko" に なったで」 おっと、ルート・ディレクトリはどうしましよう。心、し 出してみてください。ルート・ディレクトリは特別で、名 UNIX MAGAZINE 2001.9 tmp konkon 前がないのでしたね。つまり、そこには何も書かなくても よいのです。そうすると、 /home/tanuki/ponpoko が ponpoko の絶対パス名というわけです。このように、絶 対パス名はかならす / から始まります。さきはど pwd コマンドの説明をしましたが、絶対パス名でワーキング・ ディレクトリを表示していますれ 図 1 を見ると、「、 . /. /tmp/konkon" とか、 /home /.. /tanuki/ponpoko" とかもできそうだ」と思うか kit sune もしれません。実際、、 . " や、 .. " を使うと、同じディレクトリ を何度も通過するパス名を作ることができます。逆に、 使用と逆戻りを禁止すると、絶対パス名、相対ノ、ス名ともに ( シンポリック・リンクを考えなけれは ) あるファイルに対する パス名は 1 つになります。 ワーキング・ディレクトリを変える ワーキング・ディレクトリを変えるには cd コマンドを 使います。 cd もそのものズノヾリ Change working Di- rectory の略です。引数には、新しくワーキング・ディレ クトリにしたいディレクトリを相対パス名または糸寸パス 名て指定します。引数を省略するとホーム・ディレクトリ ノート 2 に移動します。 引数を省略すると、何もない " ということで、 名則のない 119
といったエントリがあ川よ、 anonymous FTP が・可能で ある。この場合は /home/ftp が anonymous FTP ディ レクトリになる。もちろん、ユーサー ftp のホーム・ディ レクトリに chroot される。さきほども述べたが、 pure- FTPd は ls を内蔵しているので、 wu-ftpd のように bin や lib といったディレクトリを用意して ls を実行できる ようにする必要はない。ただし、 wu-ftpd にあるような ディレクトリを tar でまとめて get する仕組みは用意さ れていない。 anonymous FTP 専用のオプションに一 s がある。これ は、ファイルの所有者が ftp 以外のファイルのダウンロ ードを許可しないようにするものだ。 anonymous FTP の悪用を防ぐ意味があるので、付けておいたほうがよいだ これまでの機能はたいていの FTP サーバーにあるもの なので、正直なところあまりおもしろくない。ここからが PureFTPd の目玉であり、おもしろいところさらに つつこんでみていこつ。 或制御 PureFTPd の特徴の 1 つに帯域制餌職能がある。 れは転送レートを一定の値以ー・ドに制限するもので、回線の 細いサイトやアクセスの多いサイトではたいへん有用であ る。 帯域制御をおこなうには一 T オプションを使う。 -T の 後ろにはアップロード帯域、ダウンロード帯域の 2 つの値 を指定する。 2 つの値は : で拯切る。それぞれの単位は KB/s だ。 1 つだけ指定した場合は、アップロード帯域、 ダウンロード帯域ともにそのイ間ユ -- ドに制限される。 pure—ftpd —T 7 : 7 この例ではアップロード、ダウンロードともに 7KB/s に制限される。なお、このオプションは図 1 のように configure の際に一—with—throttling を付けておかない と有効にならない。 通常のユーザーのログインは制限せす、 anonymous FTP でのみ制限したいこともあるだろう。この場合は一 T の代わりに -t を使用す川まよい。 つつこんだ使い方 UNIX MAGAZINE 2001.9 帯域制彳卸はセッションごとに有効になる。つまり本で 7KB/s ではなく、そのセッションにおいて 7KB/s にな るので注意してほしい。 バーチャルホスト PureFTPd はバーチャルホスト機能ももっている。 FTP サービスを提供する計算機に IP アドレスを複数割 り当てておいて、接続してくる言 fr. 算機の IP アドレスによ って異なるディレクトリを提供できるというものだ。 カ 1 去は簡単である。 /etc/pure-ftpd というディレクト リに、提供したいディレクトリから IP アドレスをファイ ル名としたシンポリック・リンクを張ればいい。 たとえは、 11.22.33.44 と 11.22.33.55 という 2 つの バーチャルホストを提供するとしよう。提供するディレ クトリはそれぞれ / home / 44 、 /home/55 とする。この 坦八 勿ロ、 cd /etc/pure—ftpd/ 1 Ⅱ—s /home/44 11.22.33.44 1 -s /home/55 11.22.33.55 とする。 設定か終ったら、 11.22.33.44 と 11.22.33.55 に対し てそれぞれ anonymous FTP してみよう。 /home/44 、 /home/55 が見えていることが分かるだろう。この例で は IP アドレスを直孑旨定したが、逆引きできるならホス ト名でもかまわない。 バーチャルホストは現在のところ anonymous FTP で しか使えないが、通常のユーサーログインでも使えるよう にする引があるようだ。 PureFTPd のアーカイプには、 PureFTPd を便利に 使うためのツールがいくつか付属している。 pure-ftpwho pure-ftpwho は UNIX の w に似たコマンドである。 実行すると、 PureFTPd に現在ログインしているユーザ クライアントの IP アドレス、ファイル名の一一覧カ俵 示される。このコマンドを使うには、図 1 のように Pure - 便利なツ—ルたち FTPd の configure 時に 必要がある。 —with—ftpwho を付けておく 69
連載 /JavaServer Pages— コンノヾイノレ っているため、図 6 の、 となります ( 図 7 ) 。 このコードは Java のソースコードとしては文法的に誤 ノ、 アクセスしたときに表示された図 2 のエラーメッセージ る情報をプラウサに送ります。これが、 samplel ・ jsp に ーはコンパイルエラーが発生すると、その場所や関連す のフェーズでコンパイルエラーが発生します。 JSP サー された Java コードの例 です。 tib1e type for 十 . Can't convert VOid tO int . 1e—00031_0002ejspsamp1e1-jsp-0. java: 61 : lncompa ー 3 . 2.1/work/10ca1host—8080%2Funimaga/—0002fsamp UnabIe t0 compile class f0 て JSP/usr/home/tomcat 図 2 のエラーメッセージ、 番号です ) 。 ソースコードです ( 行頭の数字は、説明のために付けた行 図 8 ~ 9 は、 samplel. jsp を変換したあとの Java の 1 error a = 1 + ても、もとの JSP コードと結び付けにくいので困ってし 合、生成後の Java コードのコンパイルエラーを知らされ が、もっと複雑な JSP コードを含む JSP ファイルの場 samplel ・ jsp はかなり単純な例なのでまだよいのです ラウサに表示されます Java のソースコードをもとにしたエラーメッセージがフ た Java ファイルをコンパイルできない場合、生成された すなわち、 JSP コードが文ラ却勺に誤っていて、生成し ている文法工ラーの行そのものです。 というコードであり、図 2 のエラーメッセージカ甘商し a = 1 + の内容です。このファイルの 61 行目が、 jsp—0 ・ java Funimaga/—0002fsamp1e—00031_0002ej spsamplel— /usr/home/tomcat—3.2.1 / work / localhost ー 8080 % 2 工ラーメッセージに書かれている、 に話を戻しましよう。図 8 ~ 9 の Java のソースコードは、 112 まいます。 残念ながら、これを解決する簡単な手段はいまのところ 用意されてはいないようです。ェラーメッセージのファイ ル名の表示から、生成された Java のソースコードをみつ けだし、エラーメッセージの行番号からコンパイルエラー の箇所を探してください。 Tomcat の場合、生成された Java コードのなかに / / begin [fi1e="/usr/home/tomcat—3.2.1 / - webapps/unimaga/samplel ・ jsp" ;from=(6,2) ・ int a ; a = 1 + / / end 、、 / / " で始まるコメントが埋め込まれます ( 誌 のように 面の都合、て折り返しています ) 。コメントを参考に すれば、 Java のソースコードと JSP ページ内の JSP コ ードの対応が分かります。、、 begin ' というコメント 行の、、 from" や、、 t 。 " は、変換前の JSP コードの位置を 示しています。たとえば、 UNIX MAGAZINE 2001.9 ・ $TOMCAT-HOME/work ことがあるなら、次のディレクトリをみてください。 Tomcat をインストールして JSP サーバーを動かした は、まとめて特定のディレクトリに置かれています。 ・ Java のクラスファイノレ ・ Java のソースファイノレ クラスファイルが作成されます。この中間生成物である、 ルが生成され、 Java のソースファイルをコンパイルして Tomcat では、 JSP ファイルから Java のソースファイ 一時ファイルの置き場所 をもっと詳しく説明するときに譲ることにします。 す。これらの処理についての解説は、 JSP ページの実装 を送るための前処理や後処理、例外の処理などのコードで の部分はクラスやメソッドの定義、およひプラウザに出力 内容の出力に対応する部分は 55 ~ 65 行目です。それ以外 図 8 ~ 9 の Java のソースコードでは、 samplel. jsp の 文字目までに対応していることを示しています。 は、 samplel. jsp の 6 行目の 2 文字目から、 9 行目の 0 from=(6,2);to=(9,O)
連載 /JavaServer Pages— ード ( 続き ) samplel. .jsp から生成された Java のソースコ 図 9 59 60 a = 1 + 61 / / end 62 / / HTML / / begin Cfi1e="/usr/home/tomcat—3.2. l/webapps/unimaga/samplel ・ j sp 63 fr 。 m = ( 9 , 2 ) ; t 。 = ( 13 , の ] out . write ( " \r\n\r\n く /body>\r\n く /html>\r\n" ) ; / / end catch (Exception (x) { if (out . getBufferSize() ! = 0 ) out . c1earBuffer() ; pageContext . hand1ePageException(ex) ; finally { out . flush(); —j spxFactory. re1easePageContext (pageContext) ; 4 5 6 7 8 9 0 1 2 3 4 5 6 6 6 6 6 6 6 7 7 7 7 7 7 7 図 10 Tomcat 3.2.1 は日吾が文字化けすることがある なお、 $TOMCAT-HOME は Tomcat のバイナリを インストールしたディレクトリです。 」方イル 0 編集仮 ) 表示お知こ入り (A) ツールヘルプせ たとえは、紹介した samplel. jsp や sampIe2. jsp に Error: 500 Location- /unimaga/samplel-jsp lnternal Se rvlet E 0 r: 0 「 g. apache. jasper. Jaspe 「 Except ion: 上 a ト尾そ 0 compi class fo 「 J 田 / 「′乍 0 肥 ト州い〃、滬コ 1 / 朝をき / Ⅲ引 jsg - M ℃い 3 朝 ! Ⅲ E い 言回ロ は、 ・ http://localhost:8080/unimaga/sample1.jsp ・ http://localhost:8080/unimaga/sample2.jsp という URL でアクセスしていましたが、これらの Java ファイルやクラスファイルは、どちらも、 ・ $TOMCAT-HOME/work/localhost-8080%2F tllllmaga というディレクトリの下に作成されます。 samplel. jsp と sample2. jsp を表示させたあと、このディレクトリを ls コマンドで見ると、 $ ls 0002fsamp1e-00031_0002ejspsamp1e1-jsp—O . java 0002fsamp1e ー 00032 ー 0002ejspsamp1e2. class 0002fsampIe—00032_0002ejspsamp1e2—jsp—O ・ java のように、 3 つのファイルカイ乍成されています。 samplel. jsp は Java のコンノ、イルに失敗したので、 Java のソースファイルしかありません ( クラスファイル は生成されていません ) 。一方、 sample2. jsp の場合はコ ンパイルには成功し、実彳芋工ラーが発生した状態だった ので、 Java のソースファイルとクラスファイルの両方が あります。 at java.lang.Thrc•yabIe. f i Ⅱ IrStackTrace(Nat ive t ト ) at java.lang. ThronbIe. fi Ⅱ IrStackTrace(Carpiled し ) ) at java 」 a 鷓 . Thr . ( C02 Ⅱ CG 地 ) at java 」 a . こ印土 i (Except 池 1. java : 42 ) at javax. servlet.ServletExcept icn. (ServletExcept i 罰 ava : 107 ) at 0「g. apache. jasper. JasperExcept icn. (JasperException.java:73) つ十 0r0 つ 0 つ一 - ト、 Tomcat と日本語の表示 こまでの例はすべて、 Tomcat 3.2.1 を UNIX 上で、 言語工竟を C に設定して実行・してきました。 ところが、 ・ UNIX 上で言言亠竟を EUC または SJIS のエンコー ディングに設疋して Tomcat を起動する 日本語版の Windows 上で Tomcat を起動する という↓竟でお使いの方は、 samplel. jsp にアクセスする と、図 10 の、、 ? ? ? " の部分のようにメッセージの一部が 、、文字化け " するかもしれません。 「そういえは自分を疑えって書いてあったな。ということ は、この文字化けも私の JSP コードのせい ? 」 114 UNIX MAGAZINE 2001.9
連載 /JavaServer Pages—① samplel ・ jsp から生成された Java のソースコード 図 8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 7 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import import import import import lmport import import import import import import public . servlet . *; javax. servlet . http. * ; Javax. servlet ・ jsp ・ *; java. . * ; org. apache . j asper. runtime. * ; java. util. Vector; java. i0. ObjectInputStream; java. i0. Fi1eInputStream; Java. i0. IOException; java. iO . PrintWriter; Javax. servlet . jsp ・ tagext . * ; class ー 0002fsamp1e ー 00031 ー 0002ej spsamplel_j sp-O extends HttpJspBase { org ・ apache . jasper. JasperException ; static { public -0002fsamp1e-00031-0002ejspsamp1e1—jsp-0( ) { private static boolea 取—jspx—inited = false; public final void -j spx—init ( ) throws JasperException { public void —jspService(HttpServIetRequest request , HttpServIetResponse String —value = Ⅱ u11 ; this ; Obj ect page = JspWriter out = nuII ; Serv1etConfig config = nu11 ; Serv1etContext application = Ⅱ u11 ; HttpSession session = Ⅱ u11 ; PageContext pageContext = nuII ; JspFactory ー」 spxFactory = null ; throws IOException, Serv1etException { response) try { if ()j spx-inited —jspx-init() ; ー」 spx-inited false) { t rue ; —j spxFactory = JspFactory. getDefau1tFactory() ; response. setContentType("text/htmI;charset=8859—I") ; —jspxFactory. getPageContext(this, request , pageContext true, 8192 , true) ; application = pageContext . getServ1etContext ( ) ; config = pageContext . getServ1etConfig() ; session = pageContext . getSession() ; out = pageContext . getOut ( ) ; response , / / HTML / / begin [fi1e="/usr/home/tomcat—3.2. l/webapps/unimaga/samplel ・ j sp' from=(), の ;t。=(6,0)] out. write ( " く html>\r\n く head>\r\n く tit1e>Samp1e 1 く /title>\r\n く /head>\r\n く body> / / end / / begin [fi1e="/usr/home/tomcat—3.2. l/webapps/unimaga/samplel ・ j sp from=(6,2) ; t 。 = ( 9 , 0 ) ] UNIX MAGAZINE 2001.9 113
レイヤ 3 スイッチの基本 ( 5 ) 図 9 コストオ諚の変更 * Summit48i : 30 # config ospf vlan hoge cost 20 図 10 ospf priority の言聢 * Summit48i : 31 # config ospf vlan hoge priority 100 図 11 認証の言 (a) simple-password * Summit48i : 32 # config ospf vlan hoge authentication simple—password keke (b) MD5 * Summit48i : 33 # config ospf vlan hoge authentication md5 12 keke = 10 Cost = 4 ■ OSPF インターフェイス・パラメータ ルトの値は、次のようになっています。 として設疋したりします。 Summit スイッチでのデフォ は 10 、 Ethernet は 100 といったぐあいです ) をコスト ス速 . 度の逆数 (Gigabit Ethernet は 1 、 Fast Ethernet 従来からの行として、もっとも高速なインターフェイ サプコマンド cost を使います ( 図 9 ) 。 を送信する際のコストを明示的に指定します。これには、 つけたい場合などは、 OSPF インターフェイスがバケット 報を決定するために交換するリンク情報に意図的に重みを 複数のインターフェイスをもつルータにおいて、糸各 ospf cost うち、代表的なものをいくつカ介します。 OSPF によるインターフェイス・パラメータク旨定の 10Mbps Ethernet Cost 100Mbps Ethernet IGbps Ethernet ospf priority Cost OSPF 卵竟で、リンク情報を集約する代表ルータ (DR) を決定するときの優先順位を指定します ( 図 10 ) 。この値 がもっとも大きなルータが DR として使われます。これと 同時に、 DR のバックアップとして BDR (Backup Des- ignated Router) も決められます。 BDR は、 DR が通 信不能に陥った場合の代理として機能します。 とくに値を指定しないと、 ExtremeWare では prior- ity 1 " とみなされます。値が大きいはど、優先度は高くな UNIX MAGAZINE 2001.9 ります値か 1 司じものが複数ある場合には、、、早い者勝ち " になります ) 。メモリや性能の劣るスイッチや小型ルータ が DR になってしまうと、リンク情報がうまく集約でき 61 マンドの timer で変更します ( 図 12 ) 。 timer のあとに 交換に関する各種のタイマーは、 config ospf area コ OSPF による LSA (Link State Advertisements) の timer の変更 ( パスワードとしての単言のを指定します ( 図 11 ー b ) 。 authentication md5 コマンドで、 key-id と言忍証キー た電子署名による認証が可能です。これを使う場合には、 3 番目の、、 D5 Authentication" では、 MD5 を用い タ間で同レ以ワードを指定する必要があります。 11- a ) 。これを利用するときは、糸響各交換をおこなうルー 単純なパスワード方式による認証がおこなわれます ( 図 2 番目の、 SimpIe password Authentication ' では、 none" になります (ExtremeWare の初期ー。 authentication とくに認証する必要がない場合は、 MD5 Authentication ・ Simple password Authentication ・ authentication none ( 何もしない ) が用意されています。 OSPF では、ド爾妾ルータの認証方式として以下の 3 っ OSPF での認証 しよう。 にはなりません。この値を設定するときは十分に注意しま あります。また、値を 0 ( ゼロ ) にすると、けして DR なかったり、ルーティング情報の更新に失敗することが
a 加 9 Up IPv6 ( 5 ) 図 27 tspc の実行結果 # /usr/local/tsp/bin/tspc -v —f /usr/local/tsp/bin/tspc . conf tspc ー Tunne1 Server Protoc01 C1ient Loading configuration file Connecting tO server Using [A. B. C. D] as source IPv4 address . Process response from server Send request TSP_HOST_TYPE TSP_HOME_DIR TSP_VERBOSE TSP_TUNNEL_PREFIXLEN TSP_SERVER_ADDRESS_IPV6 TSP_SERVER_ADDRESS_IPV4 TSP_CLIENT_ADDRESS_IPV6 TSP_CLIENT_ADDRESS_IPV4 TSP_HOME_INTERFACE TSP_TUNNEL_INTERFACE host gif0 A . B . C . D 3ffe : 0b80 : 0002 : 0508 : 0000 : 0000 : 0000 : 0002 aa . bb . cc . dd 3ffe : 0b80 : 0002 : 0508 : 0000 : 0000 : 0000 : 0001 64 1 /usr/local/tsp Start Of configuration script. ー > ff02 : : 1 43 bytes from fe80: :jjjj :kkkk:llll:mmmm%gif(): hexago. viagenie . qc ・ ca ・ 28 bytes from fe80 : : XXXX : xxxx : YYYY : zzzz % 100 : pppoe PING6 ( 2096 = 40 + 8 + 2048 bytes) fe80 : : XXX : xxxx : YYYY : zzzz%gif0 % ping6 ーエ gifO -w ff02: : 1 図 28 トンネルの設定された gifl) に ping を実行 Exiting with return code : 0 ( 0 = Ⅱ 0 error) CIosing, exit status : 0 End 0f configuration script ・ add net default : gateway 3ffe : 0b80 : 0002 : 0508 : ℃ 000 : 0000 : 0000 : 0001 delete net default Adding default route t0 3ffe : 0b80 : 0002 : 0508 : 0000 : 0000 : 0000 : 0001 Setting up interface gif0 Script : netbsd. sh tspc. conf の去後の行に、コピー & ペーストで追加して もかまいません ( 好みの問題 ) 。あとは、 tspc を起動して 動 ( 御忍をおこないます。ここでは、一 v オフションを付 加して、デバッグ出力をおこなっています。その結果を を実行すると Freenet6 側から返答があり ( 図 28 ) 、 kame ping6 —I gif0 —w ff02: : 1 トンネルの設定された gifO に 図 27 に示します。 . net への ping6 に対しても、 % ping6 www. kame . net P 工 NG6 ( 56 = 40 + 8 + 8 bytes) 3ffe:b80:yy e : 501 : 4819 : 2000 : xx : yy : zz : xx 16 bytes from 3ffe : 501 : 4819 : 2000 : xx : yy ・ 92 : xx : : 2 ー > 3ff . ZZ : XX , 1 C mp—seq=O h1im=53 time=884.389 ms www. kame . net ping6 statistics 2 packets transmitted , 1 packets received , 50 % p acket 10ss UNIX MAGAZINE 2001.9 糸勦鮟続できたあとに、自重加勺におこなうようにしてみま それでは、 Freenet6 へのトンネル設定を、 ADSL 回 ー -- ・起動時にトンネル作成ー - ・・一 なりました。 Freenet6 経由で 6bone にもつながった NetBSD 箱に と、太平洋往復ビンタながら応答があります。これで、 / 884.389 / 0 . 000 ms round—trip min/avg/max/std¯dev = 884.389 / 884.389
レイヤ 3 スイッチの基本 ( 5 ) 図 3 VLAN を OSPF 工リアに登録する 図 4 スタブエリアに VLAN を追加する # config ospf add vlan gege area 0 . 0.0.1 # config ospf area 0.0.0.1 stub summary stub¯default¯cost 2 * Summit48i:15 # create ospf area 0.0.0.1 # config ospf vlan hoge authentication simple—password keke * Summit48i : 13 # config ospf add vlan hoge area 0.0.0.0 * Summit48i : 17 * Summit48i : 16 * Summit48i : 14 * Summit48i : 20 # show ospf 図 5 OSPF の言規肄の表示 Router ld OSPF ASBR ABR ExtLSA ExtLSACsum OrigNewLSA RxNewLSA SpfH01dTime 202.244. 164. 15 E YES YES 14 RouterId Se1ection: Automatic Export Static: DisabIed Export Rip : Disab1ed Export Direct : DisabIed Export EBGP : DisabIed Export IBGP : Disab1ed Export Vip : DisabIed Originate Defau1t : Disab1ed ASBR route Fi1ter: None Direct route Fi1ter: None 0X82835 1313 47400 3 10M Cost 10 , 100M Cost Lsa Batch lnterval = 30. AS—externa1 LSA limit : disabled Timeout : 次に、 VLAN を OSPF ェリアに登録します。それに 5 , IG Cost = 4. disabled UNIX MAGAZINE 2001.9 バックポーン・エリアにぶら下がるかたちで、このスタ レイヤ 3 スイッチによる OSPF 設定では、 OSPF の かしめ分かっていれば、経路計算の負荷を軽減できます。 す。その OSPF ェリアがスタブエリアであることがあら 端の OSPF ェリアを、、スタブ (stab) 工リア " と呼びま そこから先にほかの OSPF ェリアがくることのない末 keke" を設定しています。 hoge authentication コマンドで、 simple-password ています。そこで、図 3 の 2 行目では config ospfvlan こなっており、共通のパスワードとして、、 keke " を設定し クのエリア 0.0.0.0 では、 simple パスワードで認証をお とができます。実列のログをとった研究室のネットワー OSPF では、糸交換について認証処理をおこなうこ コマンドで異なる OSPF 工リアを設定します。 す。ネットワークの管理工リアを分割したい場合は、この 例では、 VLAN hoge をエリア 0.0.0.0 に登録していま を登録するエリアの、、エリア ID " を指定します。図 3 の は、 config ospf add vlan コマンドを用いて、 VLAN Current count : 13 プエリアを構成するパターンが考えられます。図 4 の例 では、 OSPF ェリア 0.0.0.1 を作成し、これをスタブエ リアとして定義しています。そして、このスタブエリアに VLAN gege を登録しています。 OSPF の状態表示 OSPF の設定状態は、 show ospf コマンドで参照で きます ( 図 5 ) 。 各 OSPF ェリアについての清報は、 show ospf area コマンドで分かります ( 図 6 ) 。さらに、このコマンドに detail を追加すると、 OSPF ェリアに所属する VLAN の IP アドレスや、 DR 、 BDR の IP アドレスなども表 示されます ( 図 7 ) 。 OSPF でリンク情報を共有する隣接ルータ (Neigh- bour) の情報を参照したいときは、 show ospf inter- faces detail コマンドを実行します ( 図 8 ) 。このコマン ドでは、謝妾する OSPF の状態や、リンク情報を集約し ている DR の状態などカ忍できます。 59
図 15 show iproute で表示される OSPF のルーティングの動リ M—Us e VLAN 0 . 0 .0 . 0 * 02 202.244.165.192 / 27 ・ b * Summit48i : 42 # show iproute OR Destination Gateway *b * 02 202.244.160.1 / 32 202.244.165.128 / 26 202.244.166.0 / 26 mo 01 ra 202.244.169.192 / 26 202 .244.164.1 202.244. 164.1 202.244. 164. 1 202 .244. 164. 1 , bg Mtr 22 UG— 22 UG- 2 UG-— 2 UG-— 1 U—H—-SBum F1ags Use 0 0 0 0 0 0 0 hoge 0 hoge 0 hoge 0 hoge レイヤ 3 スイッチの基本 ( 5 ) Acct-1 0 0 0 0 0 Origin(OR) . B1ackH01e d ー Direct , df MOSPF , 0 OSPFExt1 , BGP, be ー EBGP, bi IBGP , bo ー BOOTP, ct ー CBT DownIF , dv ー DVMRP, h ー Hardcoded , i I CMP OSPFA sExt OSPF, oa ー OSPFIntra, or ー OSPFInter, oe 02 OSPFExt2, pd ー PIM—DM, ps ー PIM-SM, r ー RIP Static , sv ー SLB_VIP , un ー UnKnown. RtAdvrt , s F1ags : U ー Up, G ー Gateway, H ー Host Route, D ー Dynamic, R ー M0dified, S ー Static, B ー B1ackH01e, Ⅱ Mask distribution: 61 . Tota1 number Of routes Unicast , m ー Mu1ticast . 2 14 38 1 Rout e 2 2 4 default routes routes rout e S routes or1g111 routes routes routes at length 24 at length 26 at length 32 distribution : from Direct from Static from OSPFExt1 2 41 10 1 2 3 routes routes routes routes routes routes at length 8 at length 25 at length 27 f rom f 表 1 OSPF Type と飜采用イ立 Route Origin Priority OSPF OSPFIntra OSPFInter OSPFExt1 OSPFExt2 2100 2200 2300 3200 3300 表 1 に示したように、同し OSPF でもタイプによって 経采用の優側立が異なります。 access—profile OSPF などによる経路制御において、特定のネットワ ーク情報だけを経路処理の対象にしたい場合などは、、、ア クセス・プロファイル " を作成します。 図 16 刎列では、アナウンスする経路情報を限定するア クセス・プロファイルを、、 mumu " という名前で作成して います。 アクセス・プロファイルを作成するときには、何不鶤頁 かの、、 type" を指定することができます。こ刎列旨定し UNIX MAGAZINE 2001.9 B1ackH01e OSPFIntra OSPFExt2 ている、、 ipaddress" は、 IP アドレスにもとづいてアクセ スの許可 (permit)/ 不許可 (deny) を指定するものです。 そして、作成したアクセス・プロファイルの、、 mode" を permit に成疋します。さらに、 mumu に加える IP アド レスを、、 add ipaddress 202.244.164.0 / 24 " のように順 次当求していきます。 作成したアクセス・プロファイルに関する情報は、 show access-profile コマンドで参照できます。 作成したアクセス・プロファイルを使って、指定した IP アドレスだけを OSPF ェリアにアナウンスするよう にしてみましよう 17 ) 。ます、 OSPF ェリア 0.0.0.0 に対してエリア間でのルーティングを可能にするフィル タ "interarea-filter" を設定し、これをさきほど作成した アクセス・プロファイル、、 mumu " に適用します。 適用当初のアクセス・プロファイル mumu には、 Seq—N0 IP Address IP Mask Exact 5 10 202.244.164.0 202.244.163.0 255.255.255.0 No 255.255.255.192 No 63