DHCPによるインターネット接続

DHCPISPからリースされたIPアドレスのプールからアドレスを各クライアントに配布するが、ここでは配布されるIPアドレスのプールを固定として行う。

まずはルーターそのものをDHCPクライアント(ISPから受け取ったアドレスの配分を行う機器)として設定していく。 以下がトポロジ図。

f:id:Pyons:20200306111350p:plain

以下がルーターのコマンド

Router(config)#ip dhcp excluded-address 172.16.10.254 // 自分のインターフェースアドレスまで配らないように除外
Router(config)#ip dhcp pool LANUser
Router(dhcp-config)#network 172.16.10.0 255.255.255.0 // IPアドレスのプールを作成
Router(dhcp-config)#default-router 172.16.10.254 // 自分のインターフェースをデフォルトゲートウェイに指定
Router(config)#int g0/0/0
Router(config-if)#ip address 172.16.10.1 255.255.255.0 //自分のインターフェースにデフォルトゲートウェイ用IPアドレスを設定
Router(config-if)#no shut
%LINK-5-CHANGED: Interface GigabitEthernet0/0/0, changed state to up

各ホストはDHCPIPアドレスを受け取ることが出来るようになる。 IPアドレスは原則下から順番に割り振られる。ホストconflict1はstatic IPを設定し、172.16.10.3のIPアドレスを設定した。この状態で、ホストconflict2をDHCPによるアドレス受信にすると、ルータ側で

Branch#%DHCPD-4-PING_CONFLICT: DHCP address conflict:  server pinged 172.16.10.3.

というエラーが発生する。このエラーは

show ip dhcp conflic

というコマンドでも確認することが出来る。 また以下のコマンドも試せる。

Branch#show ip dhcp binding 
IP address       Client-ID/              Lease expiration        Type
                 Hardware address
172.16.10.1      0090.2117.5C85           --                     Automatic
172.16.10.2      0060.2F89.C616           --                     Automatic
172.16.10.4      00E0.B052.C4E9           --                     Automatic
Branch#show ip dhcp pool

Pool LANUser :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0 
 Total addresses                : 254
 Leased addresses               : 3
 Excluded addresses             : 1
 Pending event                  : none

 1 subnet is currently in the pool
 Current index        IP address range                    Leased/Excluded/Total
 172.16.10.1          172.16.10.1      - 172.16.10.254     3    / 1     / 254

ここで、DHCPリレーエージェントという機能を用いて、DHCPサーバーをルーターの外の別のネットワークに設定してみる。

トポロジがこちら

f:id:Pyons:20200306113658p:plain

まず、ルータのDHCPサービスを停止させる必要がある。

(config)# service dhcp

続いてdhcpサーバー(172.16.20.1)に対してDHCPプールを設定する。こんな感じ f:id:Pyons:20200306114545p:plain

最後にルータのローカルエリア側のインターフェースとDHCPサーバー側のインターフェースを設定する。

interface GigabitEthernet0/0/0
 ip address 172.16.10.254 255.255.255.0
 ip helper-address 172.16.20.1
 duplex auto
 speed auto
!
interface GigabitEthernet0/0/1
 ip address 172.16.20.254 255.255.255.0
 duplex auto
 speed auto
!

ip helper-addressがDHCPリレーエージェントの機能を有効にしている。

すると各ホストではDHCPが機能するとともに、172.16.20.1がDHCPサーバーとして認識される。

C:\>ipconfig /all

FastEthernet0 Connection:(default port)

   Connection-specific DNS Suffix..: 
   Physical Address................: 0060.2F89.C616
   Link-local IPv6 Address.........: FE80::260:2FFF:FE89:C616
   IP Address......................: 172.16.10.5
   Subnet Mask.....................: 255.255.255.0
   Default Gateway.................: 172.16.10.254
   DNS Servers.....................: 0.0.0.0
   DHCP Servers....................: 172.16.20.1
   DHCPv6 Client DUID..............: 00-01-00-01-05-36-78-29-00-60-2F-89-C6-16