doc/ja_JP.eucJP/books/handbook/advanced-networking/chapter.sgml
Jun Kuriyama 7d5eddebb4 MFen:
1.27 -> 1.34	authors.ent
	1.1  -> 1.2	chapter.decl
	1.75 -> 1.77	handbook.sgml
	1.10 -> 1.11	advanced-networking/chapter.sgml

Submitted by:	"Naoyuki,Mori.(Condle)" <condle@mail.wbs.ne.jp>
Reviewed by:	kuriyama
1999-07-11 11:48:04 +00:00

1079 lines
37 KiB
Text

<!--
The FreeBSD Documentation Project
The FreeBSD Japanese Documentation Project
Original revision: 1.11
$Id: chapter.sgml,v 1.2 1999-07-11 11:48:04 kuriyama Exp $
-->
<chapter id="advanced-networking">
<title>高度なネットワーク</title>
<sect1 id="routing">
<title>ゲートウェイとルート</title>
<para><emphasis>原作: &a.gryphon;.
<!-- <br> -->6 October 1995.</emphasis></para>
<para><emphasis>訳: &a.jp.yuki;.<!-- <br> -->
6 September 1996.</emphasis></para>
<para>ある計算機が他の計算機をみつけることができるようにするには,
ある計算機から他の計算機へ,
どのようにたどり着くかを適切に記述するた めの仕組みが必要です.
この仕組みをルーティングと呼びます. &ldquo;ルート(経路)&rdquo;は
&ldquo;destination (目的地) &rdquo;と &ldquo;gateway (ゲー
トウェイ) &rdquo;の 2つのアドレスの組で定義します. あなたが
<emphasis>destination</emphasis> へアクセスしようとした場合,
<emphasis>gateway</emphasis>
を通って送られることをこのペアは示しています. destination
には個々のホスト, サブネット, &ldquo;デフォルト&rdquo;の 3つの
タイプがあります.
&ldquo;デフォルトルート&rdquo;は他への経路が適用できない
場合に使われます. のちほどデフォルトルートについて少し述べること
するとして, ここでは, 個々のホスト, インタフェース
(&ldquo;リンク&rdquo;と も呼ばれます),
イーサネットハードウェアアドレスという 3つのタイ
プのゲートウェイについて説明します.</para>
<sect2>
<title>例</title>
<para>以下に示す <command>netstat -r</command>
の出力の例を使って, ルーティン
グがいろいろと異なっている様子を説明することにします.</para>
<screen>Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
foobar.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =&gt;
host2.foobar.com link#1 UC 0 0
224 link#1 UC 0 0</screen>
<para>最初の2行はデフォルトルート(次の節で詳しく説明します)と,
<hostid>localhost</hostid>への経路を示しています.</para>
<para><literal>localhost</literal>のためのインタフェース
(<literal>Netif</literal>の欄)
は<devicename>lo0</devicename>で,
これはループバックデバイスとして知られています.
結局のところ戻るだけなので, この
destinationへのすべてのトラフィ
ックが内部的に処理されるのであって, LAN
を経由して送られるのでは ありません.</para>
<para>次の行では<hostid
role="mac">0:e0:...</hostid>というアドレスに注目しましょう.
これはイーサネットハードウェアアドレスです. FreeBSDは自動的に
ローカルなイーサネット上の任意のホスト
(この例では<hostid>test0</hostid>) を見つけ,
イーサネットインタフェース <devicename>ed0</devicename>
の所にそのホスト への経路を直接つけ加えます. タイムアウト時間
(<literal>Expire</literal>の 欄)
も経路のタイプと結びついており, 指定された時間が経過しても応
答がないときに使用します. この場合,
経路情報は自動的に削除されま す. これらのホストは, RIP(Routing
Information Protocol) という,
最短パスの判定に基づいてローカルホストへの経路を
決定する仕組みを 利用することで認識されます.</para>
<para>更に, FreeBSDではローカルサブネット (<hostid
role="ipaddr">10.20.30.255</hostid> は <hostid
role="ipaddr">10.20.30</hostid>
というサブネットに対するブロードキャストアドレスで, <hostid
role="domainname">foobar.com</hostid>
はこのサブネットに結びつけられているドメイン名)
への経路情報も加えることができます.
<literal>link#1</literal>というの は,
この計算機の最初のイーサネットカードのことをさします. これら
については,
何も追加インタフェースが指定されていないことに気づく
でしょう.</para>
<para>これらの2つのグループ(ローカルネットワークホストと
ローカルサブネット) の両方とも, <command>routed</command>
と呼ばれるデーモンによって自動的に 経路が設定されます.
<emphasis remap=tt>routed</emphasis> を動かさなければ,
静的に定義した (つまり具体的に 設定した)
経路のみ存在することになります.</para>
<para><literal>host1</literal> の行は私たちのホストのことで,
イーサネットアドレスで示されています. 送信側のホストの場合,
FreeBSDはイーサネットインタフェースへ 送るのではなく,
ループバックインタフェース
(<devicename>lo0</devicename>)を使います.</para>
<para>2つある<literal>host2</literal>の行は,
ifconfigのエイリアス (このようなこと をする理由については
ethernetの章を参照してください) を使ったとき
にどのようになるかを示す例です.
<devicename>lo0</devicename>の後にある<literal>=&gt;</literal>
は, インタフェースが
(このアドレスがローカルなホストを参照しているので)
ループバックを使っているというだけでなく,
エイリアスになっていることも 示しています.
このような経路はエイリアスをサポートしている
ホストにのみ現れます.
ローカルネットワーク上の他のすべてのホストでは
単に<literal>link#1</literal>となります.</para>
<para>最後の行 (destinationが<literal>224</literal>のサブネット)
はマルチキャスト で扱うものですが,
これは他の章で説明します.</para>
<para>他の欄については <literal>Flags</literal>
について説明する必要があります.
それぞれの経路は欄に示されているように違った属性を
もっています.
以下にいくつかのフラグとこれらが何を意味しているかを示します.
</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry>U</entry>
<entry>Up: この経路はアクティブです.</entry>
</row>
<row>
<entry>H</entry>
<entry>Host: 経路の destinationが単一のホストです.</entry>
</row>
<row>
<entry>G</entry>
<entry>Gateway: この destinationへ送られると, どこへ送れ
ばよいかを明らかにして,
そのリモートシステムへ送られます.</entry>
</row>
<row>
<entry>S</entry>
<entry>Static: この経路はシステムによって自動的に生成
されたのではなく, 手動で作成されました.</entry>
</row>
<row>
<entry>C</entry>
<entry>Clone: マシンに接続したときにこの経路に基づく
新しい経路が作られます. このタイプの経路は通常は
ローカルネットワークで使われます.</entry>
</row>
<row>
<entry>W</entry>
<entry>WasCloned: ローカルエリアネットワーク(Clone)
の経路に基づいて
自動的に生成された経路であることを示します.</entry>
</row>
<row>
<entry>L</entry>
<entry>Link: イーサネットハードウェアへの参照を含む
経路です.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2>
<title>デフォルトルート</title>
<para>ローカルシステムからリモートホストにコネクションを張る
必要がある場合, 既知のパスが存在するかどうかを確認するためにル
ーティングテーブルをチェッ クします.
到達するためのパスを知っているサブネットの内部にリモ
ートホストがある場合 (Cloned routes), システムはインタフェース
から接続できるかどうかをチェックします.</para>
<para>知っているパスがすべて駄目だった場合でも, システムには
最後の切り札の &ldquo;デフォルト&rdquo;ルートがあります.
このルートは ゲートウェイルート (普通はシステムに
1つしかありません) の特別なものです. そして,
フラグフィールドは必ず <literal>c</literal>
がマークされています. このゲートウェイは, LAN 内のホストにとっ
て, 外部 (PPPのリンクを経由する場合や,
データラインに接続するハー ドウェアデバイスなど)
へ直接接続するマシンすべてのためのものです.</para>
<para>外部に対するゲートウェイとして機能するマシンで
デフォルトルート を設定する場合,
デフォルトルートは インターネットサービスプロバイダ (ISP)
のサイトのゲートウェ イマシンになるでしょう.</para>
<para>それではデフォルトルートの一例を見てみましょう.
一般的な構成を示します. </para>
<literallayout>
[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]
</literallayout>
<para>ホスト <hostid>Local1</hostid> とホスト <hostid>Local2</hostid>
を PPP で ISP のターミナルサーバと接続されているあなたの
サイトだとします.
ISP はサイト内にロー カルなネットワークを持っていて,
そこにはまざまなものがあり,
あなたの接続するサーバや ISP のインターネットへの
接続点であるハードウェアデバイス (T1-GW) などがあります.</para>
<para>あなたのマシンのデフォルトルートは
それぞれ次のようになります.</para>
<informaltable frame="none">
<tgroup cols="3">
<thead>
<row>
<entry>host</entry>
<entry>default gateway</entry>
<entry>interface</entry>
</row>
</thead>
<tbody>
<row>
<entry>Local2</entry>
<entry>Local1</entry>
<entry>ethernet</entry>
</row>
<row>
<entry>Local1</entry>
<entry>T1-GW</entry>
<entry>PPP</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>&ldquo;なぜ (あるいは, どうやって) Local1 の
デフォルトゲートウェイをISPのサーバでなく
T1-GWにセットするのか&rdquo;という質問がよくあります.</para>
<para>コネクションのローカルの側については,
PPPのインタフェースは
ISPのローカルネットワーク上のアドレスを用いているため,
ISPのローカルネットワーク上のすべてのマシンへの経路は
自動的に生成されています. つまり, あなたのマシンは,
どのようにT1-GW
まで届くかという経路を既に知っていることになりますから,
ISPサーバに媒介的なトラフィックをかける必要はありません.</para>
<para>最後になりましたが, 一般的にローカルネットワークでは
<hostid role="ipaddr">...1</hostid>
というアドレスをゲートウェイアドレスとして使います. ですから
(同じ例を用います), あなたのclass-Cのアドレス空間が <hostid
role="ipaddr">10.20.30</hostid>で ISPが<hostid
role="ipaddr">10.9.9</hostid>を用いている場合,
デフォルトルートは次のようになります.</para>
<literallayout>
Local2 (10.20.30.2) --&gt; Local1 (10.20.30.1)
Local1 (10.20.30.1, 10.9.9.30) --&gt; T1-GW (10.9.9.1)
</literallayout>
</sect2>
<sect2>
<title>マルチホームホスト</title>
<para>ここで扱うべき他のタイプの設定があります.
それは2つの異なるネットワー クにまたがるホストです.
技術的にはゲートウェイとして機能するマシン (上 の例では
PPPコネクションを用いています) はマルチホームホストで す.
しかし実際にはこの言葉は,
2つのローカルエリアネットワーク上のサ
イトであるマシンを指す言葉としてのみ使われます.</para>
<para>2枚のイーサネットカードを持つマシンが, 別のサブネット
上にそれぞれアドレスを持っている場合があります. あるいは,
イーサネットカードを1枚持っているマシンで,
ifconfigのエイリアスを使っているかもしれません.
物理的に分かれている2つのイーサネットのネットワークが使われて
いるならば前者が用いられます. 後者は, 物理的には1つのネットワ
ークセグメントで, 論理的には分かれている 2つのサブネットとする
場合に用いられます.</para>
<para>どちらにしても,
このマシンがお互いのサブネットへのゲートウェイ (inbound
route) として定義されていることが分かるように, おのお
ののサブネットでルーティングテーブルを設定します. このマシンが
2 つのサブネットの間のブリッジとして動作するという構成は, パケ
ットのフィルタリングを実装する必要がある場合や, 一方向または双
方向のファイアウォールを利用したセキュリティを構築する場合によ
く用いられます.</para>
</sect2>
<sect2>
<title>ルーティングの伝播</title>
<para>すでに外部との経路をどのように定義したらよいかは
説明しました.
しかし外部から私たちのマシンをどのようにして
見つけるのかについては説明していません.</para>
<para>ある特定のアドレス空間 (この例では class-C のサブネット)
にお けるすべてのトラフィックが,
到着したパケットを内部で転送するネ
ットワーク上の特定のホストに送られるようにルーティングテーブル
を設定することができるのは分かっています.</para>
<para>あなたのサイトにアドレス空間を割り当てる場合,
あなたのサブネッ トへのすべてのトラフィックがすべて
PPPリンクを通じてサイトに送
ってくるようにサービスプロバイダはルーティングテーブルを設定し
ます. しかし, 国境の向こう側のサイトはどのようにしてあなたの
ISPへ送ることを知るのでしょうか?</para>
<para>割り当てられているすべてのアドレス空間の経路を維持する
(分散し ている DNS 情報とよく似た) システムがあり,
そのインターネット バックボーンへの接続点を定義しています.
&ldquo;バックボーン&rdquo; とは国を越え,
世界中のインターネットのトラフィックを運ぶ主要
な信用できる幹線のことです. どのバックボーンマシンも,
あるネット
ワークから特定のバックボーンのマシンへ向かうトラフィックと,
そのバックボーンのマシンからあなたのネットワークに届くサービス
プロバイダまでのチェーンのマスタテーブルのコピーを持っていま
す.</para>
<para>あなたのサイトが接続(プロバイダからみて内側にある
ことになります) したということを, プロバイダからバックボー
ンサイトへ通知することはプロバイダの仕事です. これが経
路の伝搬です.</para>
</sect2>
<sect2>
<title>トラブルシューティング</title>
<para>ルーティングの伝搬に問題が生じて, いくつかのサイトが
接続をおこなうことができなくなることがあります.
ルーティングがどこでおかしくなっているかを明らかにするのに
最も有効なコマンドはおそらく &man.traceroute.8; コマンドでしょ
う. このコマンドは,
あなたがリモートマシンに対して接続をおこなう
ことができない(例えば &man.ping.8; に失敗するような場合)
場合も, 同じように有効です.</para>
<para> &man.traceroute.8; コマンドは,
接続を試みているリモートホスト を引数にして実行します.
試みているパスの経由する ゲートウェイホストを表示し,
最終的には目的のホストに たどり着くか,
コネクションの欠如によって終ってしまうかのどちら
かになります.</para>
<para>より詳しい情報は, &man.traceroute.8;
のマニュアルページをみてください.</para>
</sect2>
</sect1>
<sect1 id="nfs">
<title>NFS</title>
<para><emphasis>原作: &a.jlind;.</emphasis></para>
<para><emphasis>訳: &a.jp.tomo;.<!-- <br> -->
6 September 1996.</emphasis></para>
<para>ISA用のイーサネットアダプタの中には性能が悪いため,
ネットワーク, 特に NFS で深刻な問題がおきるものがあります.
これは FreeBSD に限ったことでは ありませんが, FreeBSD
でも起こり得ます.</para>
<para>この問題は,
(FreeBSDを使用した) PC がシリコン・グラフィックス社や
サン・マイクロ システムズ社などの高性能な WS
にネットワーク接続されている場合に頻繁に起こります.
NFS マウントはうまく行きます. また,
いくつかの操作もうまく働きますが, 他のシステム (WS)
に対する要求や応答は続いていても, 突然サーバ が
クライアントの要求に対して反応しなくなります.
これは, クライアントが FreeBSD か上記の WS であるとき,
にクライアント側に起きる 現象です.
多くのシステムでは, いったんこの問題が起きたら解決できないので,
行儀よくシャットダウンするしかありません.
唯一の解決策は, この状況に陥る前にクライアントを
リセットすることです. なぜなら, 一旦この状況に陥ると
NFS を解除することさえできないからです.</para>
<!-- kuriyama - should re-write translation -->
<para>&ldquo;正しい&rdquo;解決法は,
より高性能のイーサネットアダプタをFreeBSDシステムに
インストールすることですが,
満足な操作ができるような簡単な方法があります. もし,
FreeBSDシステムが<emphasis>サーバ</emphasis>になるのなら,
クライアントからのマウント時に
<option>-w=1024</option>オプションをつけて下さい.
もしFreeBSDシステムが<emphasis>クライアント</emphasis>になる
のなら, NFSファイルシステムを <option>-r=1024</option>
オプションつきでマウントして下さい.
これらのオプションは自動的にマウントをおこなう場合には
クライアントの <filename>fstab</filename>
エントリの4番目のフィールドに指定してもよいですし,
手動マウントの場合は mount コマンドの <option>-o</option>
パラメータで指定してもよいでしょう.</para>
<para>NFSサーバとクライアントが別々のネットワーク上にあるような
場合, これと間違えやすい他の問題が起きることに注意して下さい.
そのような場合は, ルータが必要な UDP 情報をきちんと
ルーティングしているかを確かめて下さい.
そうでなければ, たとえあなたが何をしようと解決できないでしょう.
</para>
<para>次の例では, <hostid>fastws</hostid>は高性能のWSのホスト
(インタフェース)名で,
<hostid>freebox</hostid>は低性能のイーサネットアダプタを備えた
FreeBSDシステムのホスト(インタフェース)名です.</para>
<para>また, <filename>/sharedfs</filename> はエクスポートされる
NFS ファイルシステムであり (<command>man exports</command>
を見て下さい), <filename>/project</filename>
はエクスポートされたファイルシステムの
クライアント上のマウントポイントとなります.
全ての場合において, <option>hard</option> や <option>soft</option>,
<option>bg</option> といった追加オプションが
アプリケーションにより要求されるかもしれないことに
注意して下さい.</para>
<para>クライアント側 FreeBSD システム (<hostid>freebox</hostid>)
の例は:
<!-- kuriyama - Eng. ver should be hostid for freebox -->
<hostid>freebox</hostid> の <filename>/etc/fstab</filename>
に次のように書いて下さい:</para>
<programlisting>
fastws:/sharedfs /project nfs rw,-r=1024 0 0</programlisting>
<para><hostid>freebox</hostid> 上で手動で mount
コマンドを実行する場合は次のようにして下さい:</para>
<screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen>
<para>サーバ側FreeBSDシステムの例は: <hostid>fastws</hostid> の
<filename>/etc/fstab</filename> に次のように書いて下さい:</para>
<programlisting>
freebox:/sharedfs /project nfs rw,-w=1024 0 0</programlisting>
<para><hostid>fastws</hostid> 上で手動で mount
コマンドで実行する場合は次のようにして下さい:</para>
<screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen>
<para>近いうちにどのような 16 ビットのイーサネットアダプタでも
上記の読み出し,
書き込みサイズの制限なしの操作ができるようになるでしょう.</para>
<para>失敗が発生したとき何が起きているか関心のある人に,
なぜ回復不可能なのか も含めて説明します. NFSは通常
(より小さいサイズへ分割されるかもしれませんが)
8Kの&ldquo;ブロック&rdquo; サイズで働きます.
イーサネットのパケットサイズは最大1500バイト程度なので,
上位階層のコードにとっては1つのユニットのままなのですが,
NFS&ldquo;ブロック&rdquo;は
複数のイーサネットパケットに分割されます. そして受信され,
組み立て直されてから 肯定応答されなければなりません.
高性能のWSは次々に NFSユニットを構成するパケットを,
基準の範囲内で間隔を詰めて 次々に送り出すことができます. 小さく,
容量の低いカードでは, 同じユニットの
前のパケットがホストに転送される前に, 後のパケットがそれを
「踏みつぶし」てしまいます.
このため全体としてのユニットは再構成もされないし,
肯定応答もされません. その結果,
WSはタイムアウトして再送を試みますが,
8Kのユニット全体を再送しようとするので, このプロセスは
際限無く繰り返されてしまいます.</para>
<para>ユニットサイズを イーサネットのパケットサイズの
制限以下に抑えることにより, 受信された完全な
イーサネットパケットは個々に肯定応答を受けられることが
保証されるので,
デッドロック状態を避けることができるようになります.</para>
<para>高性能のカードを使っている場合でも, 高性能な WS
が力任せに次々と PC システムにデータを送ったときには
「踏みつぶし」 が起きるかもしれません.
そのような「踏みつぶし」は NFS &ldquo;ユニット&rdquo;
では保証されていません. 「踏みつぶし」が起こったとき,
影響を受けたユニットは再送されます. そして受信され,
組み立てられ,
肯定応答される公平な機会が与えられるでしょう.</para>
</sect1>
<sect1 id="diskless">
<title>Diskless operation</title>
<para><emphasis>原作: &a.martin;</emphasis></para>
<para><emphasis>訳: &a.jp.yasu;</emphasis></para>
<para><filename>netboot.com</filename>/<filename>netboot.rom</filename>
によって, ディスクのないクライアントで ネットワーク経由で
FreeBSD マシンのブートを行い FreeBSD を走らせることができます.
2.0 ではローカルなスワップを持つことができます.
NFS 経由のスワッピングもサポートされています. </para>
<para>サポートされているイーサネットカード:
Western Digital/SMC 8003, 8013, 8216 とその互換ボード,
NE1000/NE2000 とその互換カード (再コンパイルが必要)</para>
<sect2>
<title>セットアップの手順</title>
<procedure>
<step>
<para>サーバにするマシンを見つけます.
このマシンには, FreeBSD 2.0のバイナリとbootpを
記憶するだけの十分なディスクスペースが必要です.
tftp と NFS も使えます.
テストしたマシン:</para>
<itemizedlist>
<listitem>
<para>HP9000/8xx / HP-UX 9.04以降
(9.04以前では動きません)</para>
</listitem>
<listitem>
<para>Sun/Solaris 2.3. (bootpが必要)</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>クライアントにIP,gateway,netmaskを提供する
bootpサーバをセットアップします.</para>
<programlisting>
diskless:\
:ht=ether:\
:ha=0000c01f848a:\
:sm=255.255.255.0:\
:hn:\
:ds=192.1.2.3:\
:ip=192.1.2.4:\
:gw=192.1.2.5:\
:vm=rfc1048:</programlisting>
</step>
<step>
<para>クライアントにブート情報を提供する TFTP サーバを
(bootp サーバと同じマシンに) セットアップします.
このファイルの名前は,
<filename>cfg.<replaceable>X.X.X.X</replaceable></filename>
(もしくは <filename>/tftpboot/cfg.
<replaceable>X.X.X.X</replaceable></filename>)で,
ここで <replaceable>X.X.X.X</replaceable> はクライアントの
IP アドレスです.
このファイルの内容は netboot コマンドで有効です.
2.0では, netboot は以下のようなコマンドを持ちます:</para>
<informaltable frame="none">
<tgroup cols="2">
<tbody>
<row>
<entry>help</entry>
<entry>helpリストの表示</entry>
</row>
<row>
<entry>ip
<option><replaceable>X.X.X.X</replaceable></option></entry>
<entry>クライアントのIPアドレスの表示/セット</entry>
</row>
<row>
<entry>server
<option><replaceable>X.X.X.X</replaceable></option></entry>
<entry>bootp/tftp サーバのアドレスの表示/セット</entry>
</row>
<row>
<entry>netmask
<option><replaceable>X.X.X.X</replaceable></option></entry>
<entry>netmaskの表示/セット</entry>
</row>
<row>
<entry>hostname <replaceable>name</replaceable></entry>
<entry>hostnameの表示/セット</entry>
</row>
<row>
<entry>kernel
<option><replaceable>name</replaceable></option></entry>
<entry>カーネル名の表示/セット</entry>
</row>
<row>
<entry>rootfs
<option><replaceable>ip:/fs</replaceable></option></entry>
<entry>root ファイルシステムの表示/セット</entry>
</row>
<row>
<entry>swapfs
<option><replaceable>ip:/fs</replaceable></option></entry>
<entry>swap ファイルシステムの表示/セット</entry>
</row>
<row>
<entry>swapsize
<option><replaceable>size</replaceable></option></entry>
<entry>diskless swapsize を Kbytes単位でセット</entry>
</row>
<row>
<entry>diskboot</entry>
<entry>ディスクからのブート</entry>
</row>
<row>
<entry>autoboot</entry>
<entry>ブートプロセスの続行</entry>
</row>
<row>
<entry>trans
<option>on</option>|<option>off</option></entry>
<entry>トランシーバのオン|オフ</entry>
</row>
<row>
<entry>flags
<option>b</option><option>c</option>
<option>d</option><option>h</option>
<option>s</option><option>v</option></entry>
<entry>ブートフラグの設定</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>完全にディスクレスな場合の一般的な cfg
ファイルは以下のようになります:</para>
<programlisting>
rootfs 192.1.2.3:/rootfs/myclient
swapfs 192.1.2.3:/swapfs
swapsize 20000
hostname myclient.mydomain</programlisting>
<para>ローカルに swap
を持つマシンについては以下のようになります:</para>
<programlisting>
rootfs 192.1.2.3:/rootfs/myclient
hostname myclient.mydomain</programlisting>
</step>
<step>
<para>NFS サーバがクライアントにroot(必要ならswapも)
ファイルシステムをexportしているか, また,
クライアントがこれらのファイルシステムに
ルートアクセスできるか確認します. FreeBSDにおける一般的な
<filename>/etc/exports</filename> ファイルは
以下のようになります:</para>
<programlisting>
/rootfs/myclient -maproot=0:0 myclient.mydomain
/swapfs -maproot=0:0 myclient.mydomain</programlisting>
<para>そして, HP-UX側では以下のようになります:</para>
<programlisting>
/rootfs/myclient -root=myclient.mydomain
/swapfs -root=myclient.mydomain</programlisting>
</step>
<step>
<para>NFS経由でスワッピングを行う場合
(完全にディスクレスな場合の設定), クライアントが使用する
swap ファイルを <command>dd</command> で作成します.
もし, <command>swapfs</command> コマンドが上記の例のように
引数 <filename>/swapfs</filename>を持ちそのサイズが 20000
である場合, myclientに対するスワップファイルは
<filename>/swapfs/swap.<replaceable>X.X.X.X</replaceable>
</filename> で呼び出されます. ここで
<replaceable>X.X.X.X</replaceable> はクライアントの IP
アドレスです. 例:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=/swapfs/swap.192.1.2.4 bs=1k count=20000</userinput></screen>
<para>また, スワッピングが開始されるとクライアントの
スワップスペースはセンシティブな情報を含むようになるので,
不正なアクセスを防止するため, このファイルへの
読み書きのアクセス制限がなされていることを確認して下さい:
</para>
<screen>&prompt.root; <userinput>chmod 0600 /swapfs/swap.192.1.2.4</userinput></screen>
</step>
<step>
<para>クライアントがそれぞれのrootファイルシステムとして使う
ディレクトリにrootファイルシステムを展開します.
(上記の例では<filename>/rootfs/myclient</filename>).</para>
<itemizedlist>
<listitem>
<para>HP-UX システム: サーバはHP9000/800
シリーズのマシンで, HP-UX 9.04 以降が必要です.
これ以前のバージョンでは NFS
を経由するデバイスファイルが 作成ができません.</para>
</listitem>
<listitem>
<para><filename>/rootfs/myclient</filename> に
<filename>/dev</filename> を
展開する際に, いくつかのシステム (HPUX) では
FreeBSD に合った デバイスファイルが作成されないので
注意してください.
その際には最初の起動時にシングルユーザモードに
移行して (ブートの段階でCtrl-Cを押す),
<filename>/dev</filename> に移って
<command>sh ./MAKEDEV all</command> として,
クライアントからこれを 修正してください.</para>
</listitem>
</itemizedlist>
</step>
<step>
<para>クライアントで <command>netboot.com</command>
を実行するか, <filename>netboot.rom</filename>
ファイルから EPROMを作成します.</para>
</step>
</procedure>
</sect2>
<sect2>
<title><filename>/</filename> および <filename>/usr</filename>
ファイルシステムを共有して使用する</title>
<para>今のところ, これを行う公式に認められた方法はありませんが,
私はそれぞれのクライアントで <filename>/usr</filename>
ファイルシステムと 個々の <filename>/</filename>
ファイルシステム を共有して使っています.
どなたかこれをきちんと行うやり方の提案がありましたら,
私に, もしくは &a.core; グループに知らせてください.</para>
</sect2>
<sect2>
<title>特定の設定についてnetbootをコンパイルする</title>
<para><filename>/sys/i386/boot/netboot/Makefile</filename>
の中の設定を変更して
コンパイルすることで, netbootでNE1000/2000
カードをサポートします.
このファイルの先頭にあるコメントを見てください.</para>
</sect2>
</sect1>
<sect1 id="isdn">
<title>ISDN</title>
<para><emphasis>最終更新: &a.wlloyd;</emphasis>.</para>
<para><emphasis>訳: &a.jp.kiroh;.<!-- <br> -->
11 December 1996.</emphasis></para>
<para>ISDN 技術とハードウェアに関しては, <ulink
URL="http://alumni.caltech.edu/~dank/isdn/">Dan Kegel's ISDN
Page</ulink> がよい参考になるでしょう.</para>
<para>ISDN の導入手順は, 簡単にいって以下のようになります. </para>
<itemizedlist>
<listitem>
<para>ヨーロッパ在住の方は, ISDN
カードの節に進んでください.</para>
</listitem>
<listitem>
<para>ISDN を使って,
インターネットプロバイダに(専用線は使用せず), ダ
イアルアップ接続しようとしている場合は,
ターミナルアダプタの使用を考え てみてください.
この方法はもっとも柔軟性があり, プロバイダを変更した場
合の問題も少ないでしょう.</para>
</listitem>
<listitem>
<para>2つの LAN の間を接続しようする場合や, ISDN
専用線を使用する場合 には,
スタンドアローンルータ/ブリッジの使用を勧めます.</para>
</listitem>
</itemizedlist>
<para>どの方法を用いるかを決定するには,
費用が重要な要素になってきます. 以下に, 最も安価な方法から,
高価な方法まで順に説明していきます.</para>
<sect2>
<title>ISDN カード</title>
<para><emphasis>著者:&a.hm;.</emphasis></para>
<para>このセクションの記述は, DSS1/Q.931 ISDN
標準がサポートされている国のユーザにのみ有効です.</para>
<para>最近増えてきている PC ISDN カードのうちいくつかは, FreeBSD
2.2.x 以降で isdn4bsd
ドライバパッケージによりサポートされています.
依然として開発中ではありますが,
ヨーロッパ中でうまく動作しているという報告があります.</para>
<para>最新の isdn4bsd は, <ulink
url="ftp://isdn4bsd@ftp.consol.de/pub">ftp://isdn4bsd@ftp.consol.de/pub</ulink> から入手できます.
この ftp サイトでは, ユーザ名として <username>isdn4bsd</username>
を使い, パスワードにメールアドレスを使ってログインする
必要があります. ログインできたら <filename>pub</filename>
ディレクトリに移動してください. ユーザー名
<username>ftp</username> や <username>anonymous</username>
によるログインでは, 必要なファイルにたどりつけません.</para>
<para>isdn4bsd は, IP over raw HDLC もしくは同期 PPP
を利用して他の ISDN ルータと接続できます.
留守番電話アプリケーションも使えます.</para>
<para>Siemens ISDN チップセット (ISAC/HSCX)
を使用したものを主に多くのカードがサポートされています.
他のチップセット (Motorola, Cologn ChipDesigns)
のサポートは現在開発中です.
サポートされるカードの最新のリストは, <ulink
url="ftp://isdn4bsd@ftp.consol.de/pub/README">README</ulink>
を参照してください.</para>
<para>他の ISDN プロトコルを追加したい場合や,
サポートされていない ISDN PC カード サポートしたい場合など
isdn4bsd を拡張したい場合は, <email>hm@kts.org</email>
までご連絡ください.</para>
<para>majordomoによるメーリングリストが利用できます.
参加するには, 本文に <programlisting> subscribe
freebsd-isdn</programlisting> と記入したメールを
&a.majordomo; 宛てに送ってください.</para>
</sect2>
<sect2>
<title>ISDN ターミナルアダプタ</title>
<para>ターミナルアダプタ (TA) はISDN に対して,
通常の電話線に対するモデ ムに相当するものです.</para>
<para>ほとんどの TA は, 標準のヘイズ AT
コマンドセットを使用しているので,
単にモデムと置き換えて使うことができます.</para>
<para>TA は, 基本的にはモデムと同じように動作しますが,
接続方法は異なり, 通
信速度も古いモデムよりはるかに速くなります. <link
linkend="ppp">PPP</link> の設定を,
モデムの場合と同じように行ってください. とくにシリアル速度を
使用できる最高速度に設定するのを忘れないでください.</para>
<para>プロバイダへの接続に TA を使用する最大のメリットは, 動的
PPP を行える ことです. 最近 IP アドレスが不足してきているため,
ほとんどのプロバイダ は, 専用の IP
アドレスを割り当てないようになっています. ほとんどのスタ
ンドアローンルータは, 動的 IP
アドレスに対応していません.</para>
<para>訳注: 最近の ISDN ルータでは, IP
アドレスの動的割り当てに対応している ものも多いようです.
ただし制限がある場合もありますので, 詳しくはメーカ
に問い合わせてください.</para>
<para>TA を使用した場合の機能や接続の安定性は, 使用している PPP
デーモンに完 全に依存します. そのため, FreeBSD で PPP
の設定が完了していれば, 使用 している既存のモデムを ISDN の TA
に簡単にアップグレードすることができ ます. ただし, それまでの
PPP のプログラムに問題があった場合, その問題 は TA
に置き換えてもそのまま残ります.</para>
<para>最高の安定性を求めるのであれば, ユーザープロセス<link
linkend="userppp">iijPPP</link> ではなく, カーネル<link
linkend="ppp">PPP</link>を使用してく ださい.</para>
<para>以下の TA は, FreeBSD で動作確認ずみです.</para>
<itemizedlist>
<listitem>
<para>Motorola BitSurfer および Bitsurfer Pro</para>
</listitem>
<listitem>
<para>Adtran</para>
</listitem>
</itemizedlist>
<para>他の TA もほとんどの場合うまく動作するでしょう. TA
のメーカーでは, TA がほとんどの標準モデム AT
コマンドセットを受け付けるようにするよう, 努
力しているようです.</para>
<para>外部 TA を使う際の最大の問題点は,
モデムの場合と同じく良いシリアルカー
ドが必要であるということです.</para>
<para>シリアルデバイスの詳細,
そして非同期シリアルポートと同期シリアルポート の差については,
ハンドブックの<link linkend="uart">シリアルポート</link> の
節を参照してください.</para>
<para>標準の PC シリアルポート(非同期)に接続された TA は, 128Kbs
の接続を行っ ていても, 最大通信速度が 115.2Kbs
に制限されてしまいます. 128Kbs の ISDN
の性能を最大限に生かすためには, TA
を同期シリアルカードに接続しな ければなりません.</para>
<para>内蔵 TA を購入して,
同期/非同期問題を片付けてしまおうとは思わないでく ださい.
内蔵 TA には, 単に標準 PC シリアルポートのチップが内蔵されてい
るだけです. 内蔵 TA の利点といえば,
シリアルケーブルを買わなくていいと いうことと,
電源コンセントが一つ少なくて済むということくらいでしょう.
</para>
<para>同期カードと TA の組合せは 386 の FreeBSD
マシンの場合でも, スタンドア
ローンのルータと同程度の速度は確保できます.
またこの組合せでは, ルータ より柔軟な設定が可能です.</para>
<para>同期カード/TA を選ぶか, スタンドアローンルータを選ぶかは,
多分に宗教的 な問題です.
メーリングリストでもいくつか議論がありました. 議論の内容に
ついては, <ulink URL="../search/search.html">archives</ulink>
を参照してください.</para>
</sect2>
<sect2>
<title>スタンドアローン ISDN ブリッジ/ルータ</title>
<para>ISDN ブリッジやルータは, OS 特有のものではありません.
もちろん FreeBSD 特有のものでもありません.
ルーティングやブリッジング技術に関す る詳細は,
ネットワークの参考書をご覧ください.</para>
<para>このページでは,
ルータとブリッジにどちらでもあてはまるように記述します.</para>
<para>ISDN ルータ/ブリッジは,
ローエンドの製品のコストが下がってきている こともあり,
より一般的に使用されるようになるでしょう. ISDN ルータは,
外見は小さな箱で,
ローカルのイーサネットネットワーク(もしくはカード)と 直接,
接続します. また,
自身で他のブリッジ/ルータとの接続を制御します. PPP
や他のプロトコルを使用するためのソフトウェアは,
すべて組み込まれて います.</para>
<para>ルータは, 完全な同期 ISDN 接続を使用するため, 通常の TA
と比較してスルー プットが大幅に向上します.</para>
<para>ISDN ルータ/ブリッジを使用する場合の最大の問題点は,
各メーカーの製品間 に相性の問題がまだ存在することです.
インターネットプロバイダとの接続を 考えている場合には,
プロバイダと相談することをお勧めします.</para>
<para>事務所の LAN と家庭の LAN の間など, 二つの LAN
セグメントの間を接続 しようとしている場合は,
ブリッジ/ルータの使用がもっともメンテナンスが 簡単で,
努力が少なくてすむ方法です. 両側の機材を購入するのであれば,
メー カー間の接続性の問題もないでしょう.</para>
<para>たとえば家庭の LAN や出張所の LAN
を本社のネットワークに接続するために は,
以下のような設定が使用できます.</para>
<example>
<title>出張所 LAN または 家庭 LAN</title>
<para>ネットワークは, 10 Base T イーサネットです.
ルータとネットワークの間は, 必要に応じて AUI/10BT
トランシーバを使って接続します.</para>
<!-- This should be a graphic -->
<programlisting>
---Sun ワークステーション
|
---FreeBSD マシン
|
---Windows 95 (別に勧めているわけじゃありません)
|
スタンドアローンルータ
|
ISDN BRI ライン</programlisting>
<para>
家庭/出張所 LAN で,
一台しかコンピュータを接続しないのであれば, クロス
のツイストペアケーブルを使用して,
スタンドアローンルータと直結も可能で す.</para>
</example>
<example>
<title>本社 LAN や他の LAN</title>
<para>ネットワークは, ツイストペアイーサネットです. </para>
<!-- This should be a graphic -->
<programlisting>
-------Novell サーバ
| |
|ハ ---Sun
| |
| ---FreeBSD
| |
|ブ ---Windows 95
| |
|___---スタンドアローンルータ
|
ISDN BRI ライン</programlisting>
</example>
<para>ほとんどのルータ/ブリッジでは, 別々の二つのサイトに対して,
<emphasis>同時</emphasis>にそれ
ぞれ<emphasis>独立した</emphasis>二つの PPP 接続が可能です.
これは, 通常の TA ではサポート されない機能で,
ルータ/ブリッジ接続の大きな利点です (シリアルポートを
二つもつ特殊(そして高価な) TA では可能です).
チャンネル割り当てや MPP などと混同しないでください.</para>
<para>これは, 大変便利な機能です.
たとえば事務所で専用線インターネット ISDN 接続を使用していて,
別の ISDN ラインを購入したくないとします. この場合,
事務所のルータは, 一つの専用線 B
チャンネル接続(64Kbs)を維持しつつ, 別 の B
チャンネルを他の用途に使用することができます. たとえば,
他の場所 とのダイアルイン, ダイアルアウトに使用したり,
バンド幅を増やすために,
インターネットとの接続への動的に割り当て(MPP
など)に使用したりすること が可能です.</para>
<para>またイーサネットブリッジは, IP パケットだけでなく IPX/SPX
などすべての
プロトコルのパケットを中継することが可能です.</para>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
End:
-->