DHCPサーバーの構成プロパティには、ホスト名、ドメイン名、タイムサーバー、プリントサーバーが含まれます。サーバーは、クライアントのMACアドレス、アドレスプール、および自動方式を使用してIPを割り当てることができます。
この記事では、Ubuntu18.04にDHCPをインストールして構成する方法を紹介します。 isc-dhcp-serverをインストールし、DHCPサーバーを使用してクライアントにIPを提供し、特定のMACアドレスを持つクライアントに固定IPアドレスを割り当てるIP範囲を設定します。
DHCPサーバーのインストール方法
まず、DHCPサーバーをインストールする必要があります。これは、次のコマンドを実行することで実行できます。
sudo apt install isc-dhcp-server
DHCPサーバーの構成方法
インストールが完了したら、DHCPサーバーがサービスを提供するネットワークインターフェイスを割り当てる必要があります。これを行うには、任意のテキストエディタを使用してDHCPサーバーのデフォルトの構成ファイルを編集します(私はその目的でvimを使用しました):
sudo vim /etc/default/isc-dhcp-server
デフォルトの構成ファイルで、INTERFACESv4
の値を編集します DHCPサーバーに要求を処理させたいものを記述します。
INTERFACESv4="eth0"
提供する複数のインターフェイスDHCPがある場合は、スペースで区切って引用符で囲んでそれらを追加します。
INTERFACESv4="eth0 eth1"
インターフェイスが割り当てられると、DHCPサーバーの構成に進むことができます。 DHCPサーバーを構成するには、任意のテキストエディターを使用して/etc/dhcp/dhcpd.confファイルを編集します。これを行うには、以下のコマンドを入力します:
sudo vim /etc/dhcp/dhcpd.conf
下記のセクションで、ドメイン名とドメインネームサーバー(DNS)を自分の好みに合わせて変更してください。
# option definitions common to all supported networks...
option domain-name "your_domain.com";
option domain-name-servers ns1.your_domain.com, ns2.your_domain.com;
このDHCPサーバーがローカルネットワークの公式DHCPサーバーである場合、authoritative
ディレクティブはコメントを外す必要があります。
authoritative;
内部サブネット構成については、「内部サブネットのわずかに異なる構成」のセクションを見つけてください。コメントし、セクション内のすべての行のコメントを解除し、必要に応じて値を変更します。例:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.170;
option domain-name-servers ns1.your_domain.com;
option domain-name "local.your_domain.com";
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
この構成では、ローカルドメイン名、DNS、IPがクライアントに割り当てられるIP範囲、デフォルトおよび最大リース時間について説明しました。
DHCPサーバーを再起動すると、構成に応じてサービスが開始されます。再起動するには、次のように入力します:
systemctl restart isc-dhcp-server
特定のMACアドレスを持つクライアントに固定IPアドレスを割り当てます
特定のIPアドレスを特定のクライアントに割り当てたい場合は、クライアントのMACアドレスを使用してその目標を達成できます。つまり、固定IPアドレスは、構成ファイルでMACアドレスが構成されているクライアントに割り当てられ、他のクライアントには割り当てられません。
クライアントのマシンでMACアドレスを確認するには、次のコマンドを実行します。
ip a
出力は次のようになります:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.125/24 brd 192.168.0.255 scope global dynamic eth0
valid_lft 73924sec preferred_lft 73924sec
inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 598sec preferred_lft 298sec
inet6 fe80::f03c:91ff:fe62:5d78/64 scope link
valid_lft forever preferred_lft forever
下線部分は、前述のネットワークアダプタのMACアドレスです。固定IPアドレスを特定のMACアドレスに割り当てるには、vim /etc/dhcp/dhcpd.conf
を編集します ファイルを作成し、次のセクションを追加します(クライアントごとに異なるセクションを追加する必要があります):
host fixed-ip-client {
hardware ethernet 00:0c:29:39:c7:81;
fixed-address 192.168.0.220;
}
お気づきのとおり、DHCPサーバーを使用するように構成した範囲外のIPアドレスをクライアントに指定しました。 IP範囲内のIPアドレスを使用する場合、DHCPサーバーはそのIPアドレスをスキップしてクライアントに動的にリースし、IP範囲は実際には1つのIPアドレスだけ減少します。
構成ファイルに変更を加えた後、それを保存し、DHCPサーバーを再起動して変更を適用します。再起動するには、次のコマンドを入力します。
systemctl restart isc-dhcp-server
クライアント側の構成
クライアントマシンでは、IPv4設定で自動(DHCP)方式が設定されていることを確認し、すでに接続している場合は接続を再開する必要があります。これを行うには、次の手順に従います。画面の右上隅にあるネットワーク接続アイコンを押し、[ネットワークを有効にする]がオンになっていることを確認し、接続している場合は現在のネットワークから切断し、下のスクリーンショットに示すように接続の編集を押します。
[接続の編集]ウィンドウが開いたら、接続を選択して編集を押します。
開いたウィンドウで[IPv4設定]タブを選択し、デフォルトの方法として[自動(DHCP)]を選択して、[保存]ボタンを押します。
開いているすべてのウィンドウを閉じ、ネットワーク接続アイコンをもう一度押し、接続名を押してネットワークに接続します。
これらの手順がすべて完了すると、クライアントマシンはDHCPサーバーからIPアドレスを取得します。ただし、切断/接続だけでは変更が行われない場合があります。その場合は、ネットワークサービスを再起動して変更を適用し、isc-dhcp-serverを権限のあるものとして設定しているため、新しいDHCPサーバーからIPアドレスを受け取ることができます。したがって、サブネットのデフォルトのDHCPサーバーになります。 Ubuntu 18マシンのコマンドラインでネットワークサービスを再起動するには、次のいずれかのコマンドを実行できます。
sudo systemctl restart NetworkManager.service
または
sudo service network-manager restart
ネットワークサービスの再起動後、ifconfig
でネットワーク構成を確認した場合 またはipコマンドを実行すると、次のような出力が表示されます。
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.220/24 brd 192.168.0.255 scope global dynamic eth0
valid_lft 73924sec preferred_lft 73924sec
inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 598sec preferred_lft 298sec
inet6 fe80::f03c:91ff:fe62:5d78/64 scope link
valid_lft forever preferred_lft forever
この正確な出力は、固定IPアドレスを受信するように構成したクライアントマシンからのものです。出力からわかるように、/etc/dhcp/dhcpd.conf
で設定した192.168.0.220IPアドレスを受信しました dhcpサーバー上のファイル。
また読む
- Ubuntu18.04で静的IPアドレスを構成する方法
- netctl-ArchLinuxでのWi-Fiと静的IPのセットアップ
- LinuxでIPコマンドを使用する方法と例
このチュートリアルを参照すると、DHCPサーバーのインストールと構成に数分以上かかることはありません。 DHCPサーバーネットワーク管理者を設定すると、クライアントのマシンを1台ずつ構成するために費やす時間を大幅に節約できます。