Ubuntu18.04LTS Server でMACアドレスベースのDHCP固定割当てが上手く作動しない場合の対処法


はじめに

これまで Ubuntu14.04LTS Server を使用していたサーバPCにUbuntu18.04LTS Server をインストールしたら、MACアドレスベースのDHCP固定IPアドレス割当てが上手く作動しなくなった。

使用しているルータは AtermWG300HP で、MACアドレスに基づいてDHCPで指定したIPアドレス割り振る、いわゆるDHCP固定割当てを使用している。Ubuntu18.04 では DHCP要求時にクライアントIDを送付する模様で、これが原因でルータ側でMACアドレスを認識できないみたい。

こちらのサイト https://netplan.io/examples にある、「Windows DHCP Server 」の項を参考に、ネットワークインタフェースを設定することで解決。

解決手順

ネットワークインタフェースの実名

$ ip a
$ ifconfig 

などでネットワークインタフェースの実名を確認(これは機種毎に違うので都度確認が必要)。私の場合は enp2s0 なので、以下この値を指定します。

現在のクライアントIDを確認する

$ sudo netplan ip leases  enp2s0
# This is private data. Do not parse.
ADDRESS=192.168.10.2
NETMASK=255.255.255.0
ROUTER=192.168.10.1
SERVER_ADDRESS=192.168.10.1
T1=43200
T2=75600
LIFETIME=86400
DNS=192.168.10.1
CLIENTID=ff5de26c1500020000ab110604134a62bb6d20

上記の CLIENTID の値が変更されるようにする。

インタフェースの設定を変更する

$ sudo vim /etc/netplan/01-netcfg.yaml
----------------------------------------
  1 # This file describes the network interfaces available on your system
  2 # For more information, see netplan(5).
  3 network:
  4   version: 2
  5   renderer: networkd
  6   ethernets:
  7     ens33:
  8       dhcp4: yes
* 9       dhcp-identifier: mac

上記の9行目のように変更する。

クライアントIDの変更を確認する

$ sudo netplan apply
$ sudo netplan ip leases enp2s0
# This is private data. Do not parse.
ADDRESS=192.168.10.31
NETMASK=255.255.255.0
ROUTER=192.168.10.1
SERVER_ADDRESS=192.168.10.1
T1=4294966
T2=4294966
LIFETIME=4294967295
DNS=192.168.10.1
CLIENTID=01xxxxxxxxxxxx

CLIENTIDが変わっている(上記では xxx... で修正しています)。
私の場合は、これで解決しました。