<!doctype linuxdoctr system>
<!-- LinuxDoc file was created by LyX 1.0 (C) 1995-1999 by <pramsey> Thu Jun 22 09:21:23 2000
 -->
 <article>
 <title>
<!--
Red Hat Linux 6.X as an Internet Gateway for a Home Network
-->
Red Hat Linux 6.Xで構築するホームネットワークのインターネットゲートウェイ
 </title>
 <author>
Paul Ramsey &lt;pramsey@refractions.net&gt;
 </author>
 <date>
<!--
June 22, 2000
-->
2000年6月22日
 </date>
<trans>
鈴木 康弘(ysuzuki@bb.mbn.or.jp)
</trans>
<tdate>
2000年10月30日
</tdate>

 <abstract>
<!--
A simple tutorial on configuring Red Hat 6 and related variants to operate
 as an internet gateway to a small home or office network. Topics covered include
 masquerading, DNS, DHCP, and basic security.
-->
家庭や事務所内の小規模なネットワークのゲートウェイにRed Hat 6系の
ディストリビューションを運用するための設定について述べた簡単な入門文書です。
マスカレードとDNS・DHCP・基本的なセキュリティについて説明します。
 </abstract>
 <toc>
 <sect>
<!--
Introduction
-->
はじめに
 <p>
<!--
This page contains a simple cookbook for setting up Red Hat 6.X as an internet
 gateway for a home network or small office network. The instructions are very
 simplified: no special cases will be discussed, and some assumptions will be
 made about which network addresses are to be used. The most important assumptions
 are:
-->
この文書は、家庭内や小さな事務所内のコンピュータネットワークの
インターネットゲートウェイとしてRed Hat 6.Xを設定するための、簡潔な手順書
です。特別なケースは考慮していませんし、使用するネットワークアドレスについて
いくつか仮定しています。もっとも重要な仮定を以下に示します。
 </p>
 <p>
 <itemize>
  <item>
<!--
You have a fulltime Cable or ADSL connection to the Internet. 
-->
ケーブルテレビ回線やADSLでインターネットへ常時接続している
  <item>
<!--
You can successfully install <htmlurl url="http://www.redhat.com"
name="Red Hat 6.X"> on at least one of your computers. Note that
 these directions are also valid for Red Hat derivatives, such as 
 <htmlurl url="http://www.linux-mandrake.com" name="Mandrake 6.X"> which is
 distributed by MacMillan Publishing under a variety of labels. 
-->
最低 1台のコンピュータに、きちんと<htmlurl url="http://www.redhat.com" 
name="Red Hat 6.X">がインストールされている。なおこの文書は、Macmillan 
Publishingが様々な名前で配布している<htmlurl 
url="http://www.linux-mandrake.com" name="Mandrake 6.X">
(日本では<htmlurl url="http://www.cdrom.co.jp/" name="五橋研究所">が
「マイスターLinux Mandrake」という名前で9月から販売しています)など、Red Hat系の
ディストリビューションにも有効です。
  <item>
<!--
Your Linux computer has two network cards installed in it and both are
 compatible with Linux. 
-->
あなたのLinuxコンピュータに、Linuxで利用可能なネットワークカードが2枚 
挿さっている
  <item>
<!--
You have an ethernet hub if you are networking more than one computer or
 a cross-over cable if you are only networking one computer. 
-->
2台以上のコンピュータでネットワークを構築しているのならばEthernetハブを1台、
また1台のコンピュータだけでならばクロスケーブルを持っている
  <item>
<!--
You know how to edit text files on your Linux machine. 
-->
Linuxコンピュータでテキストファイルを編集する方法を知っている
  <item>
<!--
You can log into your machine as <tt>root</tt>. You know how to install RPM packages
 from your Linux CDROM. 
-->
<tt>root</tt>でログインでき、LinuxのCD-ROMからRPMパッケージをインストールできる
 </itemize>
</p> <p>
<!--
If you do not meet any of these assumptions, then this document probably
 isn't for you.
-->
もし以上の仮定のいずれかに合わないのならば、おそらくこの文書はあなた向き
ではありません。
 </p>
 <p>
<!--
There is nothing special that you have to do during the installation process.
 Simply choose an installation which makes sense for you and go for it. This
 document gives directions on installing everything to do with networking from
 scratch, to avoid making any assumptions about what was installed or configured
 during installation. To ensure that things work and there is no confusion about
 what information goes where, all the configuration will be done by directly
 editing the system configuration files rather than using the GUI configuration
 tools provided with Red Hat. On the one hand, this might be a little harder
 than it has to be; on the other hand, your knowledge will be a good deal more
 transferable to different distributions and situations (like, what if X doesn't
 work, or you are setting up a headless server).
-->
インストールの際に特別なことをする必要はありません。あなたの好みに合わせて
インストールしてください。この文書は、ネットワーク構築に必要なものを最初から
すべてインストールする方法を示します。つまり、インストール中の特別な設定や
特別なソフトウェアのインストールを前提としていません。動作を確実にし、
設定情報がどのファイルにあるか混乱するのを防ぐため、システム設定ファイルを
直接編集します。Red Hatが提供するGUI設定ツールは使用しません。すこし
難しくなるかもしれませんが、逆に、他のディストリビューションや、異なる状況でも
あなたの知識を生かせるようになるでしょう(Xが動かない場合や、モニターのない
サーバなどです)。
 </p>
 <sect1>
<!--
Versions
-->
更新履歴
 <p>
<!--
The latest version of this document should always be available at
<htmlurl url="http://www.coastnet.com/~pramsey/linux/homenet.html"
name="http://www.coastnet.com/~pramsey/linux/homenet.html"> for
 the HTML version and <htmlurl url="http://www.coastnet.com/~pramsey/linux/homenet.sgml" 
 name="http://www.coastnet.com/~pramsey/linux/homenet.sgml"> for the SGML version.
-->
この文書の最新版は常時、HTML形式ならば<htmlurl 
url="http://www.coastnet.com/~pramsey/linux/homenet.html" 
name="http://www.coastnet.com/~pramsey/linux/homenet.html">で、
SGML形式ならば<htmlurl url="http://www.coastnet.com/~pramsey/linux/homenet.sgml" 
name="http://www.coastnet.com/~pramsey/linux/homenet.sgml">で、それぞれ得ることが
できるはずです(訳注: 日本語訳は <htmlurl url="http://www.linux.or.jp/JF/JFdocs/Home-Network-mini-HOWTO.html" 
name="http://www.linux.or.jp/JF/JFdocs/Home-Network-mini-HOWTO.html">で入手できます)。
 </p>
 <p>
 <itemize>
  <item>
<!--
December 21, 1999 : First version.
-->
1999年12月21日 : 第1版
  <item>
<!--
January 2, 2000 : Incorporated suggestions from John Mellor on outside
 networking quirks.
-->
2000年1月2日 : 外部ネットワーク接続で起きる不具合についてJohn Mellorからの
提案を受け入れる
  <item>
<!--
January 22, 2000 : Minor update about identical network cards and info
 on IP aliasing from Chris Lea.
-->
2000年1月22日 : 同じ型のネットワークカードを複数 使用する場合について小さな
修正を行い、Chris LeaからIPエイリアスに関する情報の提供を受ける
  <item>
<!--
March 16, 2000 : Some information on name server security and on supporting
 Caldera from Nelson Gibbs.
-->
2000年3月16日 : Nelson Gibbsから得たネームサーバのセキュリティ情報とCaldera 
Linux対応について、更新
  <item>
<!--
June 22, 1000 : Red Hat 6.2 configuration quirk documented. More PPPoE
 info from Kerr First.
-->
2000年6月22日 : Red Hat 6.2のコンフィギュレーション時の問題について追加し、
Kerr Firstから情報をもらいPPPoEについて補足
 </itemize>
</p> <p>
<quote>日本語翻訳版の更新履歴は以下の通りです。
 <itemize>
  <item>2000年7月30日：原文の2000年1月22日版を元に翻訳。
	翻訳について、以下の方にコメントを頂きました(順不同、敬称略)。ありがとうございました。
	<itemize>
	<item>武井 伸光
	<item>加茂 智之
	<item>Masaharu Goto
	<item>森本 淳
	<item>konkiti
	<item>Hiro YAMAZAKI, Ph.D
	<item>菊谷 誠
	<item>山下 義之
	<item>佐野 武俊
	<item>羽根 秀也
	</itemize>
  <item>2000年10月30日：原文の2000年6月22日版を元に翻訳。
	翻訳について、以下の方にコメントを頂きました(順不同、敬称略)。ありがとうございました。
	<itemize>
	<item>武井 伸光
	<item>MIZUHARA Bun
	</itemize>
</itemize>
</quote>

</p> <sect1>
<!--
Copyright
-->
著作権
 <p>
Copyright (C) 2000, Paul Ramsey.
 </p>
 <p>
以下の制限に従えば、この文書の全体または一部を無料で複写してかまいません。</p>
<p><itemize>
<item>全体をコピーする場合でも一部分だけをコピーする場合でも、上記の著作権表示と
この複写許可条項を完全な状態で変更なしに含まなければなりません</item>
<item>この文書の翻訳や、この文書が元になって生まれた作業の結果を配布する際は、
事前に書面でこの文書の著者に承認を得なければなりません</item>
<item>この文書の一部分だけを配布する際は、この文書全体を得る方法をその中に含め、
その手段を提供しなければなりません</item>
<item>批評のための実例や他のプロジェクトで引用するためならば適切な参考文献表示を
つけてこの文書の一部だけを、この許可条項なしに複写してかまいません</item>
</itemize></p>
<p>これらの制限の例外として、学術目的の利用を認めることがあります。著者に
連絡してください。これらの制限は著者たちを守るために設けました。皆さんの学習や
教育を制限することが目的ではありません。</p>

<p><quote>
<p>訳注: 条件に従い、原文を以下に示します。</p>
 <p>
This manual may be reproduced in whole or in part, without fee, subject
 to the following restrictions: 
 </p>
 <p>
 <itemize>
  <item>
The copyright notice above and this permission notice must be preserved
 complete on all complete or partial copies.
  <item>
Any translation or derived work must be approved by the author in writing
 before distribution. 
  <item>
If you distribute this work in part, instructions for obtaining the complete
 version of this manual must be included, and a means for obtaining a complete
 version provided. 
  <item>
Small portions may be reproduced as illustrations for reviews or quotes
 in other works without this permission notice if proper citation is given.
 
 </itemize>
</p> <p>
Exceptions to these rules may be granted for academic purposes: Write to
 the author and ask. These restrictions are here to protect us as authors, not
 to restrict you as learners and educators.
 </p>
</quote></p>

 <sect>
<!--
Plugging Things In
-->
機器の接続
 <p>
<!--
Depending on whether you are using a hub or not, your network topology
 will differ slightly. I am only covering networking with RJ45 cabling (the
 stuff that looks like phone cables on steroids) and not covering thin coax.
 With thin coax you can network multiple machines without requiring a hub, but
 have to be more careful about terminating connections and so on. If you know
 networking already, these instructions will be largely redundant.
-->
ハブの有無で、ネットワークのトポロジーはわずかに異なります。この文書は、
RJ45コネクタのケーブル(電話線に似たケーブル、訳注:10BASE-Tなど)を使った
ネットワークだけを扱います。細い同軸ケーブル(訳注:10BASE2など)は対象外です。
この細い同軸ケーブルを使えばハブを使わずに、複数のコンピュータでネットワークを
組むことができますが、接続の終端処理などに注意しなければなりません。ネットワーク
についてすでに知識がある方には蛇足かもしれませんが。
 </p>
 <sect1>
<!--
With a Hub
-->
ハブを使う
 <p>
<!--
If you have a hub, your network will look like <url 
url="http://www.coastnet.com/~pramsey/linux/w_hub.gif" name="this">.
-->
もしハブがあるならば、あなたのネットワークは<url 
url="http://www.coastnet.com/~pramsey/linux/w_hub.gif" name="このようなもの">
になるでしょう。
 </p>
 <p>
<!--
Connect the <tt>eth0</tt> card on the Linux box to the cable modem or ADSL box using
 the cable supplied by the service provider during their install (or one you
 know works in that configuration. This is important because sometimes cable
 modems like to be connected with a crossover and sometimes they like a straight-through
 through cable: the one the company gives you is the one you want to use.
-->
取り付けの際にサービスプロバイダが提供したケーブル、またはあなたの環境で動作する
ことがわかっているケーブルを用いて、Linuxボックスの<tt>eth0</tt>カードを
ケーブルモデムやADSLボックスへ接続します。これは重要です。なぜなら、
ケーブルモデムには、クロスケーブルで接続することもあればストレートケーブルで
接続することもあるからです。しかしプロバイダが提供したケーブルを使えば問題は
ありません。
 </p>
 <p>
<!--
Connect the <tt>eth1</tt> card on the Linux box to the hub with a straight-through
 cable. Connect all your other computers to the hub with straight-through cables.
-->
ストレートケーブルで、Linuxボックスの<tt>eth1</tt>カードをハブと接続します。
それ以外のすべてのコンピュータもストレートケーブルでハブと接続してください。
 </p>
 <sect1>
<!--
Without a Hub
-->
ハブを使わない
 <p>
<!--
If you do not have a hub, you can still connect one computer to your Linux
 box, using a crossover cable. Your topology will look like <url 
 url="http://www.coastnet.com/~pramsey/linux/wo_hub.gif" name="this">.
-->
ハブがなくても、クロスケーブルを使ってあなたのLinuxボックスをもう1台の
コンピュータと接続することができます。このトポロジーは<url 
url="http://www.coastnet.com/~pramsey/linux/wo_hub.gif" name="このようなもの">
になるでしょう。
 </p>
 <p>
<!--
Connect the <tt>eth0</tt> card on the Linux box to the cable modem or ADSL box using
 the cable supplied by the service provider. Connect the <tt>eth1</tt> card on the Linux
 box to the other computer with a crossover cable.
-->
サービスプロバイダから提供されたケーブルで、Linuxボックスの<tt>eth0</tt>カードを
ケーブルモデムやADSLボックスと接続します。そして、そのLinuxボックスの
<tt>eth1</tt>カードをクロスケーブルで他のコンピュータと接続してください。
 </p>
 <sect1>
<!--
With Only One Network Card
-->
ネットワークカードが1枚だけのとき
 <p>
<!--
This is not a recommended configuration (in this configuration your internal
 and external networks are on the same physical network, and are therefor 
 theoretically
 more susceptible to cracking; in reality, the risk is probably very low), but
 it <em>can</em> be done. Your mileage may vary.
-->
このような設定は推奨しませんが、可能です。でも、あなたの場合にどうなるかは
保証できませんので、悪しからず。このような設定をすると、あなたのネットワークの
内と外が物理的に同じネットワークとなります。このため理論的にはクラッキングに
弱くなります。実際には、その危険性はおそらくとても低いですが。
 </p>
 <p>
<!--
The Linux kernel includes support for "IP aliasing", which allows an ethernet
 card to service two different IP addresses simultaneously. The stock kernels
 shipped with Red Hat and Mandrake include support for IP aliasing by default.
 To set up your gateway with only one ethernet card, in all the subsequent code
 examples, simply replace <tt>eth1</tt> with <tt>eth0:0</tt>. 
-->
Linuxのカーネルは、IPエイリアスをサポートしているので、一つのEthernetカードへ
同時に二つの異なるIPアドレスを割り振ることができます。Red HatとMandrakeで提供
されるカーネルは最初からIPエイリアスをサポートしています。一枚のEthernetカード
だけでゲートウェイを立ち上げるときは、以下の説明文で<tt>eth1</tt>の箇所を
<tt>eth0:0</tt>と置き換えて読んでください。
 </p>
 <p>
<!--
<em>In a single-card situation, running a DHCP server is </em>not<em> recommended.
</em>
-->
<em>ネットワークカードが1枚だけのときにDHCPサーバを立ち上げる</em>ことは、
お勧め<em>しません</em>。
 </p>
 <p>
<!--
Plug all your machines and your cable modem or ADSL box into the hub. Cross
 your fingers and continue.
-->
すべてのコンピュータとケーブルモデムやADSLボックスを、ハブへ接続してください。
そして、お好きなおまじないを唱えてから、次へ進んでください。
 </p>
 <sect>
<!--
Configuring Networking
-->
ネットワークの設定
 <p>
<!--
OK, by now you have installed Linux on your gateway computer. You may have
 even configured one of your networking cards, and set up connectivity to the
 Internet. However, we are going to start from scratch and pretend that nothing
 is configured at all.
-->
すでに、ゲートウェイコンピュータにLinuxがインストールされているはずです。さらに、
ネットワークカードの1枚をすでに設定し、インターネットとの接続を完了しているかも
しれません。しかし、我々はゼロから始めます。設定が一つもおこなわれていない状況を
想定します。
 </p>
 <p>
<!--
Log in as <tt>root</tt>. All the instructions given in this document assume you
 are logged in as root. 
-->
まず、<tt>root</tt>でログインしてください。この文書では、あなたがrootでログイン
しているものとして操作方法を述べていきます。
 </p>
 <p>
<!--
The Linux kernel refers to your two ethernet cards as <tt>eth0</tt> and 
<tt>eth1</tt>, so
 that is how I'll be referring to them from now on too. The trouble is, which
 one is which? Here's a &quot;simple&quot; way of figuring out, guaranteed to
 work at least 50&percnt; of the time: lay your computer on the desk with the
 motherboard horizontal and the back panel facing you (as you would if you were
 going to open it and do some work on it). The leftmost card is <tt>eth0</tt> -*- you
 might want to label it with some masking tape. Now, write down on a piece of
 paper the make and model of both <tt>eth0</tt> and <tt>eth1</tt>.
-->
Linuxのカーネルは、あなたの2枚のEthernetカードを<tt>eth0</tt>と<tt>eth1</tt>
として認識します。ですからこの文書でもこれから同じように記述します。問題は、
どちらのカードがどちらであるか、です。ここでは、少なくとも50&percnt;の確率で
大丈夫であると保証できる、&quot;簡単な&quot;方法を示します。カバーを外して作業を
するときの要領で、マザーボードが水平になるようにあなたのコンピュータを机の上に
おき、コンピュータの背面を見たときに、左端になるカードが<tt>eth0</tt>です。
マスキングテープなどでラベルを作り貼っておくと良いかもしれません。そして紙に、
<tt>eth0</tt>と<tt>eth1</tt>カード両方の製造元とモデルをメモしてください。
 </p>
 <p>
<!--
OK, let's see if <tt>eth0</tt> and <tt>eth1</tt> are recognized automatically 
by the kernel.
 Type <tt>ifconfig eth0</tt> and <tt>ifconfig eth1</tt>. In both cases, if 
 the kernel is recognizing
 your card, you should see something like this (bearing in mind that the numbers
 and whatnot will be different):
-->
それでは、<tt>eth0</tt>カードと<tt>eth1</tt>カードをカーネルが自動的に
認識しているか、見てみましょう。<tt>ifconfig eth0</tt>や<tt>ifconfig eth1</tt>
とタイプしてください。ともに、カーネルがネットワークカードを認識しているならば、
以下のように表示されます(数字などが異なるかもしれません)。
 </p>
 <p>
 <verb>
eth0   Link encap: Ethernet   HWaddr 00:60:67:4A:02:0A 
       inet addr:0.0.0.0  Bcast:0.0.0.0  Mask:255.255.255.255
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
       RX packets:466 errors:0 dropped:0 overruns:0 frame:0
       TX packets:448 errors:0 dropped:0 overruns:0 carrier:0
       collisions:85 txqueuelen:100 
       Interrupt:10 Base address:0xe400
 </verb>
</p> <p>
<!--
If the kernel is not recognizing your network card you will see something
 like this: 
-->
カーネルがネットワークカードを認識していないと、このような表示になるでしょう。
 </p>
 <p>
 <verb>
eth0: error fetching interface information: Device not found.
 </verb>
</p> <sect1>
<!--
Configuring a Network Driver
-->
ネットワークドライバーの設定
 <p>
<!--
If both of your cards were found, skip to the next section. Otherwise,
 read this section.
-->
両方のネットワークカードがカーネルに認識されていたら、この節はとばしてください。
そうでない方は、この節を読んでください。
 </p>
 <p>
<!--
OK, so one or both of your cards are not recognized by the kernel. This
 is not a problem, really. What we're going to have to do is tell the kernel
 more explicitly how to find your cards. There are lots of twists and turns
 here, and I'm not going to cover all of them. Remember, when the going gets
 tough, the tough turn to the <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html" name="Ethernet HOWTO">.
  Here's some summary advice:
-->
というわけで、カーネルがネットワークカードを1枚または両方とも認識しません
でしたが、本当のところ、これは問題ではありません。カードを認識させる方法を
もっとはっきりとカーネルへ伝えればよいだけのことです。キリがありませんので
すべての場合をカバーすることはしません。面倒なことが起こったら、<htmlurl 
url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html" name="Ethernet HOWTO">
を思い出してください(訳注:<htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/Ethernet-HOWTO.html" name="和訳">も
あります）。ここでは、いくつかアドバイスを要約して紹介します。
 </p>
 <p>
 <itemize>
  <item>
<!--
<em>You have a PCI network card.</em> You are probably sitting pretty, assuming
 it is not so new and cutting edge that no drivers exist. You can often find
 out a great deal about your network cards (and other things) by reading through
 <tt>/proc/pci</tt> and noting down makes and models. 
-->
カードが最新鋭でドライバーがなければ話は別ですが、一般的に<em>PCIバスの
ネットワークカードならば</em>事態は楽観できます。ネットワークカードについて
(それ以外のものについてもですが)、しばしば多くの情報が<tt>/proc/pci</tt>
ファイルに記されています。製造元とモデルをメモしてください。
  <item>
<!--
<em>You have an ISA network card.</em> It is possible you will have to know the
 IO base address and the IRQ the card is operating on. You have manuals, right?
 Right? If not, this would be a good time to surf to the manufacturer's web
 site and see if they have any online references. Or if you have an old DOS
 configuration diskette, boot to DOS and see if there is a setup program which
 will read and set the address and IRQ. 
-->
<em>ISAバスのネットワークカードならば</em>、カードが使うIOベースアドレスとIRQが
必要になることがあります。マニュアルがありますね。ありますよね。もしなければ、
製造元のウェッブサイトをのぞいて、オンラインのリファレンスを公開しているか
確認してください。昔のDOS用の設定ディスクがあるならば、DOSを起動して、アドレスと
IRQを参照し設定するセットアッププログラムを探してください。
  <item>
<!--
<em>You have an ISA Plug'n'Play card.</em> You'll have to learn how to configure
 it first -*- read the <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/Plug-and-Play-HOWTO.html" 
 name="Plug'n'Play HOWTO">. Fortunately, oncee you've configured your card 
 you will
 know exactly what the IO base and IRQ are. 
-->
<em>ISAバスのプラグ&amp;プレイカードをお持ちならば</em>、まず設定方法を
学ばなければならないでしょう。<htmlurl url="http://www.linuxdoc.org/HOWTO/Plug-and-Play-HOWTO.html" 
name="Plug'n'Play HOWTO">を読んでください(訳注:<htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/Plug-and-Play-HOWTO.html" name="和訳">も
あります)。さいわい、一度設定したことがあれば、IOベースアドレスとIRQを正確に
わかっているでしょう。
 </itemize>
</p> <p>
<!--
Now, since you know what the make and model of <tt>eth0</tt> and <tt>eth1</tt>
 are you can
 go to the <htmlurl url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO-5.html"
  name="compatibility page"> of the <htmlurl 
  url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html" name="Ethernet HOWTO"> 
  and look up your card. Take note of the recommended driver,
 and any information about special options your card may require. Write it down.
-->
<tt>eth0</tt>と<tt>eth1</tt>の製造元とモデルがわかりましたから、<htmlurl 
url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html" name="Ethernet HOWTO">
(<htmlurl url="http://www.linux.or.jp/JF/JFdocs/Ethernet-HOWTO.html" 
name="和訳">)の<htmlurl url="http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO-5.html"
name="compatibility page">(<htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/Ethernet-HOWTO-5.html" 
name="ベンダー/メーカー/モデル固有の情報">)を見てください。あなたのカードを
この中から探し、推奨されているドライバーと、必要かもしれない特別なオプションに
関する情報をすべて、メモしてください。
 </p>
 <p>
<!--
It's time to edit a configuration file! The file we will be editing is
 <tt>/etc/conf.modules</tt>. Open this file up in the text editor of your choice. Because
 there are so many possibilities and combinations of things which can go in
 this file, I'm going to give my own gateway as an example. I have a PCI 10/100Mb
 card based on the VIA Rhine chip, and a plain-jane 10Mb NE2000 ISA clone. I
 use the 100Mb card for the internal network and the 10Mb card for the external
 connection. My <tt>/etc/conf.modules</tt> file looks like this:
-->
それでは、設定ファイルを編集しましょう。編集するのは<tt>/etc/conf.modules</tt>
です。このファイルを、使い慣れたテキストエディタで開いてください。このファイル
にはいろいろなことが書き込めますから、私が使っているゲートウェイのファイルを
例示しておきます。私が使っているのは、VIA Rhineのチップが載っているPCIバスの
10/100Mbカードと、なんの変哲もないISAバスの10Mb NE2000互換カードです。100Mbの
カードを内部ネットワークへの接続に使い、10Mbのカードで外部へ接続しています。
私の<tt>/etc/conf.modules</tt>ファイルは、このようになっています。
 </p>
 <p>
 <verb>
alias parport_lowlevel parport_pc 
alias eth0 ne 
options ne io=0x300 irq=10 
alias eth1 via-rhine 
 </verb>
</p> <p>
<!--
My <tt>conf.modules</tt> file is laid out as follows: 
-->
私の<tt>conf.modules</tt>の内容を解説すると、
 </p>
 <p>
 <itemize>
  <item>
<!--
The first line is there to configure my parallel port for printing. You
 probably have a similar line. Leave it alone. 
-->
最初の行はパラレルポートをプリンターに使うための設定です。同じような行が
あなたのファイルにもあることでしょう。変更しないでください。
  <item>
<!--
The second line (<tt>alias eth0 ne</tt>) tells the kernel to use the ne driver for
 the <tt>eth0</tt> device. 
-->
第2行目(<tt>alias eth0 ne</tt>)はカーネルへ、<tt>eth0</tt>デバイスにneドライバを
使うよう指示しています。
  <item>
<!--
The third line (<tt>options ne io=0x300 irq=10</tt>) tells the ne driver at which
 io address and irq interrupt it will find the ISA card at. If you have ISA
 cards you will probably have to use this kind of directive, just replace the
 driver, io and irq directives with the correct information for your card. 
-->
第3行目の<tt>options ne io=0x300 irq=10</tt>はneドライバーへ、ISAカードの
IOアドレスとIRQ割込みを通知します。もしISAカードをお持ちならおそらくこのように、
カードに合った正しいドライバーとIO、IRQへ書き換える必要があるでしょう。
  <item>
<!--
The fourth line (<tt>alias eth1 via-rhine</tt>) tells the kernel to use the 
via-rhine
 driver for <tt>eth1</tt>. Because my <tt>eth1</tt> card is a PCI card, I do 
 not need to provide
 io or irq information: the PCI subsystem configures the device automatically.
-->
第4行目(<tt>alias eth1 via-rhine</tt>)は<tt>eth1</tt>にvia-rhineドライバーを
使うようカーネルへ指示しています。私の<tt>eth1</tt>カードはPCIカードですから、
IOやIRQについての情報を通知する必要はありません。PCIサブシステムが自動的に
カードの設定をおこないます。
 </itemize>
</p> <p>
<!--
You will want to ensure that you have alias entries in <tt>conf.modules</tt> for
 both your cards, and correct options lines for all your ISA cards. You may
 already have lines in <tt>conf.modules</tt> for any ethernet cards you configured during
 installation.
-->
あなたの2枚のネットワークカードのエイリアスと、すべてのISAカードの正しい
オプション行が<tt>/etc/conf.modules</tt>ファイルに記述されているか確認しましょう。
なお、インストールのときに設定したすべてのイーサーネットカードについては、
そのときの設定がすでに<tt>/etc/conf.modules</tt>ファイルへ書き込まれている
かもしれません。
 </p>
 <p>
<!--
When you have finished editing <tt>conf.modules</tt>, try <tt>ifconfig eth0</tt>
 and <tt>ifconfig
 eth1</tt> again. You may have to apply some trial and error if you are messing
  with
 IO addresses and IRQs without a manufacturers manual.
-->
<tt>conf.modules</tt>ファイルの編集を終えたら、<tt>ifconfig eth0</tt>と
<tt>ifconfig eth1</tt>をもう一度 試してみてください。製造元からのマニュアルが
なくIOアドレスとIRQがわからなければ、何度か試行錯誤を繰り返さないとダメかも
しれません。
 </p>
 <sect2>
<!--
Two Identical Network Cards
-->
同型のネットワークカードが2枚あるとき
 <p>
<!--
So, you were really really smart, bought two identical network cards for
 your Linux gateway, and now you cannot get them to work together? Do not worry,
 getting them to coexist is just a matter of using the correct syntax in 
 <tt>/etc/conf.modules</tt>.
 For this example, the addresses and IRQ numbers are made up, and I will assume
 that you have bought a matched pair of NE2000 clones (a common choice). Your
 <tt>/etc/conf.modules</tt> file should look like this:
-->
本当に賢明なことに、Linuxゲートウェイ用に同じ型のネットワークカードを2枚も購入し、
うまく動作してくれない、そんなことがあるかもしれません。でも、心配は不要。2枚の
カードを共存させるには、単に<tt>/etc/conf.modules</tt>ファイルを正しい文法に
したがって記述すればよいだけのことです。ここでは例としてNE2000互換カード
(よくある選択です)を一組 購入した場合について、アドレスとIRQ番号を適当に決めて
説明します。あなたの<tt>/etc/conf.modules</tt>ファイルはこのようになります。
 </p>
 <p>
 <verb>
alias eth0 ne
alias eth1 ne
options ne io=0x330,0x360 irq=7,9 
 </verb>
</p> <p>
<!--
The addressing options are all given on the same line, and the first number
 for each addressing type is for <tt>eth0</tt>, the second number for 
 <tt>eth1</tt>.
-->
関連するオプションは1行にまとめます。各オプションの、最初の数字が<tt>eth0</tt>、
2番目の数字が<tt>eth1</tt>のものです。
 </p>
 <sect1>
<!--
Configuring the Inside Network
-->
内部ネットワークの設定
 <p>
<!--
The &quot;inside network&quot; is the network which all your home/office
 machines will talk on. The &quot;outside network&quot; is the big scary internet
 on the other side of the Linux box. By and large, the inside network will be
 completely insulated from the outside network by the Linux box, which will
 operate as a medium strength firewall.
-->
&quot;内部ネットワーク&quot;とは、家庭や社内にあるすべてのコンピュータが情報を
やりとりするネットワークのことです。&quot;外部ネットワーク&quot;はLinux
コンピュータのもう一つの端につながっている、大きくて恐ろしいインターネットのこと
です。一般的にLinuxボックスが内部と外部との間でそれなりに強力な
ファイアーウォールとなるため、内部ネットワークは外部ネットワークから完全に
切り離されます。
 </p>
 <sect2>
<!--
The Network Device
-->
ネットワークデバイス
 <p>
<!--
Now that your drivers are working and you can see both <tt>eth0</tt> and 
<tt>eth1</tt> in
 <tt>ifconfig</tt> it is time to set up the internal home network. I am 
 assuming that
 you are going to put your internal network on <tt>eth1</tt> and your external
  device
 on <tt>eth0</tt>.
-->
ドライバーが正常に動作し<tt>ifconfig</tt>で<tt>eth0</tt>と<tt>eth1</tt>の両方を
確認できるようになりましたので、内部のホームネットワークを立ち上げましょう。
ここでは、<tt>eth1</tt>に内部ネットワーク、<tt>eth0</tt>に外部ネットワークを
接続していると仮定します。
 </p>
 <p>
<!--
Your internal network is going to be a private network and will therefor
 be on a special network reserved for internal networking: <tt>192.168.1.0</tt>.
 This
 is a &quot;private Class C network&quot;, in case you want to impress your
 friends.
-->
あなたの内部ネットワークは、公開されることはないでしょうから、内部ネットワークの
ために予約されている特別なネットワーク、<tt>192.168.1.0</tt>、となるでしょう。
これは、&quot;非公開のクラスCネットワーク&quot;です。覚えておけば、友達に感心
してもらえるかも。
 </p>
 <p>
<!--
First we need to make sure networking is turned on. Edit the file 
<tt>/etc/sysconfig/network</tt>
 and make sure the following lines exist:
-->
まず最初にネットワークを起動しておかなければなりません。
<tt>/etc/sysconfig/network</tt>ファイルを確認して、以下の行がなければ記入
してください。
 </p>
 <p>
 <verb>
NETWORKING=yes 
FORWARD_IPV4=yes
 </verb>
</p> <p>
<!--
The first line tells Linux that we want the network devices brought up
 at boot time. The second line tells Linux to enable IP forwarding. This is
 required when we start configuring masquerading in Section 4.
-->
第1行目はLinuxに、ブート時にネットワークデバイスが起動してほしいことを伝えます。
第2行目はIPフォワーディングを可能にするようLinuxへ伝えます。第4節でマスカレード
の設定を始めるときに必要となります。
 </p>
 <p>
<!--
<em>Redhat 6.2 Note:</em> In order to properly support IP forwarding and 
masquerading,
 Red Hat 6.2 requires changes to the <tt>/etc/sysctl.conf</tt> file. Make sure 
 the following
 lines exist and are set to the correct values:
-->
<em>Red Hat 6.2 の注意事項:</em> IPフォワードとマスカレードをRed Hat 6.2で
きちんと動作させるには、<tt>/etc/sysctl.conf</tt>ファイルを修正しなければ
なりません。以下の行を追加し、正しい値に設定してください。
 </p>
 <p>
 <verb>
net.ipv4.ip_forward = 1 
net.ipv4.ip_always_defrag = 1 
 </verb>
</p> <p>
<!--
All the network interface settings for Red Hat and Red Hat derivatives
 are contained in files in the <tt>/etc/sysconfig/network-scripts</tt> directory. Enter
 that directory, and create a new file <tt>ifcfg-eth1</tt>. Put the following into the
 <tt>ifcfg-eth1</tt> file:
-->
Red HatとRed Hatから派生したディストリビューションでは、すべてのネットワーク
インターフェースの設定は<tt>/etc/sysconfig/network-scripts</tt>ディレクトリ中の
ファイルに含まれています。このディレクトリに移って、新しく<tt>ifcfg-eth1</tt>
ファイルを作成し、以下の内容を記述してください。
 </p>
 <p>
 <verb>
DEVICE=eth1 
IPADDR=192.168.1.1 
ONBOOT=yes
 </verb>
</p> <p>
<!--
This code tells the networking scripts to configure eth1 at boot time and
 to give it a particular IP address. Activate your network with the new settings
 with the following command: <tt>/etc/rc.d/init.d/network restart</tt>
-->
これはネットワークスクリプトへ、eth1をブート時に設定し指定されたIPアドレスを
与えるよう指示しています。次のコマンドで、この新しい設定を用いてあなたの
ネットワークを動かしましょう。<tt>/etc/rc.d/init.d/network restart</tt>と
コマンドを打ち込んでください。
 </p>
 <sect2>
<!--
The DHCP Server
-->
DHCPサーバ
 <p>
<!--
A DHCP server will automatically configure devices on your internal home
 network with IP addresses. This is very useful for people with laptops: they
 can simply plug their machines in and be immediately properly configured. If
 you do not want a DHCP server on your internal network, just skip to the next
 section.
-->
DHCPサーバは自動的に、内部のホームネットワークのデバイスにIPアドレスを設定します。
ラップトップを使っている人達にはとても便利です。コンピュータをネットワークに
つなげるだけですぐに適切な設定がなされます。内部ネットワークにDHCPサーバが不要
ならば次の節へ飛んでください。
 </p>
 <p>
<!--
First you need to be sure you have the DHCP server installed. Mount your
 Linux CD and install the <tt>dhcp</tt> RPM. Now edit the 
 <tt>/etc/dhcpd.conf</tt> file and put
 the following (and only the following) in it: 
-->
まずDHCPサーバがインストールされている必要があります。Linux CD-ROMをマウントして、
<tt>dhcp</tt> RPMをインストールしてください。そして<tt>/etc/dhcpd.conf</tt>
ファイルを編集し、以下の内容にしてください。
 </p>
 <p>
 <verb>
subnet 192.168.1.0 netmask 255.255.255.0 &lcub;
  range 192.168.1.2 192.168.1.60;
  default-lease-time 86400;
  max-lease-time 86400;
  option routers 192.168.1.1;
  option ip-forwarding off;
  option broadcast-address 192.168.1.255;
  option subnet-mask 255.255.255.0;
&rcub;
 </verb>
</p> <p>
<!--
If you are going to set up your Linux box as a caching domain name server,
 insert the following option:
-->
もしLinuxコンピュータをキャッシュ用のDNSサーバとしたいのならば、以下のオプション
も入れてください。
 </p>
 <p>
 <verb>
option domain-name-servers 192.168.1.1;
 </verb>
</p> <p>
<!--
If you know your outside DNS addresses and you are <em>not</em> going to use the
 Linux box for DNS, insert the following option, where x.x.x.x and y.y.y.y are
 IP numbers of the DNS servers:
-->
もし外部のDNSアドレスを知っていて、LinuxコンピュータをDNSとするつもりが
<em>ない</em>ならば、次のオプションを記入してください。x.x.x.xとy.y.y.yは、外部
DNSサーバのIPアドレスです。
 </p>
 <p>
 <verb>
option domain-name-servers x.x.x.x, y.y.y.y;
 </verb>
</p> <p>
<!--
If you are going to run Samba file sharing on the Linux box for your Windows
 computers, add the following options to use the Linux box as the default WINS
 and browsing server:
-->
もしWindowsコンピュータとファイルを共有するため、SambaをLinuxボックスで
動かすならば、LinuxコンピュータをデフォルトのWINSとブラウザサーバとして
使うため以下のオプションを追加してください。
 </p>
 <p>
 <verb>
option netbios-name-servers 192.168.1.1; 
option netbios-dd-server 192.168.1.1; 
option netbios-node-type 8; 
option netbios-scope &quot;&quot;;
 </verb>
</p> <p>
<!--
Configuring Samba and WINS is well beyond the scope of this document. If
 you need some pointers, start with the <htmlurl url="http://www.linuxdoc.org/HOWTO/SMB-HOWTO.html" name="SMB HOWTO"> and 
go on from there.
-->
SambaとWINSの設定はこの文書の範囲を越えています。もし必要ならば、
<htmlurl url="http://www.linuxdoc.org/HOWTO/SMB-HOWTO.html" name="SMB HOWTO">
を参照してください(訳注:<htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/SMB-HOWTO.html" name="和訳">もあります。
<htmlurl url="http://www.samba.gr.jp/" name="日本Sambaユーザ会">のサイトも
参考になります)。
 </p>
 <p>
<!--
There are still a few more steps. Next, edit the <tt>/etc/rc.d/init.d/dhcpd</tt>
 file and look for the following line:
-->
まだいくつか作業が必要です。次に、<tt>/etc/rc.d/init.d/dhcpd</tt>ファイルの
最後に以下の行を追加してください。
 </p>
 <p>
 <verb>
/sbin/route add -host 255.255.255.255 dev eth1
 </verb>
</p> <p>
<!--
Windows DHCP clients require a particular broadcast address in DHCP responses,
 and this command forces the Linux TCP/IP stack to produce it. If you cannot
 find that line in the file, <em>add it</em>. If you <em>do</em> find a line 
 like that one, make
 sure that the device it references is <tt>eth1</tt>.
-->
WindowsのDHCPクライアントは、DHCPの応答に特定のブロードキャストアドレスを
必要とします。このコマンドはLinuxのTCP/IPスタックにそれを生成させます。
もしこの行がない場合はファイルに記述してください。同じような行があっても、
デバイスが<tt>eth1</tt>になっているか確認してください。
 </p>
 <p>
<!--
The next step is to alter the <tt>/etc/rc.d/init.d/dhcpd</tt> file to use 
<tt>eth1</tt> as
 the default device. Replace the line:
-->
次に、<tt>/etc/rc.d/init.d/dhcpd</tt>ファイルを変更し、<tt>eth1</tt>をデフォルト
デバイスとします。次の行を、
 </p>
 <p>
 <verb>
daemon /usr/sbin/dhcpd
 </verb>
</p> <p>
<!--
With:
-->
以下の行で置き換えます。
 </p>
 <p>
 <verb>
daemon /usr/sbin/dhcpd eth1
 </verb>
</p> <p>
<!--
OK, now we are ready to start up DHCP. First start the DHCP server with
 the command: <tt>/etc/rc.d/init.d/dhcpd start</tt>. 
-->
これでDHCP起動の準備ができました。まず、コマンド<tt>/etc/rc.d/init.d/dhcpd 
start</tt>でDHCPサーバを起動してください。
 </p>
 <p>
<!--
Finally, we have to make sure that the DHCP server will start at re-boot
 time. Some RPM packages of the DHCP server do not include directives to ensure
 the server starts every time, so we'll make sure it gets started by invoking
 the command <tt>chkconfig dhcpd on</tt>.
-->
最後に、コンピュータを再起動してDHCPサーバが立ち上がるか確認します。DHCPサーバの
一部のRPMバッケージは、起動時にDHCPサーバが立ち上がらない設定になっています。
ですから、<tt>chkconfig dhcpd on</tt>コマンドを実行して確実に起動するように
します。
 </p>
 <p>
<!--
This command causes RedHat to add the dhcp startup script to the various
 runlevel directories under <tt>/etc/rc.d</tt>. In runlevels 3 and 5 (multiuser console
 and multiuser X) the DHCP server is started. In runlevels 0, 1 and 6 (shutdown,
 single user and reboot) the DHCP server is stopped.
-->
このコマンドはRed Hatに、dhcp起動スクリプトを、<tt>/etc/rc.d</tt>ディレクトリ
以下のさまざまなランレベルのディレクトリへ追加させます。ランレベル3と5
(マルチユーザーのコンソール画面とXウィンドウ画面)でDHCPサーバは起動します。
ランレベル0と1・6(シャットダウンとシングルユーザーモード・再起動)でDHCPサーバ
は終了します。
 </p>
 <sect2>
<!--
The Client Computers
-->
クライアントコンピュータ
 <p>
<!--
If you have set DHCP up, configuring your client computers is very easy:
 just enable DHCP configuration. For Windows computers, this involves opening
 the &quot;Control Panel&quot; and then the &quot;Networking&quot; option. Find
 the &quot;TCP/IP&quot; protocol and opt to &quot;Configure&quot; it. Check
 the box that says to &quot;Configure TCP/IP address automatically&quot;, apply
 your changes, and reboot.
-->
DHCPを立ち上げてしまえば、クライアントコンピュータの設定はとても簡単です。DHCPの
設定を有効にすれば良いだけです。Windowsコンピュータならば、&quot;コントロール
パネル&quot;を開き、&quot;ネットワーク&quot;を選択し、&quot;TCP/IP&quot;
プロトコルの&quot;設定&quot;を選択します。&quot;TCP/IPアドレスの自動設定&quot;
ボックスをチェックし、変更を反映させて、再起動してください(訳注:Windows 95の
場合は、&quot;コントロールパネル&quot;から&quot;ネットワーク&quot;を選択し、
&quot;ネットワークの選択&quot;でTCP/IPアダプタのプロパティを選びます。そして
&quot;IPアドレス&quot;タブで、&quot;IPアドレスを自動的に取得&quot;をチェック
してください)。
 </p>
 <p>
<!--
Before you reboot, you might want to type the following command: <tt>tail -f
 /var/log/messages</tt>. This will watch the Linux system log continuously. If all
 goes well, when you reboot your Windows computer, you will see it request an
 IP address and see the DHCP server respond. Control-C exits the <tt>tail -f</tt> command.
-->
クライアントコンピュータの再起動の前に、Linuxボックスで<tt>tail -f 
/var/log/messages</tt>コマンドを実行すると良いかもしれません。Linuxのシステム
ログを見続けることができます。万事 調子が良ければ、Windowsコンピュータが再起動の
ときにIPアドレスを要求しDHCPサーバが応答していることがわかるでしょう。コマンド
<tt>tail -f</tt>から抜け出すには、Control-Cを使ってください。
 </p>
 <p>
<!--
If you have not set up DHCP, configuration is still fairly easy. Again,
 open the &quot;Networking&quot; option from the &quot;Control Panel&quot;,
 and choose to configure the TCP/IP protocol. You can assign your client 
 computers
 any address in the 192.168.1.0 network except 192.168.1.0 (the network address),
 192.168.1.255 (the broadcast address) or 192.168.1.1 (your Linux server). Never
 give two computers the same IP address. Set the "Gateway" address to 192.168.1.1,
 so that outgoing traffic is routed through your Linux gateway.
-->
もしDHCPサーバを立ち上げなくても、クライアントコンピュータの設定はかなり簡単です。
IPアドレスを設定するにはもう一度、&quot;コントロールパネル&quot;から&quot;
ネットワーク&quot;を開き、TCP/IPプロトコルの設定を選んでください(訳注:Windows 95
の場合は、&quot;コントロールパネル&quot;から&quot;ネットワーク&quot;を選択し、
&quot;ネットワークの選択&quot;でTCP/IPアダプタのプロパティを選び、&quot;IP
アドレス&quot;タブを開いてください)。ネットワークアドレスの192.168.1.0と
ブロードキャストアドレスの192.168.1.255、Linuxサーバの192.168.1.1以外の、
ネットワーク192.168.1.0内の任意のアドレスをクライアントコンピュータに割り当てる
ことができます。決して、2台のコンピュータに同じIPアドレスを与えないでください。
"ゲートウェイ"アドレスには192.168.1.1を指定します。こうすれば、外部への
トラフィックはLinuxゲートウェイへ向かいます。
 </p>
 <p>
<!--
The <htmlurl url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" 
name="IP Masquerading HOWTO"> has very detailed information on client 
configuration in the <htmlurl 
url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO-4.html" 
name="Configuration Section">.
-->
クライアントの設定については、<htmlurl 
url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" 
name="IP Masquerading HOWTO">(訳注: <htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/IP-Masquerade.html" name="和訳">あります)
の<htmlurl url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO-4.html" 
name="Configuration Section">(訳注: <htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/IP-Masquerade-4.html" 
name="その他のIPマスカレードの問題とソフトウェアサポート">)にとても詳細な
情報があります。
 </p>
 <p>
<!--
In general, to configure a client computer, either enable DHCP configuration,
 or manually assign it an address in the 192.168.1.X network with a gateway
 of 192.168.1.1. Let the DNS server be either 192.168.1.1 if you are running
 a caching DNS server (see below) or point the DNS at the addresses assigned
 by your network provider.
-->
DHCPを使う場合も、そうでなくゲートウェイが192.168.1.1のネットワーク192.168.1.Xの
アドレスを使う場合も、クライアントコンピュータでDNSの設定をする場合 一般的に、
ネットワークDNSキャッシュサーバを動かすならば192.168.1.1、そうでなければ
プロバイダーが指定するDNSサーバのアドレスを指定してください。
 </p>
 <sect2>
<!--
The DNS Server
-->
DNSサーバ
 <p>
<!--
Setting up your Linux box as a caching DNS server will (slightly) improve
 your netsurfing speed, because commonly used DNS addresses will get cached
 inside your network and not have to be retrieved from the outside.
-->
Linuxボックスをキャッシュ用のDNSサーバとすれば、あなたのネットサーフィンの
スピードが若干 速くなります。よく使われるドメイン名があなたのネットワーク内部に
キャッシュされ外部から引き出す必要がなくなるからです。
 </p>
 <p>
<!--
If you are interesting in doing full blown DNS, there is a great deal of
 complexity to be learned. There is a <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/DNS-HOWTO.html" name="DNS HOWTO"> available, 
 and the book <htmlurl url="http://www.oreilly.com/catalog/dns3" 
 name="DNS and BIND"> is a good (and very comprehensive) paper reference.
-->
本格的なDNSに興味があるならば、複雑な事柄をたくさん学ばねばなりません。
<htmlurl url="http://www.linuxdoc.org/HOWTO/DNS-HOWTO.html" name="DNS HOWTO">
があります(訳注:<htmlurl url="http://www.linux.or.jp/JF/JFdocs/DNS-HOWTO.html" 
name="和訳">もあります)し、書籍ならば<htmlurl 
url="http://www.oreilly.com/catalog/dns3" name="DNS and BIND">が良い
(そしてとても網羅的な)紙の参考書になることでしょう。
 </p>
 <p>
<!--
In order for your client machines to take advantage of the caching server,
 they must be configured to use the Linux gateway as their primary DNS server.
 The DHCP directives given in section 3.2.2 are one way to accomplish this.
 If you are configuring your client computers by hand, you can change the DNS
 configurations in the same control tabs you used to set the IP address of the
 machine.
-->
クライアントマシンがキャッシュ用DNSサーバの恩恵を受けるためには、プライマリーDNS
サーバとしてLinuxゲートウェイを使うようクライアントコンピュータで設定する必要が
あります。一つの方法を、DHCPについて説明した3.2.2節で示しました。御自分で
クライアントコンピュータを設定するのであれば、IPアドレスの設定と同じ
コントロールタブでDNSの設定を変更することができます。
 </p>
 <p>
<!--
To install the DNS server, first install the <tt>bind</tt> RPM, then install the
 <tt>caching-nameserver</tt> RPM. At this point, you are almost ready.
-->
DNSサーバをインストールする際は、まず最初に<tt>bind</tt> RPMをインストールし、
次に<tt>caching-nameserver</tt> RPMをインストールしてください。これで、準備は
ほとんど完了です。
 </p>
 <p>
<!--
As installed, the caching server will work fine, but if you know the IP
 addresses of the internet providers DNS servers you can improve performance
 slightly by editing the <tt>/etc/named.conf</tt> file and adding the following 
 line
 after the <tt>directory</tt> line (where x.x.x.x and y.y.y.y are the primary 
 and secondary DNS servers):
-->
インストールすればキャッシュ用DNSサーバは正常に動作します。しかしインターネット
プロバイダのDNSサーバのIPアドレスをご存知でしたら、<tt>/etc/named.conf</tt>
ファイルを編集し以下の行を<tt>directory</tt>行の次に追加すると、性能が少しだけ
向上します。ここでx.x.x.xとy.y.y.yはDNSサーバのプライマリーアドレスと
セカンダリーアドレスです。
 </p>
 <p>
 <verb>
forwarders &lcub; x.x.x.x; y.y.y.y; &rcub;; 
 </verb>
</p> <p>
<!--
This change makes your DNS server first query the ISPs DNS servers before
 traversing the internet in search of a given address. The ISPs servers often
 have a rich cache of DNS information and can provide a much faster answer than
 your server could.
-->
こうするとあなたのDNSサーバは、指示されたアドレスを探してインターネットを
さ迷う前に、まずプロバイダのDNSサーバへ問い合わせます。プロバイダのDNSサーバは
豊富なDNS情報をキャッシュに保持していますから、多くの場合、あなたのサーバよりも
ずっと速く答えを出すことができます。
 </p>
 <p>
<!--
The <tt>named</tt> daemon has had some security problems over the past 12 months,
 so it is very important that you have the latest version running, and make
 some changes to the default settings to enhance security.
-->
ここ1年で<tt>named</tt>デーモンにセキュリティの問題がいくつか見つかっています。
ですから、必ず最新バージョンを使ってください。そしてセキュリティを上げるため、
デフォルトの設定からいくつかの点を変更してください。
 </p>
 <p>
 <enum>
  <item>
<!--
Check your version of <tt>bind</tt> and make sure it is at least 8.2.2. Go to the
 <htmlurl url="ftp://updates.redhat.com" name="Red Hat Updates"> or 
 <htmlurl url="ftp://ftp.linux-mandrake.com/pub/updates" name="Mandrake Updates">
  sites to check for the latest version.
-->
まず<tt>bind</tt>のバージョンをチェックし、8.2.2以降であることを確認してください。
そして、<htmlurl url="ftp://updates.redhat.com" name="Red Hat Updates">や
<htmlurl url="ftp://ftp.linux-mandrake.com/pub/updates" name="Mandrake Updates">
を参照し、最新のバージョンをチェックしてください。
  <item>
<!--
Restrict access to your name server to just the local network by adding
 the line <tt>allow-query &lcub; 192.168.1/24; 127.0.0.1/32; &rcub;;</tt> 
 to the <tt>/etc/named.conf</tt>
 file after the <tt>forwarders</tt> line.
-->
ネームサーバーへの接続をローカルネットワークからに限定するため、
<tt>/etc/named.conf</tt>ファイルの<tt>forwarders</tt>行の後ろへ
<tt>allow-query &lcub; 192.168.1/24; 127.0.0.1/32; &rcub;;</tt>という行を
追加してください。
  <item>
<!--
Avoid running your name server as <tt>root</tt>. If your server is running as root,
 an exploit of the server will grant the exploiter root privledges. If you run
 the server as a powerless user, like <tt>nobody</tt>, you can lower the risk of a name
 server exploit. To run your name server as <tt>nobody</tt>, edit the 
 <tt>/etc/rc.d/init.d/named</tt>
 file and change the line <tt>daemon named</tt> to <tt>daemon named -u nobody -g nobody</tt>.
-->
ネームサーバーを<tt>root</tt>で動かさないでください。もしrootで動いていると、
ネームサーバの利用者がroot権限を得てしまいます。権限の低いユーザー、たとえば
<tt>nobody</tt>ならば、ネームサーバの実行で引き起こされ得る危険性が下がります。
サーバを<tt>nobody</tt>で動かすためには、<tt>/etc/rc.d/init.d/named</tt>ファイル
を編集し、<tt>daemon named</tt>行を<tt>daemon named -u nobody -g nobody</tt>と
変更してください。
 </enum>
</p> <p>
<!--
Make sure your DNS server will start at boot time: <tt>chkconfig named on</tt>.
 Again, this ensures that the server will start in the usual runlevels (3 and
 5) at boot time.
-->
ブート時にDNSサーバが確実に起動するよう、<tt>chkconfig named on</tt>コマンドを
実行してください。こうすれば、普通のランレベル(3と5)の起動時にネームサーバが
動き始めます。
 </p>
 <p>
<!--
OK, now you can start your DNS server: <tt>/etc/rc.d/init.d/named start</tt>
-->
これらをきちんと終えれば、次のコマンドでDNSサーバを起動できます: 
<tt>/etc/rc.d/init.d/named start</tt>
 </p>
 <sect2>
<!--
Testing the Inside Network
-->
内部ネットワークの試験
 <p>
<!--
Until we configure the outside network, the DNS service will not work (since
 it has to communicate with other DNS servers on the internet), but we can test
 out the basic internal connectivity with the <tt>ping</tt> program.
-->
外部ネットワークを設定しないとDNSサービスは動きません。なぜなら、
インターネット上の他のDNSサーバと情報を交換する必要がありますから。しかし、
<tt>ping</tt>プログラムで、内部ネットワークがきちんとつながっているかは
テストできます。
 </p>
 <p>
<!--
On one of your client computers, open up a terminal (MSDOS) window, and
 type <tt>ping 192.168.1.1</tt>. This will send out packets to your Linux computer at
 regular intervals, and your Linux computer will reflect the packets back. If
 things are working right, you should see a set of packet return times. 
-->
クライアントコンピュータで、ターミナルウィンドウ(MS-DOS)を開いて、
<tt>ping 192.168.1.1</tt>と打ち込んでください。このコマンドは、あなたの
Linuxコンピュータへ規則的な間隔でパケットを送出します。Linuxコンピュータはこれに
反応してパケットを送り返します。もし正常ならば、パケットの往復時間が表示される
はずです。
 </p>
 <sect1>
<!--
Configuring the Outside Network
-->
外部ネットワークの設定
 <p>
<!--
Now we're ready to configure the outside network. Sometimes this will be
 difficult, depending on how well your internet provider supports Linux. If
 you have difficulty, there is an <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/mini/ADSL.html" name="ADSL mini-HOWTO"> 
 which covers ADSL issues in some detail.
 If I can find a Cable Modem HOWTO, I will link to it also.
-->
これで、外部ネットワークを設定する準備が整いました。あなたのインターネット
プロバイダのLinuxサポート体制によりますが、接続の設定が難しい場合もあります。
困難に直面したら、かなり詳細にADSLを解説している<htmlurl 
url="http://www.linuxdoc.org/HOWTO/mini/ADSL.html" name="ADSL HOWTO">があります
(訳注:<htmlurl url="http://www.linux.or.jp/JF/JFdocs/ADSL.html" name="和訳">も
あります)。なお、もしCable Modem HOWTOがあったら、そちらへもリンクしたいと
思います(訳注:<htmlurl url="http://www.linuxdoc.org/HOWTO/Cable-Modem/index.html"
 name="Cable Modem Provider HOWTO">があります。<htmlurl 
 url="http://www.linux.or.jp/JF/JFdocs/Cable-Modem.html" name="和訳">も
 存在します)。
 </p>
 <p>
<!--
The main problem with most outside connections is <em>getting an IP address</em>.
 Some internet providers hand out static IP addresses to cable or ADSL subscribers,
 and in that case configuration is easy. However, most providers have now moved
 to dynamic configuration via (you guessed it) DHCP. This means that your Linux
 computer will likely be a DHCP <em>server</em> on your <tt>eth1</tt> interface,
  and a DHCP <em>client</em>
 on your <tt>eth0</tt> interface.
-->
外部への接続でおもに問題になるのは、<em>IPアドレスの取得</em>です。ケーブルや
ADSLで接続している顧客へ固定IPアドレスを配布するプロバイダならば、設定は簡単です。
しかし多くのプロバイダは動的設定、そうですDHCPです、を採用するようになって
来ています。つまりあなたのLinuxコンピュータは、<tt>eth1</tt>側ではDHCP
<em>サーバ</em>となり、<tt>eth0</tt>側ではDHCP<em>クライアント</em>となります。
 </p>
 <p>
<!--
Additionally, many providers have taken to providing their services in
 specialized non-standard ways which assume their customers will be using Windows.
 Some of those cases will be discussed at the end of section 3.3.2.
-->
さらに、顧客がWindowsコンピュータを使っていると仮定して、標準に準拠しない特別な
方法でサービスを提供しているプロバイダが多いのです。このような場合のいくつかに
ついて、3.3.2節の最後で述べます。
 </p>
 <sect2>
<!--
With a Static IP
-->
固定IPアドレスの場合
 <p>
<!--
If your internet provider has assigned you a static IP address, you are
 sitting pretty. First, create a new interface configuration file, 
 <tt>/etc/sysconfig/network-scripts/ifcfg-eth0</tt>
 and put the following in it:
-->
インターネットプロバイダが固定IPアドレスをあなたに付与してくれたならば、
ラッキーです。まず、新規に以下の内容のインタフェース設定ファイル
<tt>/etc/sysconfig/network-scripts/ifcfg-eth0</tt>を作成してください。
 </p>
 <p>
 <verb>
DEVICE=eth0
IPADDR=x.x.x.x
NETMASK=y.y.y.y
ONBOOT=yes
 </verb>
</p> <p>
<!--
Just fill in x.x.x.x and y.y.y.y with the values given by your internet
 provider. Now edit the <tt>/etc/resolv.conf</tt> file and enter the following 
 information:
-->
ここで、x.x.x.xとy.y.y.yはそれぞれ、インターネットプロバイダが指示した値で
置き換えてください。そして<tt>/etc/resolv.conf</tt>ファイルを編集し、以下の
情報を入力します。
 </p>
 <p>
 <verb>
search provider_domain_here
nameserver n.n.n.n
nameserver m.m.m.m
 </verb>
</p> <p>
<!--
The provider_domain should be supplied by your internet provider. Also
 enter the primary and secondary DNS servers in the n.n.n.n and m.m.m.m lines.
 If you have set up the Linux box as a DNS server, you can add a line before
 the other nameserver entries: <tt>nameserver 127.0.0.1</tt>. This will make 
 your Linux
 server use the caching server before asking the outside servers for DNS information.
-->
ここで、provider_domain_hereの値はインターネットプロバイダから指示を受けている
はずです。そしてプライマリーとセカンダリーのDNSサーバのIPアドレスを、n.n.n.nと
m.m.m.mのところへ記述してください。もしLinuxコンピュータでDNSサーバを
走らせるのならば、他のネームサーバの行の前に、<tt>nameserver 127.0.0.1</tt>
という行を追加できます 。こうするとあなたのLinuxサーバは、DNS情報を外部の
サーバへ尋ねる前にキャッシュサーバを使うようになります。
 </p>
 <sect2>
<!--
With DHCP
-->
DHCPの場合
 <p>
<!--
If your internet provider uses DHCP configuration, you need to create a
 new interface configuration file, <tt>/etc/sysconfig/network-scripts/ifcfg-eth0
 </tt>and put the following in it:
-->
もしあなたのインターネットプロバイダがDHCPによる設定を採用しているときは、以下の
内容のインターフェース設定ファイル<tt>/etc/sysconfig/network-scripts/ifcfg-eth0
</tt>を新規に作成する必要があります。
 </p>
 <p>
 <verb>
DEVICE=eth0 
BOOTPROTO=dhcp 
ONBOOT=yes
 </verb>
</p> <p>
<!--
Now make sure that the dhcpcd client daemon is installed on your system.
 Go to your Linux CD and install the <tt>dhcpcd</tt> RPM package.
-->
そして、DHCPクライアントのデーモンdhcpcdを確実にインストールしてください。
Linux CD-ROMを準備し、<tt>dhcpcd</tt> RPMパッケージをインストールします。
 </p>
 <p>
<!--
It's time to test your new network configuration. Just use the command
 <tt>/etc/rc.d/init.d/network restart</tt>. Now test your outside connection 
 with ping.
 Ping a computer on the internet, like <tt>www.yahoo.com</tt> and see if 
 anything comes
 back.
-->
それでは、新しいネットワークの設定をテストします。コマンド 
<tt>/etc/rc.d/init.d/network restart</tt>を打ち込んでください。そして外部への
接続をpingでテストします。インターネット上のコンピュータ、たとえば
<tt>www.yahoo.com</tt>をpingしてみて、応答があるか確かめます(訳注: 一部の
サイトはpingに反応しないような設定になっている場合もあるそうです)。
 </p>
 <sect2>
<!--
Quirks and Anomalies
-->
特殊な場合
 <p>
<!--
Your situation may differ from the very simple situations described above.
 Here are some short remarks on the various difficulties and links to more authoritative
 resources and addressing them. Thanks to John Mellor for supplying the links
 and impetus for adding this section.
-->
あなたの状況は、今まで述べて来たようなとても単純な状況とは異なるかもしれません。
ここでは、さまざまな困難について短い注釈をいくつか示します。また、より信頼の
できる情報源へリンクし、そのアドレスを示します。リンクを提供してくれて、この節を
追加するきっかけとなったJohn Mellorに感謝します。
 </p>
 <sect3>
<!--
PPP Over Ethernet (PPPoE)
-->
EthernetでのPPP(PPPoE)
 <p>
<!--
Several ADSL providers (Bell Atlantic, for example) are now insisting that
 their new customers connect to the service using the &quot;PPP over Ethernet&quot;
 protocol (PPPoE). To this end, they provide a Windows client program: not very
 useful for Linux users. Fortunately, PPPoE is a simple protocol and several
 efforts are underway to support it under Linux.
-->
ベル・アトランティックなどいくつかのADSLプロバイダは新規の顧客に、&quot;Ethernet
でのPPP(PPP over Ethernet、PPPoE)&quot;プロトコルによる接続を求めています。
そのためWindows上のクライアントプログラムを提供していますが、Linuxユーザーには
不便です。幸いPPPoEは単純なプロトコルで、Linuxでサポートするためいくつかの
プロジェクトが進行中です。
 </p>
 <p>
 <itemize>
  <item>
<!--
The <htmlurl url="http://www.roaringpenguin.com/pppoe.html" 
name="Roaring Penguin PPPoE Client"> comes highly recommended by reader Kerr First.
-->
Kerr Firstによると、<htmlurl url="http://www.roaringpenguin.com/pppoe.html" 
name="Roaring Penguin PPPoE Client">は読んでおくとかなり役立ちます
  <item>
<htmlurl url="http://www.panix.com/~dfoster/prog/linux/pppoe.html" 
name="PPPoE on Linux for Bell Sympatico">
  <item>
<!--
PPPoE on Linux for Sympatico (<htmlurl 
url="http://www.carricksolutions.com/pppoe.htm" name="General Info">) 
(<htmlurl url="http://www.carricksolutions.com/linuxpppoe.htm" 
name="Linux Info">)
-->
Sympatico用のLinux版PPPoE(<htmlurl 
url="http://www.carricksolutions.com/pppoe.htm" name="一般情報(General Info)">) 
(<htmlurl url="http://www.carricksolutions.com/linuxpppoe.htm" 
name="Linux情報(Linux Info)">)
 </itemize>
</p> <sect3>
<!--
Stupid DHCP Tricks
-->
特異なDHCPへの対応
 <p>
<!--
One of the favorite tricks network providers play is to tie your service
 to a unique hostname, or even a unique network interface card. This is presumably
 to keep you from plugging multiple computers into your ethernet port using
 a hub (of course, by using Linux and Masquerading you're getting the same effect
 with better security and the cable company has no way of knowing!).
-->
ネットワークプロバイダは、顧客が使えるホスト名やネットワークインターフェース
カードをただ一つに限定することを好みます。おそらく、ハブを使ってあなたがEhternet
ポートへ複数のコンピュータを接続することを防ぐためでしょう。もちろんハブではなく
LinuxとIPマスカレードを使えば同じような効果が得られます。安全性もそのほうが高く
なりますし、ケーブル会社にもバレません(訳注: このような接続を禁止している
プロバイダーも中にはあるそうです。契約内容を確認してください)。
 </p>
 <p>
<!--
If the provider has given you a hostname and insisted that you set your
 Windows box with that name in order you use their service, then you'll have
 to make sure that your Linux box sends in that hostname when requesting an
 address from the DHCP server.
-->
プロバイダがあなたにホスト名を指示し、接続するときはあなたのWindowsコンピュータ
にそのホスト名をつけるよう要求する場合、あなたのLinuxコンピュータがプロバイダの
DHCPサーバへアドレスを要求するときはそのホスト名を名乗るようにしなければ
なりません。
 </p>
 <p>
<!--
The Red Hat DHCP client is called when you set the BOOTPROTO to dhcp in
 the interface configuration file, but it is called without reference to a hostname.
 To call the program with a hostname, in Red Hat 6.1, edit the 
 <tt>/etc/sysconfig/network</tt>
 file, and change the line:
-->
インターフェース設定ファイルでBOOTPROTOにdhcpとセットすれば、Red Hat DHCP
クライアントが呼ばれます。しかしホスト名は参照しません。Red Hat6.1で、ホスト名を
指定してクライアントを呼ぶには、<tt>/etc/sysconfig/network</tt>ファイルを編集し、
以下の行を変更してください。
 </p>
 <p>
<tt>HOSTNAME=</tt>
 </p>
 <p>
<!--
To read this: 
-->
以下のように修正します。
 </p>
 <p>
<!--
<tt>HOSTNAME=your_isp_assigned_name</tt>
-->
<tt>HOSTNAME=プロバイダが指定したホスト名</tt>
 </p>
 <p>
<!--
This may not work in some of the Red Hat variants. If it does not work,
 check the <tt>/sbin/ifup</tt> script and see if the call to dhcpcd and pump include
 a -h &dollar;HOSTNAME switch. If they do not, add them, so the calls look like
 <tt>/sbin/dhcpcd -i &dollar;DEVICE -h &dollar;HOSTNAME</tt> and 
 <tt>/sbin/pump -i &dollar;DEVICE
 -h &dollar;HOSTNAME</tt>.
-->
Red Hatから派生したディストリビューションのなかには、これではうまく動かない
ものがあるかもしれません。その際は<tt>/sbin/ifup</tt>スクリプトでdhcpcdとpumpを
呼び出すときに、-h &dollar;HOSTNAMEスイッチが指定されているかチェックして
ください。もしこのスイッチがなければ追加します。つまり、
<tt>/sbin/dhcpcd -i &dollar;DEVICE -h &dollar;HOSTNAME</tt>と
<tt>/sbin/pump -i &dollar;DEVICE -h &dollar;HOSTNAME</tt>となります。
 </p>
 <sect3>
Road Runner
 <p>
<!--
The Road Runner cable service has a special login process which must be
 run before the server can be used. Fortunately, a detailed <htmlurl 
 url="http://usmcug.usm.maine.edu/~kpesce/rr" name="Linux Road Runner HOWTO"> 
 is available.
-->
Road Runner ケーブルサービスのログインは特別です。サーバを使えるようになる前に、
ログインプロセスが動いていなければなりません。幸い、詳細な<htmlurl 
url="http://usmcug.usm.maine.edu/~kpesce/rr" name="Linux Road Runner HOWTO">が
あります。
 </p>
 <sect2>
<!--
Looking at the Network Entries
-->
ネットワーク設定の確認
 <p>
<!--
Now you can admire your work. Type <tt>ifconfig</tt> to see all your configured
 devices. On my gateway computer, it looks like this:
-->
これまでのあなたの努力の成果を見てみましょう。<tt>ifconfig</tt>とタイプし、
設定したデバイスをすべて見ましょう。私のゲートウェイコンピュータではこのように
なりました。
 </p>
 <p>
 <verb>
eth0  Link encap:Ethernet  HWaddr 00:60:67:4A:02:0A 
      inet addr:24.65.182.43  Bcast:24.65.182.255  Mask:255.255.255.0 
      UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1 
      RX packets:487167 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:467064 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:89 txqueuelen:100 
      Interrupt:10 Base address:0xe400
eth1  Link encap:Ethernet  HWaddr 00:80:C8:D3:30:2C 
      inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0 
      UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1 
      RX packets:284112 errors:0 dropped:0 overruns:0 frame:1 
      TX packets:311533 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:37938 txqueuelen:100 
      Interrupt:5 Base address:0xe800
lo    Link encap:Local Loopback 
      inet addr:127.0.0.1  Mask:255.0.0.0 
      UP LOOPBACK RUNNING  MTU:3924  Metric:1 
      RX packets:12598 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:12598 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:0
 </verb>
</p> <p>
<!--
Note that the <tt>eth0</tt> interface has a fancy outside IP address, and the <tt>eth1</tt>
 address has a private internal address.
-->
注意してください。外部IPアドレスを持っているのが<tt>eth0</tt>で、内部の
プライベートIPアドレスを持っているのが<tt>eth1</tt>です。
 </p>
 <p>
<!--
You can look at the network routes by typing the <tt>route</tt> command. On my gateway
 computer it looks like this:
-->
ネットワークの経路を見るには、<tt>route</tt>コマンドを使います。私のゲートウェイ
コンピュータでは以下のようになりました。
 </p>
 <p>
 <verb>
  Kernel IP routing table 
  Destination     Gateway      Genmask         Flags Metric Ref Use Iface 
  255.255.255.255 *            255.255.255.255 UH    0      0     0 eth1 
  192.168.1.0     *            255.255.255.0   U     0      0     0 eth1 
  24.65.182.0     *            255.255.255.0   U     0      0     0 eth0 
  127.0.0.0       *            255.0.0.0       U     0      0     0 lo 
  default         24.65.182.1  0.0.0.0         UG    0      0     0 eth0
 </verb>
</p> <p>
<!--
Here we can see the outside network is set up, the inside network is set
 up, the local device is set up, the special 255.255.255.255 broadcast address
 is set up, and the default route is set up to point to the internet providers
 gateway. Perfect!
-->
これで、外部ネットワークと内部ネットワーク、ローカルデバイス、特別な
255.255.255.255ブロードキャストアドレス、デフォルトの経路がインターネット
プロバイダのゲートウェイへ向く、などの設定が終りました。完璧です。
 </p>
 <p>
<!--
Now you have the outside, and the inside. All the remains is to open the
 door between the two. First though, we have to make sure no monsters can get
 in from the outside.
-->
外部ネットワークと、そして内部ネットワークができました。あとは両者の間の扉を
開けるだけです。ただし最初に、外部から悪い奴等が侵入できないようにしましょう。
 </p>
 <sect1>
<!--
Security
-->
安全確保
 <p>
<!--
One of the drawbacks of being permanently connected to the internet via
 ADSL or cable is that your computer is exposed to potential security threats
 24 hours a day, 7 days a week. Using Linux as a gateway reduces the risks,
 because it hides all your other computers: as far as the rest of the internet
 is concerned, only your Linux box is available for connections. This means
 that your network is only as secure as your Linux box, so at this point I'll
 give a few basic tips to make your box more secure.
-->
ADSLやケーブルでインターネットへ常時接続すると、あなたのコンピュータの機密が
毎日24時間、週に7日間、潜在的な脅威にさらされるという欠点があります。Linuxを
ゲートウェイに採用すると、他のコンピュータを隠すことができますから、危険は
減ります。すくなくとも外部のインターネットから接続できるのは、あなたのLinux
ボックスだけです。つまりあなたのネットワークの安全性は、Linuxボックスの安全性
より高くなることはありません。ここでは、あなたのLinuxコンピュータの安全性を
さらに高めるための基本的なヒントを2・3紹介します。
 </p>
 <p>
<!--
First, you need to shut out all the bad guys. To do this, edit the file
 <tt>/etc/hosts.deny</tt> and make sure it looks just like this:
-->
まず、悪い奴等を締め出さねばなりません。ファイル<tt>/etc/hosts.deny</tt>を編集し、
以下のようにします。
 </p>
 <p>
 <verb>
&num; 
&num; hosts.deny  This file describes the names of the hosts which are 
&num;             *not* allowed to use the local INET services, as decided 
&num;             by the '/usr/sbin/tcpd' server. 
&num; 
&num;            The portmap line is redundant, but it is left to remind you that 
&num;        the new secure portmap uses hosts.deny and hosts.allow. In particular 
&num;             you should know that NFS uses portmap! 
ALL: ALL 
 </verb>
</p> <p>
<!--
This tells the &quot;TCP wrappers&quot; -*- which control 95&percnt; of
 incoming connections -*- to deny all connections from all hosts. That's a pretty
 good rule! But, it will also keep you from connecting to your Linux box from
 inside your home network, which is annoying, so we will make one exception.
 Edit the file <tt>/etc/hosts.allow</tt> and make sure it looks just like this:
-->
これで、&quot;TCP wrapper&quot;は、すべてのホストからのすべての接続を拒否します
(ちなみに&quot;TCP wrapper&quot;は外部からの接続の95&percnt;を制御しています)。
すばらしいルールです。しかしこれでは、あなたのホームネットワーク内部からも、
Linuxコンピュータへ接続できません。これでは困ります。そこで一つの例外を設けます。
<tt>/etc/hosts.allow</tt>を編集し、以下のようにしてください。
 </p>
 <p>
 <verb>
&num; 
&num; hosts.allow  This file describes the names of the hosts which are 
&num;              allowed to use the local INET services, as decided 
&num;              by the '/usr/sbin/tcpd' server. 
&num; 
ALL: 127.0.0.1 
ALL: 192.168.1.
 </verb>
</p> <p>
<!--
This tells the &quot;TCP wrappers&quot; that they can allow connections
 to all services from the local device (127.0.0.1) and from your home network
 (192.168.1.).
-->
&quot;TCPラッパー&quot;はすべてのサービスについて、ローカルデバイス(127.0.0.1)と
あなたのホームネットワーク内のすべてのコンピュータ(192.168.1.)からだけ接続を
許可します。
 </p>
 <p>
<!--
You have now locked the monsters outside, with a strong padlock. If you
 want to put up bars and alarm systems, you will have to be alot more sophisticated.
 The <htmlurl url="http://www.linuxdoc.org/HOWTO/Security-HOWTO.html" name="Security HOWTO">
  is a good place to start if you want to learn more about securing your
 Linux box.
-->
これで、頑丈な南京錠をかけて、悪い奴等を締め出しました。もっと守りを固めるために
鉄格子と警報システムが欲しければ、さらに凝らなければなりません。あなたのLinux
コンピュータの安全についてもっと学びたいのであれば、<htmlurl 
url="http://www.linuxdoc.org/HOWTO/Security-HOWTO.html" name="Security HOWTO">
から始めてみるのが良いでしょう(訳注:<htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/Security-HOWTO.html" name="和訳">
もあります)。
 </p>
 <sect>
<!--
Configuring Masquerading
-->
IPマスカレードの設定
 <p>
<!--
All right! The preliminaries are over, this is where the magic begins.
 IP masquerading is one of the truly magical services Linux provides. There
 are commercial products for Windows which do the same thing, but not nearly
 as efficiently: an ancient 386 can merrily provide IP masquerading services
 to a whole medium sized office, but cannot even run Windows 95, let alone the
 add on masquerading package. (As an addendum, I read in some recent reviews
 that Windows 2000 will support "connection sharing" without addon software. It
 looks like the companies which sold connection sharing software have been "embraced
 and extended" by MicroSoft. However, I wouldn't recommend you try the Windows
 2000 solution on a 386.)
-->
よくできました。準備は完了です。ここからは魔法が始まります。IPマスカレードは、
Linuxが提供する本当に魔法のようなサービスの一つです。同様の機能を持つ商用製品が
Windows用にありますが、効率の面では足元にも及びません。IPマスカレードなら、
骨董品とも言える386マシンで中規模オフィスのネットワーク全体にサービスを提供する
ことができます。しかしWindows 95は386マシンで動作できませんし、まして
マスカレードパッケージを追加することなど不可能です(最近 読んだ記事によると、
Windows 2000はアドオンソフトなしで共有接続に対応しています。共有接続用
ソフトウェアを売っていた企業はマイクロソフトに包囲されているようです。しかし、
386でWindows 2000を使うことはお勧めできません)。
 </p>
 <p>
<!--
Linux has an extremely versatile firewalling capability, and we are going
 to be using it in the simplest and crudest possible manner. If you want to
 learn how to do firewalling like an expert, you should read both the <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/Firewall-HOWTO.html" name="Firewalling HOWTO"> for an
 understanding of the theory and the <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html" name="IPChains HOWTO"> 
 for instructions on the new <tt>ipchains</tt> firewalling
 tool which ships with the Linux 2.2.X kernel (and by extension Red Hat 6.X).
 There is also now a very good <htmlurl 
 url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" 
 name="IP Masquerading HOWTO"> available which has more details on masquerading
 tweaks.
-->
Linuxのファイアーウォーリング機能はとても多様です。ここでは可能な範囲で、
もっとも単純かつもっとも手を加えない方法で使ってみます。専門家のやり方を
知りたければ、<htmlurl url="http://www.linuxdoc.org/HOWTO/Firewall-HOWTO.html" 
name="Firewalling HOWTO">(訳注: <htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/Firewall-HOWTO.html" name="和訳">
あります)と<htmlurl url="http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html" 
name="IPChains HOWTO">を両方 読んでください。前者は理論を説明し、後者は、
新しいファイアーウォールのツールで、Linux2.2.Xカーネル(Red Hat6.X)に付属する、
<tt>ipchains</tt>を解説します。また<htmlurl 
url="http://www.linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html" 
name="IP Masquerading HOWTO">(訳注: <htmlurl 
url="http://www.linux.or.jp/JF/JFdocs/IP-Masquerade.html" name="和訳">あります)
はマスカレードの小さな改良について詳細に解説しており、とても良い文書です。
 </p>
 <p>
<!--
Configuring simple masquerading is very very easy once your internal and
 external networking is operational. Edit the <tt>/etc/rc.d/rc.local</tt> file
  and add
 the following lines to the bottom:
-->
いちど内部ネットワークと外部ネットワークの運用を始めてしまえば、単純な
マスカレードの設定は、とても、とても、簡単です。ファイル
<tt>/etc/rc.d/rc.local</tt>を編集し、以下の行をファイルの最後に追加してください。
 </p>
 <p>
 <verb>
&num; 1) Flush the rule tables. 
/sbin/ipchains -F input 
/sbin/ipchains -F forward 
/sbin/ipchains -F output 
&num; 2) Set the MASQ timings and allow packets in for DHCP configuration. 
/sbin/ipchains -M -S 7200 10 60 
/sbin/ipchains -A input -j ACCEPT -i eth0 -s 0/0 68 -d 0/0 67 -p udp 
&num; 3) Deny all forwarding packets except those from local network. 
&num;    Masquerage those. 
/sbin/ipchains -P forward DENY 
/sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ 
&num; 4) Load forwarding modules for special services. 
/sbin/modprobe ip_masq_ftp 
/sbin/modprobe ip_masq_raudio
 </verb>
</p> <p>
<!--
The last two lines insert kernel modules which allow FTP and RealAudio
 to work for computers on the inside network. There are other modules for special
 services which you can tack on if you need them:
-->
最後の2行はカーネルモジュールを追加し、FTPとRealAudioが内部ネットワークの
コンピュータで利用できるようにします。もし必要ならば他にも、いくつかの特別な
サービスについて以下のようなモジュールがあり、追加することができます。
 </p>
 <p>
 <itemize>
  <item>
CUSeeMe (<tt>/sbin/modprobe ip_masq_cuseeme</tt>) 
  <item>
Internet Relay Chat (<tt>/sbin/modprobe ip_masq_irc</tt>) 
  <item>
Quake (<tt>/sbin/modprobe ip_masq_quake</tt>) 
  <item>
VDOLive (<tt>/sbin/modprobe ip_masq_vdolive</tt>) 
 </itemize>
</p> <p>
<!--
Now you're ready to try masquerading! Run the <tt>rc.local</tt> script with the
 command <tt>/etc/rc.d/rc.local</tt> and you are ready to go! Sit down at one of your
 other computers and try some web surfing. With any luck, everything is now
 hunky dory.
-->
これでマスカレードを試すことができます。コマンド<tt>/etc/rc.d/rc.local</tt>で
スクリプト<tt>rc.local</tt>を走らせて、準備は完了です。他のコンピュータで
ウェッブサーフィンをしてみましょう。申し分なく動くはずです。
 </p>
 <sect>
<!--
Problems
-->
障害対応
 <p>
<!--
There are lots and lots of things which can go wrong using a simple document
 like this, because there are plenty of special cases. The majority of possible
 problems adhere to the configuration of the internal and external network devices.
 I will try and respond to people with problems, figure out what went wrong
 and add links down here so that people with special case problems can track
 down help. Feel free to contact me at <htmlurl url="mailto:pramsey@refractions.
 net" name="pramsey@refractions.net">.
-->
このように簡単な文書にしたがっていると、本当に、多くの場面で文書通りに進まない
ことがあります。特別な場合が多くありますからね。可能性としては、内部や
外部のネットワークデバイスの設定で多くの問題が発生します。このような問題が
発生した人にどこがおかしいか指摘するとともに援助の手をさしのべるため、この文書に情報を追加します。お気軽に<htmlurl
 url="mailto:pramsey@refractions.net" name="pramsey@refractions.net">へ
 御連絡ください。
 </p>
 <sect1>
<!--
ICQ Does Not Work
-->
ICQが動作しない
 <p>
<!--
Some portions of ICQ work fine over masquerading. Other portions do not
 work well at all. There is a <htmlurl url="http://members.xoom.com/djsf/masq-icq/"
  name="beta quality ICQ module"> under development, however, which addresses some
 (but not all) of the deficiencies of running ICQ over masquerading. The <tt>README</tt>
 file in the source code distribution describes how to compile the module. Once
 you have it compiled and installed, invoke <tt>/sbin/modprobe ip_masq_icq</tt>.
-->
マスカレード環境でも、一部のICQは正常に動作することがあります。しかしそれ以外は
うまく動作しません。<htmlurl url="http://members.xoom.com/djsf/masq-icq/" 
name="beta quality ICQ module">が開発中です。マスカレーディング上でICQを動かす
際の欠陥について、すべてではありませんがその一部について取り組んでいます。また
ソースコードと一緒に配布されている<tt>README</tt>ファイルには、モジュールの
コンパイル方法が書かれています。コンパイルしインストールしたら、
<tt>/sbin/modprobe ip_masq_icq</tt>を実行してください。
 </p>

 <sect1>
<!--
I Have Caldera 2.X Not Red Hat 6.X
-->
Red Hat 6.XでなくCaldera 2.Xの場合
 <p>
<!--
Well, firstly congratulations for bucking the trend! Secondly, Nelson Gibbs
 (ngibbs@pacbell.net) sends good news, because most of these instructions will
 work for you. There are some important changes to note however:
-->
まずは、流行になびかないあなたに乾杯。ところでNelson Gibbs(ngibbs@pacbell.net)
が良いニュースを送ってくれました。Caldera 2.Xユーザーの皆さんが知っていると
お得な情報です。いくつか重要な変更点があります。
 </p>
 <p>
 <enum>
  <item>
<!--
A <tt>GATEWAY=xxx.xxx.xxx.xxx</tt> statement in 
<tt>/etc/sysconfig/network-scripts/ifcfg-eth0</tt>
 &amp; <tt>eth1</tt> for the interface (local interface uses remote interface IP address
 and remote interface uses service provider's gateway IP).
-->
ファイル<tt>/etc/sysconfig/network-scripts/ifcfg-eth0</tt>と
<tt>/etc/sysconfig/network-scripts/ifcfg-eth1</tt>へ<tt>
GATEWAY=xxx.xxx.xxx.xxx</tt>を記入してください(内部ネットワーク
インターフェースのファイルには外部ネットワークに接続するインターフェースの
IPアドレスを指定し、外部ネットワークへ接続するインターフェースのファイルでは
プロバイダーのゲートウェイのIPアドレスを記入してください)。
  <item>
<!--
Make sure <tt>/etc/sysconfig/daemons/dhcpd</tt> script lists 
<tt>ROUTE_DEVICE</tt> as <tt>eth1</tt>
 <em>not</em> <tt>eth0</tt>.
-->
またファイル<tt>/etc/sysconfig/daemons/dhcpd</tt>の中で、<tt>eth0</tt>でなく
<tt>eth1</tt>として<tt>ROUTE_DEVICE</tt>を設定してください。
  <item>
<!--
<tt>/etc/dhcpd.conf</tt> requires a subnet statement for both interfaces (I'm not
 entirely sure why as I made my second statement : subnet 216.102.154.201 netmask
 255.255.255.255 &lcub; &rcub; with no other options and the DHCP server listens
 and sends on eth0 and eth1 as well as the fallback). The DHCP server errors
 out if only one subnet is listed.
-->
ファイル<tt>/etc/dhcpd.conf</tt>で、どちらのネットワークインターフェースにも
サブネットを設定してください。もしサブネットの指定が一つしかないとDHCPサーバーは
エラーを出します。実を言うと、なぜ2番目の記述(オプションなしの
subnet 216.102.154.201 netmask 255.255.255.255 &lcub; &rcub;)でDCHPサーバが
eth0とeth1で送受信を行うか、きちんと理解していないのですが。
  <item>
<!--
Do <em>not</em> add host route <tt>255.255.255.255</tt>, the 
<tt>/etc/rc.d/init.d/dhcpd</tt> script
 Caldera uses already fixes the problem. <em>DO</em> make sure 
 to change all references
 to <tt>eth0</tt> in the script to <tt>eth1</tt>.
-->
<tt>/etc/rc.d/init.d/dhcpd</tt>スクリプトファイルに 
host route <tt>255.255.255.255</tt> を追加しないでください。そしてこの
ファイル中で<tt>eth0</tt>と書かれている部分をすべて<tt>eth1</tt>へ書き換えて
ください。
 </enum>
</p> <sect1>
<!--
I Want One of My Internal Machines to be my Web Server
-->
内部ネットワークのコンピュータをWebサーバーにする
 <p>
<!--
Piece of cake! However, <em>you need to have a static 
IP address</em> for this easy
 set of directions to work. If you have a dynamic IP address, you will need
 some additional scripting to ensure that your IP address gets updated in the
 port forwarding commands when the address changes.
-->
難しく考えないでください。<em>IPアドレスが静的ならば</em>容易に
内部ネットワークのコンピュータをWebサーバーにできます。IPアドレスが動的な
ときは、アドレスが変わったときにそれをポート転送コマンドへ反映させるため
スクリプトを追加する必要があります。
 </p>
 <p>
<!--
Bear in mind, forwarding an external port to an inside machine makes your
 "internal" machine less "internal" than before, but it can be done very 
 transparently
 and with little or no performance degredation. One of the side effects of the
 IP masquerading code in the Linux kernel is the ability to do some pretty funky
 stuff with packets as they hit the network layer, and the <tt>ipmasqadm</tt> 
 utility
 is built to take advantage of that.
-->
ただし、注意してください。外部ポートを内部ネットワークのコンピュータへ転送すると、
そのコンピュータは外部から見えやすくなります。しかし設定は難しくありませんし、
性能の低下はほとんどありません。LinuxカーネルのIPマスカレード機能を使うと、
ネットワーク層でパケットにファンキーな操作ができてしまえるという副作用が
ありますが、その機能を有効に利用するため<tt>ipmasqadm</tt>ユーティリティが
あります。

 </p>
 <p>
<!--
For some reason <tt>ipmasqadm</tt> is not shipped with all the Red Hat and Mandrake
 variants, so will probably have to retrieve it from the maintainer's <htmlurl 
 url="http://juanjox.kernelnotes.org" name="web site"> -*- there
 is an <htmlurl url="http://juanjox.kernelnotes.org/ipmasqadm-0.4.2-2.i386.rpm" 
 name="RPM"> available there as well as source code.
-->
すべてのRed HatやMandrakeで<tt>ipmasqadm</tt>が付属しているわけではありません
ので、管理者の<htmlurl url="http://juanjox.kernelnotes.org" name="Webサイト">
から持って来る必要があるかも知れません。ソースコードだけでなく<htmlurl 
url="http://juanjox.kernelnotes.org/ipmasqadm-0.4.2-2.i386.rpm" 
name="RPMパッケージ">もあります。
 </p>
 <p>
<!--
Once you have the RPM, install it, and then add the following lines to
 your <tt>/etc/rc.d/rc.local</tt> file:
-->
RPMパッケージをダウンロードしたら、インストールし、以下の行を
<tt>/etc/rc.d/rc.local</tt>ファイルへ追加してください。
 </p>
 <p>
 <verb>
/usr/sbin/ipmasqadm portfw -f 
/usr/sbin/ipmasqadm portfw -a -P tcp -L x.x.x.x 80 -R 192.168.1.x 80 
 </verb>
</p> <p>
<!--
The first command flushes the port forwarding rules and the second command
 adds a forward from port 80 on the external interface to port 80 on the internal
 machine. Note that the external static IP address goes in the x.x.x.x space
 and the internal machine IP address goes in the 192.168.1.x space.
-->
最初のコマンドでポート転送ルールを白紙に戻し、2番目のコマンドで外部ネットワーク
に接続しているインターフェースの80番ポートから内部ネットワークのコンピュータの80
番ポートへ転送するよう設定しています。なお、x.x.x.xは外部インターフェースの
IPアドレスで、192.168.1.xは内部コンピュータのIPアドレスです。
 </p>
 <p>
<!--
Now external requests for port 80 will be transparently sent to port 80
 of the internal machine. Note that you cannot test this by telnetting or connecting
 to your gateway's port 80 from one of your inside machine: the port forwarder
 only honors requests coming in on the <em>external</em> interface.
-->
これで、外部から80番ポートへの要求は内部ネットワークのコンピュータの80番ポートへ
何事もなく転送されます。ただ、内部ネットワークのコンピュータからゲートウェイの
80番ポートにtelnetなどで接続して試験することはできません。ポート転送は、
あくまでも外部インターフェースへの接続にだけ機能します。
 </p>


 </article>

