ox0xo infosec tutorial

DHCPの概要

2018-08-21
 

DHCPの観測

前置き

ネットワークの規模が大きくなるとホストを1台ずつ管理することは困難になります。 物理的・論理的にネットワークのセグメントを区切り、ホストをグループで管理することが推奨されています。 そこで主にホストのIPアドレスを管理するためにDHCPを使います。

DHCPの主な機能

  • クライアントからのIPアドレス割当て要求を受け取る
  • 定義したIPアドレスプールの中から使用されていないIPアドレスを貸し出す
  • 現在貸し出しているIPアドレスとMACアドレスの対応表を管理する
  • 時期が来たらIPアドレスを回収する
  • IPアドレス以外のネットワーク設定を配布することもできる

DHCPサーバのネットワーク設計

ブロードキャストドメインにDHCPサーバが複数存在しないように注意してください。

DHCPサーバの設定ファイル

172.16.0.0 /24のネットワークを管理するDHCPサーバです。 172.16.0.20~172.16.0.30のIPアドレスをプールしています。 オプションとしてデフォルトルートとDNSサーバのIPアドレスも配布する設定になっています。

設定ファイル /etc/dhcp/dhcpd.conf を編集する
# vi /etc/dhcp/dhcpd.conf
設定ファイルの内容(#で始まる行はコメントとして無視される)
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

subnet 172.16.0.0 netmask 255.255.255.0 {
        range  172.16.0.20 172.16.0.30;
        option routers 172.16.0.1;
        option domain-name-servers 172.16.0.100;
}

クライアント側の設定

enp0s8の固定IPを消去("")して自動設定(auto)モードに変更する
# nmcli connection modify enp0s8 ipv4.method auto ipv4.addresses ""
# nmcli connection down enp0s8
# nmcli connection up enp0s8

パケットの観測

DHCPプロトコルはUDPデータグラムを使っています。

  1. DHCP Discover

クライアント08:00:27:c1:85:c3からブロードキャストアドレスff:ff:ff:ff:ff:ff:ff:ffにDHCPサーバを探索するDHCP Discoverが送信されます。

  1. DHCP Offer

DHCPサーバ08:00:27:bb:9f:9eからクライアント08:00:27:c1:85:c3172.16.0.27の使用を促すDHCP Offerが送信されます。

  1. DHCP Request

クライアントからDHCPサーバに対して172.16.0.27を要求するDHCP Requestが送信されます。 この時点ではまだクライアントはIPアドレスを持たないためSource IPは0.0.0.0です。

  1. DHCP ACK

DHCPサーバがクライアントに172.16.0.27の使用を認めるDHCP ACKが送信されます。 これを受け取ったクライアントは自身のIPを172.16.0.27だと認識します。


Content