Skip to main content.
Google custom search

NetBSD DHCP HOWTO

DHCP について

DHCP クライアントの設定

DHCP サーバーの設定


DHCP について

紹介と目的 (トップ)

このドキュメントの目的は、DHCPのクライアントとサーバーを NetBSDオペ レーティングシステムにおいて設定する方法を説明することです。

DHCPとは何か (トップ)

DHCPはDynamic Host Configuration Protocolの略です。 それによって、ホストコンピューターの ネットワーク設定を動的に行うことがで きます。 基本的なアイディアは以下の通り:

  • DHCPクライアントが起動された時、そのコンピューターには最初はIPアドレスが割当てられていない。
  • クライアントはそのネットワーク上の任意のDHCPサーバーに対してブロードキャストメッセージを発行する。
  • やりとりが行われ、DHCPサーバーはクライアントにIPアドレスを割当てる。 サーバーはまた、その他の重要なネットワーク設定パラメーター(例えば、ネームサーバーのアドレスなど)も通知する。

DHCPはどのような人にとって有用か (トップ)

多くのインターネット・サービス・プロバイダー (ISP) は ISP が 動的に IP アドレスを割り振り、またその他の情報を通知できるようにする ために、顧客に対して DHCP クライアントを使用するように要求します。 別の使い道は、一つ以上のネットワークに接続する可能性のあるラップトップコンピューターです。 例えば、ラップトップはオフィスと自宅の両方でネットワークに接続されることがあります。 この場合、異なる2つのネットワークに接続するために手動で設定を変更し直す必要がないので、 DHCPを使うのがぴったりと言えます。この場合は、オフィスと自宅の両方に DHCP サーバーが 存在し、ラップトップは DHCP のクライアントである事が必要です。

より詳細な情報の所在 (トップ)

一般的な DHCP に関するより詳細な情報は、 RFC 1541, Request for Comments document for the Dynamic Host Configuration Protocol (DHCP) を参照して下さい。 また、包括的な DHCP FAQ もあります。


DHCP クライアントの設定

DHCP のコンフィギュレーション (トップ)

DHCP のクライアントの設定は /etc/dhclient.conf ファイルを使っておこないますが、このファイルがなくても DHCP はちゃんと動作します。詳細は dhclient.conf(5)dhcp-options(5) を参照してください。典型的な /etc/dhclient.conf を以下に示します。

send host-name "myname.my.domain";                 <=== ここに
                                                        ホスト名を書く
send dhcp-client-identifier "myident";             <=== ここにホスト
                                                        識別子を書く
							(これは myname と同じ
							 であることが多い).
request subnet-mask, broadcast-address, routers,
    domain-name-servers;

timeout 30;
retry 60;
select-timeout 5;

script "/sbin/dhclient-script";

lease {
  interface "sn0";                               <=== ここにインターフェース
                                                      デバイスを書く
  option host-name "myname.my.domain";           <=== ここに
                                                      ホスト名を書く
  option subnet-mask 255.255.255.0;
  option domain-name "my.domain";                <=== ここに
                                                      ドメイン名を書く
  option domain-name-servers 127.0.0.1;
  renew 2 2000/1/12 00:00:01;
  rebind 2 2000/1/12 00:00:01;
  expire 2 2000/1/12 00:00:01;
}

DHCP を有効にする。 (トップ)

/etc/rc.conf を編集し、'dhclient' 行を 'dhclient=YES' となるように変更します。デフォルトでは、 DHCP の要求は、繋がっている全ネットワークインターフェースに送られます。 1 枚の、あるいは一部のネットワークカードで DHCP を使いたいだけの場合は、 'dhclient_flags' 行に DHCP 設定をおこなう ネットワークインターフェースのリストを追加します。例えば 'dhclient_flags="ae1"' とします。

次回のリブート時にマシンは自動的に DHCP クライアントとして設定されます。 リブートせずに DHCP を有効にするには、コマンド 'sh /etc/rc.d/dhclient start' を実行して下さい。

dhclient が /etc/resolv.conf を攻撃するのを抑止する方法 (トップ)

通常、 dhclient は DHCP サーバーからの情報を /etc/resolv.conf に上書きします。そうしたくない稀な状況では、 /etc/dhclient-enter-hooks に適切にフックを書いておくことで、 これを抑止できます:

# cat /etc/dhclient-enter-hooks
make_resolv_conf() {
        echo "doing nothing to resolv.conf"
}

さらなる情報は dhclient-script(8) マニュアルページを参照してください。


DHCP サーバーの設定

序 (トップ)

この節では DHCP サーバーの設定方法について説明します。 あなたの LAN で動的にアドレスを割り当てたい場合にのみ DHCP サーバーが必要であることに注意して下さい。 詳細は dhcpd(8), dhcpd.conf(5), dhcp-options(5) を参照して下さい。

DHCPD のコンフィギュレーション (トップ)

DHCP サーバーの設定は /etc/dhcpd.conf ファイルに記述します。 もし、このファイルがなければ作成して下さい。 このファイルはカスタマイズすることが必要です。 特に、ホスト名やイーサネットインターフェースを変更することを忘れないようにしてください。 典型的な /etc/dhcpd.conf を以下に示します。 この例では、7つの アドレスが、DHCP クライアント用に確保されます。確保されるアドレスは 192.168.0.2 から 192.168.0.8 です。DHCP サーバーはクライアントに対して、使用すべき IP アドレス、ネットマスク、 ルーター、ネームサーバー とドメイン名を通知します。

# Setting DHCPD global parameters
allow unknown-clients;

ddns-update-style ad-hoc;

# Set parameters for the 192.168.0.0/24 subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.8;                <=== ここに割り当て可能な
                                                   IP アドレスの範囲を書く
default-lease-time 604800;                    <=== デフォルトの貸与時間(単位は秒)。
                                                   クライアントが明示的に要求してこない
                                                   場合に用いられます。
max-lease-time 604800;                        <=== 最大貸与時間
option subnet-mask 255.255.255.0;             <=== クライアントに通知するネットマスク
option domain-name-servers 1.2.3.4, 1.2.3.5;  <=== ネームサーバーの IP アドレスの
                                                   リストをここに書く
option domain-name "your.domain.name";
option routers 192.168.0.1;                   <=== クライアントが使用すべきルーターの
                                                   リスト
}

DHCPD を有効にする (トップ)

/etc/rc.conf を編集し、'dhcpd' 行を 'dhcpd=YES' となるように変更します。全ネットワークインターフェースで DHCP 要求へのサービスをしたいわけでない場合には、 'dhcpd_flags'行に DHCPD が動作する ネットワークインターフェースのリストを追加します。例えば 'dhcpd_flags="-q ae1"' とします。

dhcpd.leases ファイルの作成 (トップ)

dhcpd は /var/db/dhcpd.leases ファイルを必要とします。 'touch /var/db/dhcpd.leases' してファイルを作ります。


Back to ネットワーキングドキュメンテーション