DHCPリレーエージェントの設定方法(Ciscoルーター/L3スイッチ)

DHCPリレーエージェントの設定方法(Ciscoルーター/L3スイッチ)

CiscoCML上のCiscoルーターを利用して、DHCPサーバーの設定を行います。DHCPサーバーは、Ubuntuを利用して構築します。

DHCPの基礎については、下記を参照してください。

目次

ネットワーク構成

下記のネットワークを利用して、CiscoルーターをDHCPリレーエージェントとして設定していきます。

ネットワーク構成図

DHCPサーバーの構築

まずは、UbuntuをDHCPサーバーとして構築します。

isc-dhcp-serverのインストール

DHCPサーバーを構築するためのソフトウェアである、「isc-dhcp-server」をUbuntuにインストールします。

Ubuntu
sudo apt install -y isc-dhcp-server
cisco@ubuntu:~$ sudo apt install -y isc-dhcp-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libirs-export161 libisccfg-export163
Suggested packages:
  isc-dhcp-server-ldap policycoreutils
The following NEW packages will be installed:
  isc-dhcp-server libirs-export161 libisccfg-export163
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 518 kB of archives.
After this operation, 1863 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libisccfg-export163 amd64 1:9.11.16+dfsg-3~ubuntu1 [45.9 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libirs-export161 amd64 1:9.11.16+dfsg-3~ubuntu1 [18.6 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 isc-dhcp-server amd64 4.4.1-2.1ubuntu5 [453 kB]
Progress: [ 92%] [#####################################################.....] g packages ...
cisco@ubuntu:~$

設定ファイルの編集

DHCPサーバーの設定ファイル「dhcpd.conf」を編集します。

Ubuntu
cd /etc/dhcp
sudo vi dhcpd.conf

下記を追記します

subnet 192.168.1.0 netmask 255.255.255.0 {	
	not authoritative;
}

shared-network CML-LAN {
  subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.1 192.168.2.253;
    option routers 192.168.2.254;
    option domain-name-servers 192.168.1.1;
  }    
}

subnet 192.168.1.0 netmask 255.255.255.0 {
→ DHCPサーバー自身のネットワークアドレスとサブネットマスクを指定します。※DHCPサーバーが所属するセグメントにDHCPクライアントがいない場合も、この記述が無いと設定としてNGとなります。

not authoritative;
→ このネットワークにはDHCPでの割り当てを行わないための記述です。

shared-network CML-LAN {
→ DHCPサーバーが直接所属していないネットワークに情報を配布する場合は、”shared-network”を記述します。※”CML-LAN”部分は任意の名前です。

subnet 192.168.2.0 netmask 255.255.255.0 {
→ ネットワークアドレスとサブネットマスクを指定します。

range 192.168.2.1 192.168.2.253;
→ DHCPクライアントに割り当てるIPアドレス範囲を指定します。

option routers 192.168.2.254;
→ DHCPクライアントに割り当てるデフォルトゲートウェイのIPアドレスを指定します。

option domain-name-servers 192.168.1.1;
→ DHCPクライアントに割り当てるDNSサーバーのIPアドレスを指定します。

isc-dhcp-serverの再起動

設定を反映させるためにisc-dhcp-serverを再起動します。

Ubuntu
sudo systemctl restart isc-dhcp-server

isc-dhcp-serverのステータスを確認します。

sudo systemctl status isc-dhcp-server
cisco@ubuntu:/etc/dhcp$ sudo systemctl status isc-dhcp-server
● isc-dhcp-server.service - ISC DHCP IPv4 server
     Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vend>
     Active: active (running) since Sun 2022-04-17 22:00:47 UTC; 4s ago
       Docs: man:dhcpd(8)
   Main PID: 13168 (dhcpd)
      Tasks: 4 (limit: 2344)
     Memory: 4.6M
     CGroup: /system.slice/isc-dhcp-server.service
             └─13168 dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/>

Apr 17 22:00:47 ubuntu sh[13168]: PID file: /run/dhcp-server/dhcpd.pid
Apr 17 22:00:47 ubuntu dhcpd[13168]: Wrote 0 leases to leases file.
Apr 17 22:00:47 ubuntu sh[13168]: Wrote 0 leases to leases file.
Apr 17 22:00:47 ubuntu dhcpd[13168]: Listening on LPF/ens2/52:54:00:1a:31:25/19>
Apr 17 22:00:47 ubuntu sh[13168]: Listening on LPF/ens2/52:54:00:1a:31:25/192.1>
Apr 17 22:00:47 ubuntu sh[13168]: Sending on   LPF/ens2/52:54:00:1a:31:25/192.1>
Apr 17 22:00:47 ubuntu dhcpd[13168]: Sending on   LPF/ens2/52:54:00:1a:31:25/19>
Apr 17 22:00:47 ubuntu dhcpd[13168]: Sending on   Socket/fallback/fallback-net
Apr 17 22:00:47 ubuntu sh[13168]: Sending on   Socket/fallback/fallback-net
Apr 17 22:00:47 ubuntu dhcpd[13168]: Server starting service.

Active: active (running) と表示されていれば、問題なくisc-dhcp-serverが起動しています。

DHCPリレーエージェントの設定

Router1に下記の設定を行います。

Router1
interface GigabitEthernet0/1
 ip helper-address 192.168.1.253

ip helper-address 192.168.1.253
→ DHCPサーバーのIPアドレスをしてします。

DHCPサーバーの動作確認

CML上のDesktopに関しては、デフォルトでDHCPが有効になっているため、Ubuntuの設定が完了した時点で、DHCPの通信が行われます。

DHCPサーバーのステータス確認

Ubuntu上で、ステータスを確認します。

Ubuntu
sudo systemctl status isc-dhcp-server
cisco@ubuntu:/etc/dhcp$ sudo systemctl status isc-dhcp-server
〜〜 省略 〜〜
Apr 17 22:08:18 ubuntu dhcpd[13168]: DHCPDISCOVER from 52:54:00:0f:2c:5a via 19>
Apr 17 22:08:19 ubuntu dhcpd[13168]: DHCPOFFER on 192.168.2.1 to 52:54:00:0f:2c>
Apr 17 22:08:19 ubuntu dhcpd[13168]: DHCPREQUEST for 192.168.2.1 (192.168.1.253>
Apr 17 22:08:19 ubuntu dhcpd[13168]: DHCPACK on 192.168.2.1 to 52:54:00:0f:2c:5>

DHCPクライアントとメッセージのやり取りを行い、192.168.2.1が割り当てられていることが確認できます。

cat /var/lib/dhcp/dhcpd.leases
cisco@ubuntu:/etc/dhcp$ cat /var/lib/dhcp/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.4.1

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;

server-duid "\000\001\000\001)\357J\217RT\000\0321%";

lease 192.168.2.1 {
  starts 0 2022/04/17 22:08:19;
  ends 0 2022/04/17 22:18:19;
  cltt 0 2022/04/17 22:08:19;
  binding state active;
  next binding state free;
  rewind binding state free;
  hardware ethernet 52:54:00:0f:2c:5a;
  uid "\001RT\000\017,Z";
  set vendor-class-identifier = "udhcp 1.32.1";
  client-hostname "localhost";
}

DHCPリース情報の情報が確認できます。

DHCPのメッセージのやり取りの詳細は下記ページを参照してください。

DHCPクライアントのステータス確認

Desktop上で、ネットワーク情報が割り当てられたことを確認します。

Desktop

IPアドレスが割り当てられたことを確認します。

ip address
Desktop:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 52:54:00:0f:2c:5a brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe0f:2c5a/64 scope link
       valid_lft forever preferred_lft forever

eth0に192.168.2.1が割り当てられたことが確認できます。

デフォルトゲートウェイが割り当てられたことを確認します。

ip route
Desktop:~$ ip route
default via 192.168.2.254 dev eth0  metric 202
192.168.2.0/24 dev eth0 scope link  src 192.168.2.1

デフォルトゲートウェイとして、192.168.2.254が割り当てられたことが確認できます。

DNSサーバーが割り当てられたことを確認します。

cat /etc/resolv.conf
Desktop:~$ cat /etc/resolv.conf
nameserver 192.168.1.1

DNSサーバーとして、192..168.1.1が割り当てられたことが確認できます。

以上で、DHCPリレーエージェントの設定(Ciscoルーター/L3スイッチ)の説明は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次