<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article>
<artheader>

   <title>DHCP mini-HOWTO</title>

   <!-- [JF:10279] -->
   <authorgroup>
      <author>
         <firstname>Vladimir</firstname>
	 <surname>Vuksan</surname>
	 <affiliation>
	    <address>
               <email>vuksan@veus.hr</email>
	    </address>
	 </affiliation>
      </author>

      <othercredit role="translator" lang="ja">
         <firstname>保英</firstname>
         <surname>大森</surname>
         <contrib>日本語翻訳</contrib>
         <affiliation>
            <address>
               <email>dasen@icntv.ne.jp</email>
            </address>
         </affiliation>
      </othercredit>
   </authorgroup>

   <revhistory>
      <revision>
         <revnumber>v4.12</revnumber>
         <date>October 22, 2000</date>
         <authorinitials>vv</authorinitials>
      </revision>
   </revhistory>

   <abstract>
      <para>
      <!--O
      This document attempts to answer basic questions on how to
      set up your Linux box to serve as a DHCP server or a DHCP
      client.
      -->
      この文書は、Linux マシンを DHCP サーバや DHCP クライアントに<!--
      -->する方法について、基本的な質問に答えるものです。
      </para>
   </abstract>

</artheader>

<sect1> 
<!--O
<title>Introduction</title>
-->
<title>はじめに</title>
<sect2> 
<!--O
<title>Standard Disclaimer</title>
-->
<title>よくある免責条件</title>
<para>
No liability for the contents of this documents can be accepted.
Use the concepts, examples and other content at your own risk.
As this is a new edition of this document, there may be errors
and inaccuracies, that may of course be damaging to your system.
Proceed with caution, and although this is highly unlikely,
I don't take any responsibility for that.
</para>
<para>
この文書の内容に関しては一切無保証です。
概念・例・その他全て読者の責任のもとにご利用ください。
現在の版は新しいので、間違いや不正確な部分があるかもしれません。
それによってあなたのシステムに障害が起きるかもしれません。
気をつけて作業してください。あまりそういうことはないとは
思いますが、私はそのような障害に対して一切責任を負いません。
</para>
<para>
Also bear in mind that this is <emphasis>NOT</emphasis> official information.
Much content in this document are assumptions, which appear to
work for people. Use the information at your own risk.
</para>
<para>
また、これはオフィシャルな情報では<emphasis>ない</emphasis>ことも<!--
-->心にとめておいてください。この文書の内容はある意味仮定です
(ただし多くの人々の環境で動作してはいます)。
情報はあなたの責任のもとにご利用ください。
</para>
</sect2>

<sect2> 
<!--O
<title>New Versions of this Document</title>
-->
<title>この文書の最新版</title>
<para>
<!--O
New versions of this document are available from
-->
この文書の最新版は次に掲げるリンクから入手可能です。
</para>
<para>
<ulink
url="http://www.oswg.org/oswg-nightly/DHCP.html">http://www.oswg.org/oswg-nightly/DHCP.html</ulink>
</para>
<para>
<!--O
Following translations of the DHCP mini-HOWTO are available:
-->
DHCP mini-HOWTO の翻訳版は次に掲げるリンクから入手可能です。
</para>

<itemizedlist>
<!--O
<listitem><para>Chinese - <ulink
-->
<listitem><para>中国語 - <ulink
url="http://www.linux.org.tw/CLDP/mini/DHCP.html">http://www.linux.org.tw/CLDP/mini/DHCP.html</ulink></para></listitem>
<!--O
<listitem><para>Japanese - <ulink
-->
<listitem><para>日本語 - <ulink
url="http://www.linux.or.jp/JF/JFdocs/DHCP/index.html">http://www.linux.or.jp/JF/JFdocs/DHCP/index.html</ulink></para></listitem>
<!--O
<listitem><para>Spanish - <ulink
-->
<listitem><para>スペイン語 - <ulink
url="ftp://cuates.pue.upaep.mx/pub/linux/LuCAS/DHCP-mini-Como/">ftp://cuates.pue.upaep.mx/pub/linux/LuCAS/DHCP-mini-Como/</ulink></para></listitem>
</itemizedlist>

<para>
<!--O
Permission is hereby granted to all individuals who want to translate
the document into their own language. I would only ask that you provide
a link back to this document and inform me of a URL to your translation
so I can include a link to it.
-->
この文書の他の言語への翻訳は自由とします。
ただこのオリジナル文書へ戻るリンクをその<!--
-->翻訳中に示していただくこと、および翻訳版の URL をお知らせくださること、
をお願いしたいと思います。
後者はこの文書に翻訳へのリンクを追加できるようにするためです。
</para>

</sect2>

<sect2> 
<!--O
<title>Feedback</title>
-->
<title>フィードバック</title>
<para>
<!--O
Feedback is most certaintly welcome for this document. 
Without your submissions and input, this document wouldn't 
exist. So, please post your additions, comments and 
criticisms to <email>vuksan-feedback@veus.hr</email>.
-->
この文書に関するフィードバックはもちろん大歓迎です。
あなたの協力と情報提供がなければ、この文書は存続できません。
追記・コメント・批判などを <email>vuksan-feedback@veus.hr</email>
まで送ってください。
</para>
<para>
訳注: 日本語訳に関するコメントは
<link linkend=translation>ここ</link>を読んで送ってください。
</para>
</sect2>

<sect2> 
<!--O
<title>Contributors</title>
-->
<title>貢献者</title>
<para>
<!--
This document has been modified from the original version
by Paul Makeev.
-->
この文書は Paul Makeev によるオリジナル版を修正してできたものです。
</para>
<para>
訳注: 日本語訳に関しては、中野＠成蹊大さんの翻訳を、
大森保英が DocBook 版 v4.12 に追従させてできたものです。
</para>
<para>
<!--O
The following people have contributed to this mini-HOWTO.
-->
以下の方々がこの mini-HOWTO に貢献してくださいました。
</para>

<itemizedlist>
<listitem><para>Heiko Schlittermann</para></listitem>
<listitem><para>Jonathan Smith</para></listitem>
<listitem><para>Dan Khabaza</para></listitem>
<listitem><para>Hal Sadofsky</para></listitem>
<listitem><para>Henrik Stoerner</para></listitem>
<listitem><para>Paul Rossington</para></listitem>
<listitem><para>numerous others</para></listitem>
</itemizedlist>

</sect2>

<sect2> 
<!--O
<title>Copyright Information</title>
-->
<title>著作権に関する情報</title>
<para>
This document is copyrighted (c) 1998 Vladimir Vuksan and
distributed under the terms of the OpenContent License (OPL). Full
text of the license can be found at
</para>
<para> 
<ulink
url="http://www.opencontent.org/opl.shtml">http://www.opencontent.org/opl.shtml</ulink>
</para>
<para>
この文書の著作権は (c)1998 Vladimir Vuksan にあり、
the OpenContent License (OPL) に基づいて配布できます。
ライセンス文書の全文は、上掲のリンクから利用可能です。
</para>
<para>
訳注:
日本語訳の著作権は (c)1999 Takeo Nakano, (c)2001 Yasuhide OOMORI にあります。
再配布の条件は上記オリジナルに準じるものとします。
</para>
</sect2>

</sect1>

<sect1>
<!--O
<title>DHCP protocol</title>
-->
<title>DHCP プロトコル</title>
<para>
<!--O
DHCP is Dynamic Host Configuration Protocol. It is used to 
control vital networking parameters of hosts (running clients)
with the help of a server. DHCP is backward compatible with 
BOOTP. For more information see RFC 2131 (old RFC 1541) and 
other. (See Internet Resources section at the end of the 
document). You can also read 
<ulink
url="http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html">http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html</ulink>.
-->

<!-- TODO: 原文には 'Internet Resources section' が見当たらず…。 -->

DHCP とは Dynamic Host Configuration Protocol のことです。
これはホスト (動作中のクライアント) に与えられる<!--
-->ネットワークのパラメータを、サーバを利用して動的に制御するために<!--
-->用いられます。
DHCP は BOOTP に対して後方互換 (backward compatible) です。
より詳しい情報は RFC 2131 (以前は RFC 1541 でした) などを<!--
-->見てください。
</para>

<para>
訳注: RFC の国内ミラーサイトとしては、
<itemizedlist>
<listitem><para><ulink url="ftp://ftp.ring.gr.jp/pub/doc/RFC/rfc2131.txt">ftp://ftp.ring.gr.jp/pub/doc/RFC/rfc2131.txt</ulink></para></listitem>
<listitem><para><ulink url="ftp://ftp.ring.gr.jp/pub/doc/RFC/rfc1541.txt">ftp://ftp.ring.gr.jp/pub/doc/RFC/rfc1541.txt</ulink></para></listitem>
</itemizedlist>
があります。
</para>

<para>
<ulink
url="http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html">http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html</ulink>
も参考になるでしょう。
</para>

<para>
<!--O
This mini-HOWTO covers both the DHCP _SERVER_ daemon as well as DHCP
_CLIENT_ daemon. Most people need the client daemon which is used by
workstations to obtain network information from a remote server. The server
daemon is used by system administrators to distribute network information
to clients so if you are just a regular user you need the _CLIENT_ daemon.
-->
この mini-HOWTO は DHCP 「サーバ」デーモンと DHCP 「クライアント」<!--
-->デーモンの両方を扱います。多くの人が必要としているのはクライアント<!--
-->デーモンでしょう。これはワークステーションがリモートサーバから<!--
-->ネットワークの情報を取得するために用いられます。サーバデーモンは<!--
-->システム管理者がネットワークの情報をクライアントに配布するために<!--
-->用いられます。ですから、普通のユーザが必要としているのは<!--
-->「クライアント」デーモンのはずです。
</para>
</sect1>

<!--O
<sect1>
-->

<sect1 id='Client-Setup'>
<!--O
<title>Client Setup</title>
-->
<title>クライアントの設定</title>
<para>
<!--O
Currently there are three different DHCP client programs for Linux, dhcpcd,
pump and dhclient. This mini-HOWTO deals primarily with dhcpcd.
-->
現在 Linux では、3つの異なる DHCP クライアントプログラムがあります。
dhcpcd, pump と dhclient です。この mini-HOWTO では、
主に dhcpcd を取り扱います。
</para>

<sect2>
<!--O
<title>Downloading the client daemon (dhcpcd)</title>
-->
<title>クライアントデーモン (dhcpcd) のダウンロード</title>
<para>
<!--O
Depending on your distribution you might have to download the 
DHCP client daemon. If you want to compile it from the source you
package you need is called dhcpcd and the current version is 1.3.18. 
It is maintained by Sergei Viznyuk <email>sergei@phystech.com</email> and
today it comes as a binary package with most distributions.
-->
お使いのディストリビューションによっては、
DHCP クライアントデーモンをダウンロードする必要があるかもしれません。
ソースからコンパイルしたいのであれば、
必要なパッケージは dhcpcd と呼ばれるもので、現在の最新版は 1.3.18 です。
Sergei Viznyuk <email>sergei@phystech.com</email> がメンテナンスしており、
今日では多くのディストリビューションでバイナリパッケージが収録されています。
</para>
<para>
<!--O
dhcpcd source can be downloaded from following locations
-->
dhcpcd のソースは次の場所からダウンロードできます。
</para>

<itemizedlist>
<listitem><para><ulink
url="ftp://ftp.phystech.com/pub/">ftp://ftp.phystech.com/pub/</ulink> (Primary site)</para></listitem>
<listitem><para><ulink
url="http://www.cps.msu.edu/~dunham/out/">http://www.cps.msu.edu/~dunham/out/</ulink></para></listitem>
</itemizedlist>

<para>
<!--O
Then follow the instructions below. They should be the same.
-->
ダウンロードしたら、以下の指示に従ってください。
どちらのリンクからも同じものが入手可能なはずです。
</para>
</sect2>

<sect2 id="slackware">
<title id="slackware.title">Slackware</title>
<para>
<!--O
You can download the latest copy of the DHCPcd from any Metalab mirror
or following:
-->
最新版の DHCPcd は metalab のミラーから、あるいは以下から
ダウンロードできます。
</para>

<itemizedlist>
<listitem><para><ulink
url="ftp://metalab.unc.edu/pub/Linux/system/network/daemons">ftp://metalab.unc.edu/pub/Linux/system/network/daemons</ulink></para></listitem>
<listitem><para><ulink
url="ftp://ftp.phystech.com/pub/">ftp://ftp.phystech.com/pub/</ulink>
(Primary site)</para></listitem>
<listitem><para><ulink
url="ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp/">
ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp/</ulink>
(Primary site in Japan)</para></listitem>
</itemizedlist>

<para>
<!--O
Download the latest version of <filename>dhcpcd.tar.gz</filename>. 
-->
最新版の <filename>dhcpcd.tar.gz</filename> をダウンロードしましょう。
</para>

<itemizedlist>

<listitem>
<para>
<!--O
Unpack it
-->
展開します。
</para>
<para>
<command>tar -zxvf dhcpcd-1.3.18pl1.tar.gz</command>
</para>
</listitem>

<listitem>
<para>
<!--O
cd into the directory and make dhcpcd
-->
ディレクトリに入って dhcpcd を make します。
</para>
<para>
<command>cd dhcpcd-1.3.18pl1</command>
</para>
<para>
<command>make</command>
</para>
</listitem>

<listitem>
<para>
<!--O
Install it (you have to run the following command as root)
-->
インストールします (以下のコマンドは root で実行する必要があります)
</para>
<para>
<command>make install</command>
</para>
</listitem>

</itemizedlist>

<para>
<!--O
This will create the directory /etc/dhcpc where DHCPcd will store the
DHCP information and dhcpcd file will be copied into /usr/sbin.
-->
/etc/dhcpc というディレクトリができます。 DHCPcd はここに
DHCP 情報を保存します。 dhcpcd は /usr/sbin にコピーされます。
</para>

<para>
<!--O
In order to make the system initialize using DHCP during boot type:
-->
ブート時に DHCP を利用してシステムの初期化を行うには、
以下のように入力します。
</para>

<para>
<command>cd /etc/rc.d</command>
</para>

<para>
<command>mv rc.inet1 rc.inet1.OLD</command>
</para>

<para>
<!--O
This will move the old network initialization script into
<filename>rc.inet1.OLD</filename>.
You now need to create the new <filename>rc.inet1</filename> script.
Following code is all you need:
-->
古いネットワーク初期化スクリプトを <filename>rc.inet1.OLD</filename>
にリネームします。ここで新しい <filename>rc.inet1</filename>
スクリプトを作成する必要があります。
以下のコードで OK でしょう。
</para>

<programlisting>
#!/bin/sh
#
# rc.inet1      This shell script boots up the base INET system.

HOSTNAME=`cat /etc/HOSTNAME` #This is probably not necessary but I
                             #will leave it in anyways

# Attach the loopback device.
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

# IF YOU HAVE AN ETHERNET CONNECTION, use these lines below to configure the
# eth0 interface. If you're only using loopback or SLIP, don't include the
# rest of the lines in this file.

/usr/sbin/dhcpcd
</programlisting>

<para>
<!--O
Save it and reboot your computer.
-->
保存してコンピュータを再起動しましょう。
</para>

<para>
<!--O
When you are finished go the <link linkend=nameserver>last step</link>.
-->
終わったら<link linkend=nameserver>最終設定</link>に進みましょう。
</para>

</sect2>

<sect2 id="redhat6">
<!--O
<title id="redhat6.title">RedHat 6.x and Mandrake 6.x</title>
-->
<title id="redhat6.title">RedHat 6.x および Mandrake 6.x</title>
<para>
<!--O
DHCPcd configuration under RedHat 6.0+ is really easy. All you need to do
is start the Control Panel by typing <command>control-panel</command>.
-->
RedHat 6.0+ における DHCPcd の設定はとても簡単です。
まず <command>control-panel</command>
コマンドでコントロールパネルを起動します。
</para>

<itemizedlist>
<!--O
<listitem><para>Select "Network Configuration"</para></listitem>
-->
<listitem><para>"Network Configuration" を選びます。</para></listitem>
<!--O
<listitem><para>Click on Interfaces</para></listitem>
<listitem><para>Interfaces をクリックします。</para></listitem>
-->
<listitem><para>Click on Interfaces</para></listitem>
<!--O
<listitem><para>Click Add</para></listitem>
-->
<listitem><para>Add をクリックします。</para></listitem>
<!--O
<listitem><para>Select Ethernet</para></listitem>
-->
<listitem><para>Ethernet を選びます。</para></listitem>
<!--O
<listitem><para>In the Edit Ethernet/Bus Interface select "Activate
interface at boot time" as well as select "DHCP" as "Interface
configuration protocol"</para></listitem>
-->
<listitem><para>Edit Ethernet/Bus Interface から
"Activate interface at boot time"
を選び、"Interface configuration protocol" として
"DHCP" を選びます。</para></listitem>
</itemizedlist>

<para>
<!--O
Please note that in RedHat 6.x Redhat as default includes a DHCP client called 
pump instead of above mentioned dhcpcd. CD-ROM does include dhcpcd RPM so if you
have no luck with pump try with dhcpcd. After you install dhcpcd 
(e.g. <command>rpm -i dhcpcd-1.3.17pl2-1.i386.rpm</command>)  you
will have to make some <link linkend=linuxppc-rh6>changes</link>.
-->
RedHat 6.x では、上記の dhcpcd ではなく、pump が 標準の DHCP
クライアントとして同梱されていることに気をつけてください。CD-ROM には
dhcpcd の rpm も含まれているので、pump でうまくいかなかったら
dhcpcd で試してみましょう。dhcpcd を
(例えば <command>rpm -i dhcpcd-1.3.17pl2-1.i386.rpm</command>
のように) インストールしたら、
<link linkend=linuxppc-rh6>修正</link>が必要になります。
</para>

<para>
<!--O
Additional notes from Alexander Stevenson
<email>alexander.stevenson@home.com</email>:
-->
Alexander Stevenson <email>alexander.stevenson@home.com</email>
による追加情報を以下に示します。
</para>

<blockquote>
<para>
<!--O
I had no luck with DHCPcd. What finally worked for me was "pump", which
comes with Linux Mandrake 6.0 (and so I assume it is included with
RedHat as well). The command I used was:
-->
DHCPcd では全くうまくいきませんでした。結局役に立ったのは
Mandrake 6.0 同梱の (たぶん RedHat にもあると思う) "pump" でした。
私が使ったコマンドを以下に示します。
</para>

<para>
<command>pump -i eth0 -h hostname</command>
</para>

<para>
<!--O
It didn't matter what "hostname" was, but without it the server would
not respond.
-->
"hostname" は何でも構いませんでしたが、
とにかくこれがないとサーバは反応を示しませんでした。
</para>

<para>
<!--O
I then changed the line in my <filename
class="directory">/sbin/ifup</filename> script to reflect the change;
the default version does not have the -h switch, and so didn't work for
me.
-->
それから、<filename class="directory">/sbin/ifup</filename> スクリプト<!--
-->に変更を加え、設定を反映させました。標準のバージョンでは -h オプショ<!--
-->ンがなかったので、うまく動きませんでした。
</para>

<para>
<!--O
Basically, if you're using linuxconf, and after setting the adapter to
"DHCP" it still doesn't work, try adding a "<command>-h
hostname</command>" to the pump line in the
<filename>/sbin/ifup</filename> script. My script now looks like this:
-->
基本的に、linuxconf を使っているのであれば、
アダプタの設定を "DHCP" にしても動かない場合には、
<filename>/sbin/ifup</filename> のスクリプトの pump の行に
"<command>-h hostname</command>" というオプションを追加してみるといい<!--
-->のではないでしょうか。私はスクリプトを次のように修正しました。
</para>

<programlisting>
...
if [ -n "$PUMP" ]; then
    echo -n "Determining IP information for $DEVICE..."
    if /sbin/pump -i $DEVICE -h hostname; then
        echo " done."
    else
        echo " failed."
        exit 1
    fi
else ...
</programlisting>
</blockquote>

<para>
<!--O
Another more elegant way to add hostname field is provided by Aad van der Klaauw:
-->
もう一つの、よりエレガントにホスト名を設定する方法が
Aad van der Klaauw から寄せられました。以下に示します。
</para>

<blockquote>
<para>
<!--O
Currently i'm configuring a gateway system at home, needed to set the
MAC address and use the '-h hostname' workaround. So I decided to
*not* change the script but to use the configure file.
In my /etc/sysconfig/network-scripts/ifcfg-eth0 I have added the following
-->
いま自宅のゲートウェイシステムを設定しているんですが、
MAC アドレスをセットして '-h hostname' を有効にする必要がありました。
そのために、スクリプトを「変更せずに」、設定ファイルを使うことにしました。
/etc/sysconfig/network-scripts/ifcfg-eth0 に、次のような記述を加えました。
</para>

<programlisting>
DEVICE="eth0"
MACADDR="00:11:22:33:44:55"
DHCP_HOSTNAME="trigger_for_terayon"
</programlisting>

<para>
<!--O
Which will survive upgrades, and is imho a "cleaner" way.
-->
こちらならアップグレードしても設定が残りますし、
私の知る限りでは「見通しの良い」方法です。
</para>
</blockquote>

<para>
<!--O
That is it. Reboot your machine or type <command>/sbin/ifup eth0</command> on the command line.
-->
これで終わりです。マシンをリブートするか、
<command>/sbin/ifup eth0</command> をコマンドラインで実行してください。
</para>

</sect2>

<sect2>
<title>RedHat 5.x</title>
<para>
<!--O
DHCPcd configuration under RedHat 5.0+ is really easy. All you need to do
is start the Control Panel by typing <command>control-panel</command>.
-->
RedHat 5.0+ における DHCPcd の設定はとても簡単です。
まず <command>control-panel</command>
コマンドでコントロールパネルを起動します。
</para>

<itemizedlist>
<!--O
<listitem><para>Select "Network Configuration"</para></listitem>
-->
<listitem><para>"Network Configuration" を選びます。</para></listitem>
<!--O
<listitem><para>Click on Interfaces</para></listitem>
<listitem><para>Interfaces をクリックします。</para></listitem>
-->
<listitem><para>Click on Interfaces</para></listitem>
<!--O
<listitem><para>Click Add</para></listitem>
-->
<listitem><para>Add をクリックします。</para></listitem>
<!--O
<listitem><para>Select Ethernet</para></listitem>
-->
<listitem><para>Ethernet を選びます。</para></listitem>
<!--O
<listitem><para>In the Edit Ethernet/Bus Interface select "Activate
interface at boot time" as well as select "DHCP" as "Interface
configuration protocol"</para></listitem>
-->
<listitem><para>Edit Ethernet/Bus Interface から
"Activate interface at boot time"
を選び、"Interface configuration protocol" として
"DHCP" を選びます。</para></listitem>
</itemizedlist>

<para>
終わったら<link linkend=nameserver>最終設定</link>に進みましょう。
</para>
</sect2>


<sect2>
<!--O
<title>RedHat 4.x and Caldera OpenLinux 1.1/1.2</title>
-->
<title>RedHat 4.x および Caldera OpenLinux 1.1/1.2</title>
<para>
<!--O
DHCPcd is included in the standard RedHat distribution as an RPM and
you can find it on your distribution's CD-ROM in RPMS directory or you can
download it from:
-->
DHCPcd は RedHat の標準ディストリビューションに RPM として入っています。
ディストリビューション CD-ROM の RPMS ディレクトリにあるでしょう。
以下からダウンロードしてもいいでしょう。
</para>

<para>
<ulink
url="ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm">ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm</ulink>
</para>

<para>
<!--O
Install it with <command>rpm -i dhcpcd-0.6-2.i386.rpm</command>.
-->
次のコマンドでインストールしましょう:
<command>rpm -i dhcpcd-0.6-2.i386.rpm</command>
</para>

<para>
<!--O
Alternatively you can compile your own version by following the steps
outlined in the <link linkend=slackware
endterm="slackware.title"></link>.
-->
あるいは自分の好きなバージョンを取ってきて、<link linkend=slackware
endterm="slackware.title"></link> の
部分で説明したやり方でコンパイルしてもかまいません。
</para>

<para>
<!--O
The following information was provided to me by nothing
<email>nothing@cc.gatech.edu</email>.
-->
以下の情報は nothing <email>nothing@cc.gatech.edu</email>
から寄せられました。
</para>

<blockquote>
<para>
<!--O
Removed my static ip and name from
<filename>/etc/resolv.conf</filename>. However, I did leave in the
search line and my two nameserver lines (for some reason my dhcpcd never
creates a <filename>/etc/dhcpc/resolv.conf</filename>, so I have to use
a static <filename>/etc/resolv.conf</filename>).
-->
静的な IP アドレスと名前を <filename>/etc/resolv.conf</filename> から取り除きました。
しかし search 行と二つの nameserver 行は残しました
(なぜか私の dhcpcd は <filename>/etc/dhcpc/resolv.conf</filename> を生成してくれないので、
静的な <filename>/etc/resolv.conf</filename> を使わなければなりませんでした)。
</para>
<para>
<!--O
In <filename>/etc/sysconfig/network</filename> I removed the HOSTNAME
and GATEWAY entries. I left the other entries as is (NETWORKING,
DOMAINNAME, GATEWAYDEV).
-->
<filename>/etc/sysconfig/network</filename> からは HOSTNAME, GATEWAY のエントリを
削除しました。その他のエントリ (NETWORKING, DOMAINNAME, GATEWAYDEV)
はそのまま残しました。
</para>
<para>
<!--O
In <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename> I
removed the IPADDR, NETMASK, NETWORK, and BROADCAST entries. I left
DEVICE and ONBOOT as is.  I changed the BOOTPROTO line to
BOOTPROTO=dhcp.
-->
<filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename> からは IPADDR,
NETMASK, NETWORK, BROADCAST のエントリを削除しました。
DEVICE と ONBOOT はそのまま残しました。
BOOTPROTO 行は BOOTPROTO=dhcp と変更しました。
</para>
<para>
<!--O
Save the file. Reboot your computer.
-->
ファイルをセーブし、コンピュータをリブートしましょう。
</para>
</blockquote>

<para>
終わったら<link linkend=nameserver>最終設定</link>に進みましょう。
</para>

</sect2>

<sect2 id="debian">
<title id="debian.title">Debian</title>
<para>
<!--O
There is a deb package of DHCPcd (make sure it starts with dhcpcd) at:
-->
DHCPcd の deb パッケージは以下にあります。dhcpcd で始まるものを入手しましょう。
</para>

<para>
<ulink
url="http://ftp.debian.org/debian/dists/slink/main/binary-i386/net/">http://ftp.debian.org/debian/dists/slink/main/binary-i386/net/</ulink>
</para>

<para>
<!--O
Or, follow the <link linkend=slackware endterm="slackware.title"></link> installation instructions. 
-->
あるいは Slackware のように自分でインストールしてもいいでしょう。
</para>

<para>
<!--O
To unpack the deb package type <command>dpkg -i /where/ever/your/debian/packages/are/dhcpcd*deb</command>.
-->
deb パッケージを展開するには以下のコマンドを入力します。
<command>dpkg -i /where/ever/your/debian/packages/are/dhcpcd*deb</command>
</para>

<para>
<!--O
It appears that there isn't a need for any DHCPcd configuration because:
-->
DHCPcd 用の設定は特に必要ないようです。理由を以下に示します。
</para>

<blockquote>
<!--O
<attribution>From: Heiko Schlittermann
-->
<attribution>Heiko Schlittermann
<email>heiko@os.inf.tu-dresden.de</email> による。
</attribution>
<para>
<!--O
The dhcpcd package installs it's startup script as usual for debian
packages in
<filename>/etc/init.d/<replaceable>package_name</replaceable></filename>,
here as <filename>/etc/init.d/dhcpcd</filename>,
and links this to the various <filename
class="directory">/etc/rc?.d/</filename> directories.  
-->
debian パッケージはだいたいそうですが、dhcpcd パッケージも
スタートアップスクリプトを
<filename>/etc/init.d/<replaceable>package_name</replaceable></filename> に
インストールし (ここでは
<filename>/etc/init.d/dhcpcd</filename> です)、
そして <filename class="directory">/etc/rc?.d/</filename>
ディレクトリに、必要なリンクを配置してくれます。
</para>
</blockquote>

<para>
<!--O
The contents of the <filename class="directory">/etc/rc?.d/</filename> dirs is then executed at boot time.
-->
したがって <filename class="directory">/etc/rc?.d/</filename>
ディレクトリの内容がブート時に実行されます。
</para>

<para>
<!--O
If you don't reboot after installing you should consider starting
the daemon manually: <command>/etc/init.d/dhcpcd start</command>.
-->
インストールしてからコンピュータを再起動しない場合は、
次のコマンドによって手動でデーモンを起動してみてください。
<command>/etc/init.d/dhcpcd start</command>
</para>

<para>
終わったら<link linkend=nameserver>最終設定</link>に進みましょう。
</para>

</sect2>

<sect2>
<title>LinuxPPC および MkLinux</title>
<!-- TODO: 完全に新しい内容になっている模様。 -->
<para>
<!--O
Following section has been written by R. Shapiro 
-->
以下の内容は R. Shapiro によるものです。
</para>

<para>
<!--O
As of the "1999" (R5) release, Linuxppc is now almost completely
compatible with Redhat 6, with one caveat (see below).  In general the
instructions are exactly the same as for the current release of
<link linkend=redhat6 endterm="redhat6.title"></link>.
-->
"1999" (R5) リリースで、Linuxppc は、ほぼ完全に RedHat 6
互換となりました。ただし一つ警告があります(下を見てください)。
それ以外の点については、
<link linkend=redhat6 endterm="redhat6.title"></link>
での説明と同じことがあてはまります。
</para>

<para>
<!--O
The remaining problem is that Redhat 6 uses the 'pump' client for dhcp
by default, and 'pump' doesn't work reliably in Linuxppc.  <anchor
id="linuxppc-rh6">To get around this, you should install the latest
dhcpcd from Sergei Viznyuk, and then edit
<filename>/sbin/ifup</filename> to use <command>dhcpcd</command>
instead of <command>pump</command>. 
-->
残っている問題は、Redhat 6 が標準の DHCP クライアントとして使っている
pump が、Linuxppc では安定して動作しない、というものです。
<anchor id="linuxppc-rh6">
この問題に対処するには、Sergei Viznyuk のページから最新版の dhcpcd
を入手してインストールし、<filename>/sbin/ifup</filename> を編集して
<command>pump</command> の代わりに <command>dhcpcd</command>
を使うようにする必要があります。
</para>

<!--O
<para>
Change
</para>
-->

<programlisting>
if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then
     PUMP=true
 fi

 if [ -n "$PUMP" ]; then
</programlisting>

<para>
とある部分を、
</para>

<!--O
<para>
with
</para>
-->

<programlisting>
 if [  "$BOOTPROTO" = bootp ]; then
       echo " done."
     else
       echo " failed."
       exit 1
     fi
 elif [ "$BOOTPROTO" = dhcp ]; then
     echo -n "Determining IP information for $DEVICE..."
     if /sbin/dhcpcd -d $DEVICE ; then
       if [ -f /etc/dhcpc/dhcpcd-${DEVICE}.exe ]; then
           /etc/dhcpc/dhcpcd-${DEVICE}.exe
       fi
</programlisting>

<para>
<!--O
and a coresponding changes for <command>ifdown</command>. Change
-->
と書き換えてください。<command>ifdown</command> にもこれに
対応する修正が必要です。
</para>

<programlisting>
if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then
....
fi
</programlisting>

<!--O
<para>
with
</para>
-->

<para>
とある部分を
</para>

<programlisting>
if [ "$BOOTPROTO" = bootp ]; then
fi

if [ "$BOOTPROTO" = dhcp ]; then
      if [ -f /var/run/dhcpcd-${DEVICE}.pid ]; then
              kill `cat /var/run/dhcpcd-${DEVICE}.pid`
              rm -f /var/run/dhcpcd-${DEVICE}.pid
      fi
fi
</programlisting>

<para>
<!--O
A working ppc rpm for dhcpcd is included on the Linuxppc 1999 cd; a
slightly later rpm is available in the contrib directory on
<ulink url="ftp://ftp.linuxppc.org/">ftp://ftp.linuxppc.org/</ulink>.
Sources, which compile out of the box in Linuxppc 1999, are available
from <ulink
url="ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz">ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz</ulink>.
-->
と書き換えます。
</para>
<para>
ppc で動く dhcpcd の rpm は Linuxppc 1999 に同梱されています。
もう少し新しい rpm が、
<ulink url="ftp://ftp.linuxppc.org/">ftp://ftp.linuxppc.org/</ulink>
の contrib ディレクトリにあります。Linuxppc 1999
でコンパイルできるソースは <ulink
url="ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz">
ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz</ulink>
から入手可能です。
</para>

</sect2>

<sect2 id="nameserver">
<!--O
<title id="nameserver.title">Tying it all together</title>
-->
<title id="nameserver.title">最終設定</title>
<para>
<!--O
After your machine reboots your network interface should be configured.
Type: <command>ifconfig</command>.
-->
マシンを再起動したら、ネットワークインターフェースは
設定済みになっているはずです。<command>ifconfig</command>
コマンドを実行しましょう。
</para>

<para>
<!--O
You should get something like this:
-->
以下のような表示が出るはずです。
</para>

<programlisting>
          lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
          RX packets:302 errors:0 dropped:0 overruns:0 frame:0
          TX packets:302 errors:0 dropped:0 overruns:0 carrier:0 coll:0

eth0      Link encap:Ethernet  HWaddr 00:20:AF:EE:05:45
          inet addr:24.128.53.102  Bcast:24.128.53.255  Mask:255.255.254.0
          ^^^^^^^^^^^^^^^^^^^^^^^
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24783 errors:1 dropped:1 overruns:0 frame:1
          TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0 coll:96
          Interrupt:10 Base address:0x300 
</programlisting>

<para>
<!--O
If you have some normal number under <literal>inet addr</literal> you are set. If you see
0.0.0.0 don't despair, it is a temporary setting before
<command>dhcpcd</command> acquires
the IP address. If even after few minutes you are seeing 0.0.0.0 please
check out  <link linkend=troubleshooting
endterm="troubleshooting.title"></link>.  DHCPcd is a daemon and will
stay running as long as you have your machine on. Every three hours it
will contact the DHCP server and try to renew the IP address lease. It
will log all the messages in the syslog (on Slackware
<filename>/var/adm/syslog</filename>, RedHat/OpenLinux
<filename>/var/log/syslog</filename>).
-->
<literal>inet addr</literal> のあとに通常の番号が出ていれば OK です。
0.0.0.0 が出てもがっかりしないでください、これは
<command>dhcpcd</command> が
IP アドレスを取得する前の一時的な状態です。数分経っても
0.0.0.0 のままでしたら、
<link linkend=troubleshooting
endterm="troubleshooting.title"></link>
をチェックしてください。
DHCPcd はデーモンですから、マシンの電源が入っている限り居座り続けます。
DHCPcd は 3 時間おきに DHCP サーバに接続し、新たな IP アドレスを
貸し出してもらおうとします。メッセージはすべて syslog に
保存されます (Slackware 系なら
<filename>/var/adm/syslog</filename>, Redhat/OpenLinux なら
<filename>/var/log/syslog</filename> です)。
<!-- 以前の版では「Slackware なら」となっていましたが、
「Slackware 系なら」として、Plamo Linux に配慮した記述にしてみました。
-->
</para>

<para>
<!--O
One final thing. You need to specify your nameservers. There are two ways to do
it, you can either ask your provider to provide you with the addresses of your
name server and then put those in the
<filename>/etc/resolv.conf</filename> or DHCPcd will obtain
the list from the DHCP server and will build a
<filename>resolv.conf</filename> in <filename
class="directory">/etc/dhcpc</filename>.
-->
最後にもう一つ。ネームサーバを指定しなければなりません。
これには二つのやり方があります。一つはプロバイダに、使ってもかまわない
ネームサーバのアドレスを教えてもらい、それを
<filename>/etc/resolv.conf</filename>
に書く方法、もう一つは DHCPcd に DHCP サーバから
リストを取得させ、<filename class="directory">/etc/dhcpc</filename> に
<filename>resolv.conf</filename> を作成させる方法です。
</para>
<para>
<!--O
I decided to use DHCPcd's <filename>resolv.conf</filename> by doing the following:
-->
私は DHCPcd の <filename>resolv.conf</filename> を使うことにしました。
やり方を以下に示します。
</para>

<para>
<!--O
Back up your old <filename>/etc/resolv.conf</filename>: <command>mv /etc/resolv.conf
/etc/resolv.conf.OLD</command>
-->
古い <filename>/etc/resolv.conf</filename> を、
次のコマンドを実行してバックアップします。
<command>mv /etc/resolv.conf /etc/resolv.conf.OLD</command>
</para>

<para>
<!--O
If directory <filename class="directory">/etc/dhcpc</filename> doesn't
exist create it: <command>mkdir /etc/dhcpc</command>
-->
<filename class="directory">/etc/dhcpc</filename>ディレクトリがなけれ<!--
-->ば、次のコマンドを実行して作ります。
<command>mkdir /etc/dhcpc</command>
</para>

<para>
<!--O
Make a link from <filename>/etc/dhcpc/resolv.conf</filename> to
<filename>/etc/resolv.conf</filename>: <command>ln -s
/etc/dhcpc/resolv.conf /etc/resolv.conf</command>
-->
<filename>/etc/dhcpc/resolv.conf</filename> から
<filename>/etc/resolv.conf</filename>へのリンクを
作ります。
<command>ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf</command>
</para>

<para>
<!--O
If that doesn't work try this (fix suggested by
<email>nothing@cc.gatech.edu</email> with a little amendment by Henrik
Stoerner): 
-->
上記でうまくいかない場合は以下を試してください (
<email>nothing@cc.gatech.edu</email>
の指摘を受けて修正しました。また Henrik Stoerner からも改善提案を
いただきました)。
</para> 

<anchor id="error3">
<para>
<!--O
This last step I had to perform only because my dhcpcd doesn't
create an <filename>/etc/dhcpc/resolv.conf</filename>.  In <filename
class="directory">/etc/sysconfig/network-scripts/ifup</filename> I
made the following changes (which are a very poor hack, but they work
for me): 
-->
この最終ステップを行わなければならなかったのは、
私の dhcpcd が <filename>/etc/dhcpc/resolv.conf</filename>
を作成しなかったからでした。私は <filename
class="directory">/etc/sysconfig/network-scripts/ifup</filename>
に以下の修正を行いました
(非常に情けないハックですが、私のところではうまく動いています)。
</para>

<programlisting>
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
    echo -n "Using DHCP for ${DEVICE}... "
    /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE}
    echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

    if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
	^^^^
        echo "failed."
        exit 1
</programlisting>

<para>
<!--O
I changed to:
-->
これを以下のように変更しました。
</para>

<programlisting>
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
    echo -n "Using DHCP for ${DEVICE}... "
    /sbin/dhcpcd
    echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

    if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
	^^^^^^
       echo "failed."
       exit 1
</programlisting>

<note>
<para>
<!--O
Notice the ! (bang) in <literal>if [ ! -f
/var/run/dhcp-wait-${DEVICE}.pid ];</literal>
-->
注意すべきは
<literal>if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ];</literal>
の部分の <emphasis>! (エクスクラメーション)</emphasis> です。
</para>
</note>

<para>
<!--O
Now sit back and enjoy :-). 
-->
さあ、では席に戻って楽しみましょう :-)
</para>

</sect2>


<sect2>
<!--O
<title>Various notes</title>
-->
<title>雑多な注意</title>
<para>
<!--O
Following step(s) are not necessary but might be useful to some people:
-->
以下のステップは本来不要ですが、役に立つ人もいるでしょう。
</para>

<orderedlist numeration="loweralpha">
<listitem>
<para>
<!--O
If you need network connectivity only occasionally you can
start <command>dhcpcd</command> from the command line (you have to be
root to do this) with: <command>/usr/sbin/dhcpcd</command>.
-->
ネットワーク接続を時々しか必要としないなら、
<command>dhcpcd</command> をコマンドラインから起動する事もできます
(root 権限が必要です)。以下を実行します。
<command>/usr/sbin/dhcpcd</command>
</para>
<para>
<!--O
When you need to down (turn off) the network type
<command>/usr/sbin/dhcpcd -k</command>.
-->
ネットワークを切断するときには以下を実行します。
<command>/usr/sbin/dhcpcd -k</command>
</para>
</listitem>
</orderedlist>

</sect2>


<sect2 id="troubleshooting">
<!--O
<title id="troubleshooting.title">Troubleshooting</title>
-->
<title id="troubleshooting.title">トラブルシューティング</title>
<para>
<!--O
If you have followed the steps outlined above and you are unable to access
the network there are several possible explanations:
-->
これまで述べてきたステップを正しくたどってもネットワークアクセスが
できない場合には、いくつかの理由が考えられます。
</para>

<sect3>
<!--O
<title>Your network card is not configured properly</title>
-->
<title>ネットワークカードが正しく設定されていない</title>
<para>
<!--O
During the boot up process your Linux will probe your network card and should say something along these lines:
-->
ブートアップのプロセスで、 Linux はネットワークカードを
プローブして以下のような行を出力するはずです。
</para>

<programlisting>
eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
</programlisting>

<para>
<!--O
If a message like this doesn't appear your ethernet card might not be recognized
by your Linux system. If you have a generic ethernet card (a NE2000 clone) you
should have received a disk with DOS utilities that you can use to set up
the card. Try playing with IRQs until Linux recognizes your card (IRQ
9,10,12 are usually good).
-->
このようなメッセージが現れない場合は、あなたの Linux システムでは
Ethernet カードが認識されていません。一般的な Ethernet カード
(NE2000 クローンなど) を使っている場合は、カード設定用の
DOS ユーティリティの入ったディスクがあるはずです。
Linux がカードを認識するまで、IRQ を変えていってみましょう (IRQ 9, 10, 12
などなら通常は良いはずです)。
</para>
</sect3>

<sect3>
<!--O
<title>Your DHCP server supports RFC 1541/My DHCP server is Windows
NT</title>
-->
<title>DHCP サーバが RFC1541 準拠である/DHCP サーバが Windows NT である</title>
<para>
<!--O
Try running <command>dhcpcd</command> by typing <command>dhcpcd -r</command>.
-->
<command>dhcpcd</command> を、<command>dhcpcd -r</command>
とタイプして実行してみましょう。
</para>

<para>
<!--O
Use <command>ifconfig</command> to check if your network interface is
configured (wait few seconds for the configuration process, initally it
will say <literal>Inet.addr=0.0.0.0</literal>)
-->
<command>ifconfig</command> を用いてネットワークインターフェースが正しく設定されたか
チェックしてみましょう (設定のプロセスには数秒かかります。
最初は <literal>Inet.addr=0.0.0.0</literal> と言ってきます)。
</para>

<para>
<!--O
If this solves your problem add the "-r" flag to the boot up scripts,
ie: instead of <command>/sbin/dhcpcd</command> you will have
<command>/sbin/dhcpcd -r</command>.
-->
これで解決したら、ブートアップスクリプトにも "-r" フラグを
加えましょう。つまり <command>/sbin/dhcpcd</command> のかわりに
<command>/sbin/dhcpcd -r</command> のようにしましょう。
</para>

<para>
<!--O
For example under RedHat edit script
<filename>/etc/sysconfig/network-scripts/ifup</filename>
and change the following:
-->
例えば RedHat なら、
<filename>/etc/sysconfig/network-scripts/ifup</filename>
スクリプトを編集して以下のようにしましょう。
</para>

<programlisting>
        IFNAME=$[ {DEVICE} \
        "/sbin/dhcpcd -r -c /etc/"- etc etc.    
</programlisting>
</sect3>

<sect3>
<!--O
<title>During bootup I get error message "Using DHCP for eth0 ...
failed" but my system works fine.</title>
-->
<title>ブートアップの最中に "Using DHCP for eth0 ... failed"
というメッセージが出るのですが、システムはうまく動いています。</title>
<para>
<!--O
You are most likely using RedHat and you haven't followed instructions
carefully :-). You are missing the ! (bang) in one of the if statements.
Jump <link linkend=error3>here</link> and check how to fix it.
-->
おそらく RedHat をお使いで、説明を注意深くたどって来ませんでしたね :-)。
if 文の ! (エクスクラメーション) が抜けているのでしょう。
<link linkend=error3>ここ</link>に戻って修正方法をチェックすること。
</para>
</sect3>

<sect3>
<!--O
<title>My network works for few minutes and then stops
responding</title>
-->
<title>数分はちゃんとネットワークが動作するのですが、
そのあと反応しなくなってしまいます。</title>
<para>
<!--O
There are some reports of gated (gateway daemon) screwing up routing on
Linux boxes which results in problem described above. Check if gated is
running with: <command>ps -auxww | grep gate</command>.
-->
gated (ゲートウェイデーモン) が Linux マシンのルーティングを
壊してしまい、このような問題を引き起こすことがあるそうです。
gated が起動していないかどうかを、次のコマンドで確認してください。
<command>ps -auxww | grep gate</command>
</para>

<para>
<!--O
If it is try removing it with RedHat's RPM manager or removing the entry
in <filename class="directory">/etc/rc.d/</filename>.
-->
あった場合は RedHat の RPM マネージャで削除するか、
<filename class="directory">/etc/rc.d/</filename> のエントリを削除しましょう。
</para>
</sect3>

<sect3>
<!--O
<title>My ethernet card is recognized during boot up but I still get "NO
DHCPOFFER" message in my logs. I also happen to have a PCMCIA ethernet
card.</title>
-->
<title>ブートアップのときには Ethernet カードは認識されているのに、
"NO DHCPOFFER" メッセージがログに残ります。 PCMCIA の
Ethernet カードなんですけど。</title>
<para>
<!--O
You need to make sure that you have the 10BaseT port ("phone" plug) on
your network card activated. Best way to verify it is to check what kind
of connector your card is configured for during bootup e.g.
-->
ネットワークカードの 10BaseT ポート (電話プラグみたいなやつです)
が使われる設定になっているかを確認する必要があります。
調べるのに一番いい方法は、カードのどのコネクタが使われるように
なっているのかをブートアップ時に確認することです。
以下のような表示があるはずです。
</para>

<programlisting>
eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
		            ^^^^^^^^^^^^
3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
</programlisting>

<para>
<!--O
I have received reports of laptop users having this kind of problems due
to the PCMCIA utilities (specifically ifport) that would set the
connector type to 10Base2 (thinnet). You have to make sure you use 10BaseT
for your connection. If you are not reconfigure the card and restart the
computer.
-->
ラップトップ型のユーザから、このような問題が PCMCIA ユーティリティ
(特に ifport) のせいで生じるという報告をもらっています。
これがコネクタのタイプを 10Base2 (同軸ケーブル) に設定して
しまうのです。 10BaseT になっていることを確認してください。
そうなっていなければカードを再設定してコンピュータを再起動してくださ
い。
</para>
</sect3>

<sect3>
<!--O
<title>My DHCP client broadcasts requests but no one answers
(Contributed by Peter Amstutz)</title>
-->
<title>DHCP クライアントはブロードキャストリクエストを
出すんですが、誰も答えてくれないんです (Peter Amstutz から
寄せられました)</title>
<para>
<!--O
On some systems, you need to include some hostname for your machine as
part of the request.  With dhcpcd, do this with <command>dhcpcd -h
<replaceable>foohost</replaceable></command>
Probably the hostname wanted will be your account username on the network. 
-->
システムによってはリクエストの一部にホストの名前を含めなければ
ならない場合があります。 dhcpcd でこれを行うには
<command>dhcpcd -h <replaceable>foohost</replaceable></command>
とします。必要となるホスト名は、そのネットワークでのあ
なたのアカウント名と一致することが多いでしょう。
</para>
</sect3>

<sect3>
<!--O
<title>I have followed all the steps but still my machine is not able to
connect</title>
-->
<title>全部のステップをちゃんとたどったのに、私のマシンは接続できません</title>
<para>
<!--O
The cable modem will usually memorize the ethernet address of your
network card so if you connect a new computer or switch network cards you
will somehow have to "teach" your cable modem to recognize the new
computer/card. Usually you can turn of the modem and bring it back up
while computer is on or you will have to call tech support and tell them
that you have changed a network card in the computer.
-->
多くの場合、ケーブルモデムは、ネットワークカードの Ethernet アドレスを
記憶してしまいます。その場合、新しいコンピュータを接続したり
ネットワークカードを交換したときには何とかしてケーブルモデムに
新しいコンピュータとカードを教えてやらなければなりません。
通常はコンピュータの電源を入れたままモデムの電源を一度切って
入れ直せばいいはずです。だめな場合はテクニカルサポートに電話して、
コンピュータのネットワークカードを交換した旨を伝えてください。
</para>

<para>
<!--O
You have firewall rules (ipfwadm rules) that disallow port 67/68
traffic used by DHCP to distribute configuration info. Check your firewall
rules carefully.
-->
ファイアウォールのルール (ipfwadm rule) によって、
DHCP が設定情報を流すポート 67/68 がふさがれているのかもしれません。
ファイアウォールのルールを注意して調べてください。
</para>
</sect3>

<sect3>
<!--O
<title>I have MediaOne Express service and I still can't
connect.</title>
-->
<title>MediaOne Express のサービスを使っているんですが、接続できません
</title>
<para>
<!--O
It appears that MediaOne has been using adding some things to DHCP that
shouldn't be there. Supposedly this is not a problem anymore but if you
experience outages check for these things. If you are (un)lucky to have 
Windows NT on your machine if you go into Event Viewer you will see a
warning like this:
-->
MediaOne は DHCP に付加すべきでない情報を加えてしまっています。
おそらくこれはもう問題ではないのでしょうが、うまくいかない場合は
これらを確認してみてください。もし幸運 (不運?) にも同じマシンに
Windows NT が載っている場合は、イベントビューアを起動すると
以下のような警告が出ているはずです。
</para>
<programlisting>
DHCP received an unknown option 067 of length 005. The raw option data is 
given  below.

0000: 62 61 73 69 63            basic
</programlisting>

<para>
訳注: 訳者は NT を使っていませんので、
日本語版のメッセージはわかりません(^_^;
</para>

<para>
<!--O
If this is the problem go to
<ulink
url="ftp://vanbuer.ddns.org/pub/">ftp://vanbuer.ddns.org/pub/</ulink>
and either download a binary or get the source for the change.
-->
これが原因だった場合は
<ulink
url="ftp://vanbuer.ddns.org/pub/">ftp://vanbuer.ddns.org/pub/</ulink>
に行ってバイナリをダウンロードするか、
ソースを入手して入れ替えてください。
</para>
</sect3>
</sect2>

<sect2>
<title>もう一つの DHCP クライアント (ISC dhclient)</title>
<para>
<!--O
If you have not had success getting your Linux connection running with
the dhcpcd you might want to try ISC dhclient. dhclient comes with
the DHCP distribution from ISC which includes both a DHCP client
and a DHCP server. Instructions on how to get and compile 
the DHCP distribution can be found <link linkend=dhcpserver>here</link>. 
When you are done with it please return to this section to configure
the client.
-->
dhcpcd を使っても Linux で接続を確立できない場合は、
ISC dhclient を試してみるといいかもしれません。dhclient は、
ISC 由来の DHCP 配布 (クライアント・サーバ両方を同梱しています)
に含まれます。
入手方法やコンパイル方法については
<link linkend=dhcpserver>ここ</link>を読んでください。
成功したら、この章に戻ってクライアントを設定してください。
</para>

<note>
<para>
<!--O
Following information has been provided by 
Ted Lemon <email>mellon@isc.org</email>
one of the authors of dhclient.
-->
次の情報は、dhclient の作者の一人、
Ted Lemon <email>mellon@isc.org</email> から寄せられました。
</para>
</note>

<para>
<!--O
With the current version of the DHCP client,
you don't actually need a <filename>dhclient.conf</filename>. All you
have to do is invoke dhclient e.g.: <command>/sbin/dhclient</command>.
-->
DHCP client の現在のバージョンでは、
<filename>dhclient.conf</filename> は必要ありません。
dhclient を、次のコマンドで起動するだけです。
<command>/sbin/dhclient</command>
</para>

<para>
<!--O
This will configure all broadcast interfaces. If this doesn't
work or you want to specify only one interface create a
<filename>/etc/dhclient.conf</filename> file with this example
configuration.
-->
このコマンドを実行すると、全てのブロードキャストインターフェースが<!--
-->設定されます。これでうまく動かなかったり、
特定のインターフェースだけを使いたいのなら、次のような設定を
<filename>/etc/dhclient.conf</filename> に記述してください。
</para>

<programlisting>
interface "eth0" {
  send dhcp-client-identifier 1:xx:xx:xx:xx:xx:xx;
  send dhcp-lease-time 86400;
}
</programlisting>

<para>
<!--O
Here we assume that the ethernet interface is eth0. If not
change accordingly. Also replace xx:xx:xx:xx:xx with your ethernet 
address. This dhclient.conf makes the client look more 
like a Win95 client.
-->
この例では、イーサネットインターフェースは eth0 を使うものと仮定しています。
他のものを使うときは、記述もそれに合わせてください。
xx:xx:xx:xx:xx の部分も、お使いのイーサネットアドレスに合わせてください。
この dhclient.conf を使うと、Win 95 のクライアントの挙動に<!--
-->近いものになります。
</para>

</sect2>
</sect1>

<!--O
<sect1>
-->
<sect1 id='DHCP-Server-Setup'>
<!--O
<title>DHCP Server Setup</title>
-->
<title>DHCP サーバのセットアップ</title>

<sect2 id="dhcpserver">
<!--
<title id="dhcpserver.title">DHCP server for UNIX</title>
-->
<title id="dhcpserver.title">UNIX 用の DHCP サーバ</title>
<para>
<!--O
There are several DHCP servers available for U*X-like OSes,
both commercial and free. One of the more popular free DHCP servers
is Paul Vixie/ISC DHCPd. Currently the latest version is 2.0 (suggested
for most users) but 3.0 is in beta testing.  You can get them from 
-->
U*X ライク OS 用の DHCP サーバはいくつか存在します。
商用のものもフリーのものもあります。フリーの DHCP サーバの中で
よく使われているものは Paul Vixie の ISC DHCPd でしょう。
現在の最新版は 2.0 (ほとんどのユーザはこちらが良いでしょう)
ですが、 3.0 もβテストの段階です。
次に掲げるリンクから入手可能です。
</para>

<para>
<ulink
url="ftp://ftp.isc.org/isc/dhcp/">ftp://ftp.isc.org/isc/dhcp/</ulink>
</para>

<para>
<!--O
Some of the distributions provide binary packages for dhcpd so
skip the following section if you got it installed that way.
-->
バイナリパッケージが収録されているディストリビューションもあります。
それを使う場合は、次のセクションは飛ばしてください。
</para>

<para>
<!--O
After you download unpack it. After you do cd into the
distribution directory and type: <command>./configure</command>
-->
ダウンロードしたら展開します。
展開したら、配布ソースのディレクトリに cd して、
<command>./configure</command> を実行します。
</para>

<para>
<!--O
It will take some time to configure the settings. After it is done type:
<command>make</command> and <command>make install</command>.
-->
設定にはしばらく時間がかかるでしょう。終わったら、
<command>make</command> と <command>make install</command>
を実行します。
</para>
</sect2>

<sect2>
<!--O
<title>DHCP server configuration</title>
-->
<title>DHCP サーバの設定</title>
<para>
<!--O
When done with installation type <command>ifconfig -a</command>. You
should see something like this:
-->
インストールが終わったら、
<command>ifconfig -a</command> と入力してください。
以下のような表示が出るはずです。
</para>

<programlisting>
eth0      Link encap:10Mbps Ethernet  HWaddr 00:C0:4F:D3:C4:62
          inet addr:183.217.19.43  Bcast:183.217.19.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2875542 errors:0 dropped:0 overruns:0
          TX packets:218647 errors:0 dropped:0 overruns:0
          Interrupt:11 Base address:0x210
</programlisting>

<para>
<!--O
If it doesn't say MULTICAST you should reconfigure your
kernel and add multicast support. On most systems you will not 
need to do this.
-->
MULTICAST という文字が現れない場合はカーネルを設定しなおして
multicast のサポートを追加する必要があります。ほとんどのシステムでは
これは不要でしょう。
</para>

<para>
<!--O
Next step is to add route for 255.255.255.255. Quoted from DHCPd README:
-->
次に行うことは 255.255.255.255 への経路の追加です。
DHCPd の README から引用します。
</para>

<blockquote>
<para>
<!--O
"In order for dhcpd to work correctly with picky DHCP clients 
(e.g., Windows 95), it must be able to send packets with an 
IP destination address of 255.255.255.255.  Unfortunately, 
Linux insists on changing 255.255.255.255 into the local 
subnet broadcast address (here, that's 192.5.5.223).  This 
results in a DHCP protocol violation, and while many DHCP 
clients don't notice the problem, some (e.g., all Microsoft
DHCP clients) do.  Clients that have this problem will appear 
not to see DHCPOFFER messages from the server."
-->
「dhcpd を細かいことにうるさい DHCP クライアント (例えば Windows 95
のものなど) と正しく動作させるには、dhcpd は destination address
が 255.255.255.255 の IP パケットを送ることができるように<!--
-->なっている必要があります。残念ながら Linux は
255.255.255.255 をローカルなサブネットのブロードキャスト
(ここでは 192.5.5.223) に変換してしまうのです。
この結果は DHCP プロトコルに違反することになります。
たいていの DHCP クライアントはこれに気がつきませんが、
気がつくもの (例えば Microsoft の DHCP クライアントは全てそうです) もあります。
後者の様なクライアントはサーバからの DHCPOFFER メッセージを<!--
-->受信する事ができないのです。」
</para>
</blockquote>

<para>
<!--O
Type: <command>route add -host 255.255.255.255 dev eth0</command>
-->
次のように入力しましょう。
<command>route add -host 255.255.255.255 dev eth0</command>
</para>

<para>
<!--O
If you get a message "<literal>255.255.255.255: Unknown host</literal>",
you should try adding the following entry to your
<filename>/etc/hosts</filename> file:
-->
もしも "<literal>255.255.255.255: Unknown host</literal>"
のようなメッセージが出力された場合は、
次のようなエントリを <filename>/etc/hosts</filename>
ファイルに追加する必要があります。
</para>

<programlisting>
255.255.255.255 all-ones
</programlisting>

<para>
<!--O
Then, try:
-->
追加したら
</para>

<programlisting>
route add -host all-ones dev eth0
</programlisting>

<para>
<!--O
or
-->
あるいは
</para>

<programlisting>
route add 255.255.255.0 dev eth0
</programlisting>

<para>
<!--O
<literal>eth0</literal> is of course the name of the network device you
are using.  If it differs change appropriately.
-->
としてください。
もちろん <literal>eth0</literal> は使おうとしている
ネットワークデバイス名です。異なる場合は適宜変更してください。
</para>

</sect2>

<sect2>
<!--O
<title>Options for DHCPd</title>
-->
<title>DHCPd のオプション</title>
<para>
<!--O
Now you need to configure DHCPd. In order to do this you
will have to create or edit <filename>/etc/dhcpd.conf</filename>. There
is a graphical interface for dhcpd configuration under KDE ( <ulink
url="http://www.kde.org/">http://www.kde.org/</ulink> ) called kcmdhcpd
that is very similar to the DHCP configurator on Windows NT. When KDE
2.0 comes out it should come with kcmdhcpd or you could get it directly
from:
-->
ここで DHCPd を設定しなければなりません。
<filename>/etc/dhcpd.conf</filename>
を編集 (なければ作成) します。KDE ( <ulink
url="http://www.kde.org/">http://www.kde.org/</ulink> ) には、kcmdhcpd
という、GUI による dhcpd の設定ツールがあります。Windows NT の
DHCP コンフィグレータに極めてよく似ています。

<!-- TODO:
Windows NT での DHCP デーモン設定ツールの名前を
御存知でしたらお教えください。-->

KDE 2.0 がリリースされれば、kcmdhcpd もリリースされるはずです。
次に掲げるリンクからも入手できます。
</para>

<para>
<ulink
url="ftp://ftp.us.kde.org/pub/kde/unstable/apps/network/">ftp://ftp.us.kde.org/pub/kde/unstable/apps/network/</ulink>
</para>

<para>
訳注: 現時点で KDE-2.0.1 がリリースされていますが、
kdenetwork-2.0.1 には kcmdhcpd は含まれていません。
</para>

<para>
<!--O
If you want to configure it by hand follow instructions below.
-->
直接 DHCPd を設定したければ、以下の指示に従ってください。
</para>

<para>
<!--O
Most commonly what you want to do is assign IP addresses randomly. This
can be done with settings as follows:
-->
たいていの人がやりたいと思うのは
IP アドレスをランダムに割り当てることでしょう。
これには以下のような設定を用います。
</para>

<programlisting>
# Sample /etc/dhcpd.conf
# (add your comments here) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.100;
   range 192.168.1.150 192.168.1.200;
}
</programlisting>

<para>
<!--O
This will result in DHCP server giving a client an IP address
from the range 192.168.1.10-192.168.1.100 or 
192.168.1.150-192.168.1.200. It will lease an IP address for
600 seconds if the client doesn't ask for specific time
frame. Otherwise the maximum (allowed) lease will be 7200 seconds. The
server will also "advise" the client that it should use 255.255.255.0 as
its subnet mask,  192.168.1.255 as its broadcast address, 192.168.1.254 as
the router/gateway and 192.168.1.1 and 192.168.1.2 as its DNS servers.
-->
こうすると DHCP サーバがクライアントに与える IP アドレスは
192.168.1.10-192.168.1.100 または 192.168.1.150-192.168.1.200
の範囲となります。特にクライアントからの時間枠の要求がなければ、
600 秒の間 IP アドレスが貸し出されます。要求があった場合に<!--
-->最大限許される貸し出し時間は 7200 秒です。またサーバは<!--
-->クライアントに 255.255.255.0 をサブネットマスクとして用い、
192.168.1.255 をブロードキャストアドレスとして用い、
192.168.1.254 をゲートウェイとして用い、
192.168.1.1 か 192.168.1.2 を DNS サーバとして用いるように
「アドバイス」します。
</para>

<para>
<!--O
If you need to specify a WINS server for your Windows clients you
will need to include the <literal>netbios-name-servers</literal> option e.g.
-->
Windows クライアントに WINS サーバを教えてあげる必要がある場合は、
<literal>netbios-name-servers</literal> オプションを書く必要があります。
具体例を以下に示します。
</para>

<programlisting>
option netbios-name-servers 192.168.1.1;
</programlisting>

<para>
<!--O
You can also assign specific IP addresses based on clients
ethernet address e.g. 
-->
特定の IP アドレスをクライアントの Ethernet アドレスに応じて
割り当てることもできます。
</para>

<programlisting>
host haagen {
   hardware ethernet 08:00:2b:4c:59:23;
   fixed-address 192.168.1.222;
}
</programlisting>

<para>
<!--O
This will assign IP address 192.168.1.222 to a client with ethernet
address 08:00:2b:4c:59:23.
-->
このようにすると IP アドレス 192.168.1.222 が
Ethernet アドレス 08:00:2b:4c:59:23 を持ったクライアントに
割り当てられます。
</para>

<para>
<!--O
You can also mix and match e.g. you can have certain clients getting
"static" IP addresses (e.g. servers) and others being alloted
dynamic IPs (e.g. mobile users with laptops). There are a number of other
options e.g. nis server addresses, time server addresses etc., if you
need any of those options please read the
<filename>dhcpd.conf</filename> man page.
-->
これらを適当に混ぜる事もできます。つまり特定のクライアントには<!--
-->静的な IP アドレスを与え (サーバなど)、他には<!--
-->動的な IP を与える (ラップトップユーザなど) ことができます。
他にもたくさんのオプションがあります。 nis サーバのアドレスを<!--
-->与えたり、タイムサーバを教えたり、などです。これらが必要な<!--
-->場合は <filename>dhcpd.conf</filename> のマニュアルページを読んでください。
</para>

</sect2>

<sect2>
<!--O
<title>Starting the server</title>
-->
<title>サーバを起動する</title>
<para>
<!--O
There is only one thing to do before starting the server. In most cases
DHCP installation doesn't create a <filename>dhcpd.leases</filename>
files. This file is used by DHCPd to store information about current
leases. It is in the plain text form so you can view it during the
operation of DHCPd. To create <filename>dhcpd.leases</filename> type: 
-->
サーバを起動する前に一つだけやっておかねばならないことがあります。
多くの場合、DHCP サーバをインストールしても
<filename>dhcpd.leases</filename> ファイルが作成されません。
このファイルは、現在の IP アドレス貸し出しに関する情報を保存するために<!--
-->DHCPd が使うものです。プレインテキストの形式なので、
DHCPd を操作している間に見ることができます。
<filename>dhcpd.leases</filename> を作成するには、次のようにします。

<programlisting>
touch /var/state/dhcp/dhcpd.leases
</programlisting

</para>

<para>
<!--O
This will create an empty file (file size = 0).
Some of the older version of dhcpd 2.0 placed the file in
<filename>/etc/dhcpd.leases</filename>.  You do not need to make any
changes to the leases file it will be manipulated by the dhcpd.  If you
get a message saying that file exists simply ignore it and go to the
next step.
-->
これで空のファイル(ファイルサイズ = 0)が作成されます。
dhcpd 2.0 以前のバージョンの中には、
<filename>/etc/dhcpd.leases</filename> を使うものがありました。
貸し出し情報ファイルを編集する必要はありません。
DHCPCd が自動的に操作します。
「ファイルが存在します」というようなメッセージを受けたとしても、
無視して次に進んで構いません。
</para>

<para>
<!--O
You can now invoke the DHCP server. Simply type (or include in the bootup
scripts)
-->
いよいよ DHCP サーバを起動できます。単に以下のように入力
するだけです (あるいはブートアップスクリプトに書きます)。
</para>

<programlisting>
/usr/sbin/dhcpd
</programlisting>

<para>
<!--O
This will invoke dhcpd on eth0 device. If you want to invoke it
on another device simply supply it on the command line e.g.
-->
このコマンドは、DHCP サーバを eth0 デバイスに対して起動します。
他のデバイスで起動したければ、
単にそのデバイス名をコマンドラインで渡してください。
具体例を以下に示します。
</para>

<programlisting>
/usr/sbin/dhcpd eth1
</programlisting>

<para>
<!--O
To verify that everything is working fine you
should first turn on the debugging mode and put the server
in foreground. You can do this by typing
-->
ちゃんと動作しているかどうかを確かめたい場合は、
まずデバッグモードをオンにしてサーバをフォアグラウンドで
実行してみましょう。以下のようにします。
</para>

<programlisting>
/usr/sbin/dhcpd -d -f
</programlisting>

<para>
<!--O
Then boot up one of your clients and check out the console of your server. 
You will see a number of debugging messages come up. If everything works out
fine you are done :-). Quit dhcpd and start it without the
<command>-d</command> <command>-f</command> and arguments. If you want
dhcpd to start at boot-up include dhcpd in e.g.
-->
そしてどれかクライアントを一つブートしてみて、
サーバのコンソールを確認しましょう。
たくさんのデバッグメッセージが現れるはずです。
全てがうまくいっているようなら、完了です :-)
dhcpd を終了して <command>-d</command>
<command>-f</command> オプション無しで起動しましょう。
ブート時に dhcpd を起動したいのであれば、
例えば次のファイルに dhcpd を追加するといいでしょう。
</para>

<programlisting>
/etc/rc.d/rc.local
</programlisting>

</sect2>

<sect2>
<!--O
<title>Other interesting documents</title>
-->
<title>その他の興味深い文書</title>
<para>
<!--O
Linux Magazine has a pretty good article in their April issue called
<ulink url="http://www.linux-mag.com/2000-04/networknirvana_01.html">Network
Nirvana: How to make Network Configuration as easy as DHCP</ulink> that
discusses the set up for DHCP.
-->
Linux Magazine (訳注: 日本のものではありません)
の2000年4月号には、非常によい記事が掲載されています。
<ulink url="http://www.linux-mag.com/2000-04/networknirvana_01.html">
ネットワークの楽園 (Nirvana)：ネットワークの設定を DHCP 並に簡単にする方法</ulink>
という題名で、DHCP のセットアップについて述べられています。
</para>

</sect2>


</sect1>

<appendix id="translation">
<title>日本語訳について</title>

<para>
日本語訳は Linux Japanese FAQ Project が行いました．
翻訳に関するご意見は JF プロジェクト
&lt;JF@linux.or.jp&gt;
宛に連絡してください．
</para>

<para>
改訂履歴を以下に示します．
</para>

<variablelist>
<varlistentry>

  <term>v4.12j, Sun Feb 4 2001</term>
  <listitem>
    <variablelist>
    <varlistentry>
    <term>翻訳:</term>
    <listitem>
       <para>大森保英 &lt;dasen@icntv.ne.jp&gt;</para>
    </listitem>
    </varlistentry>
    <varlistentry>
    <term>校正:</term>
    <listitem>
      <itemizedlist>
      <listitem>
      <para>早川仁さん</para>
      </listitem>
      <listitem>
      <para>中野＠成蹊大さん</para>
      </listitem>
      <listitem>
      <para>川崎貴彦さん</para>
      </listitem>
      <listitem>
      <para>その他の JF メンバーの方々</para>
      </listitem>
<!--
      <listitem>
      <para>さん</para>
      </listitem>
-->
      </itemizedlist>
    </listitem>
    </varlistentry>
    </variablelist>
  </listitem>
</varlistentry>
</variablelist>
</appendix>
</article>

<!-- INFO:
TITL: DHCP mini-HOWTO
KIND: LDP-TRANS
ATRB: MINI
NAME: DHCP
DSRC: SGML
JDAT: 2001/02/04
BDAT: 2000/10/22
ITEM: network
AUTH: Vladimir Vuksan <vuksan@veus.hr>
TRNS: 大森保英 <dasen@icntv.ne.jp>
COPY: OTHER
CPNT: "Open Content License" <http://www.opencontent.org/opl.shtml>
STAT: Suspend
CONT: Linux マシンを DHCP サーバや DHCP クライアントにする方法
KEY1: Network
KEY2: DHCP
-->
