1 min read
VMのMACとDHCPのMACが違う(解決)
環境
- ホスト: ESXi 6.0u3
- ゲスト: Debian 10 (buster)
- DHCP Server: RTX1200
解決策
$ diff /etc/dhcp/dhclient.conf.bak /etc/dhcp/dhclient.conf
21a22
> send dhcp-client-identifier = hardware;
これでRTX1200のDHCP鯖で違うMACの認識にならない。(RFC2131準拠になるらしい)
IP固定する場合、RTX1200側では
dhcp scope bind 1 10.0.0.150 00:0c:29:7a:a6:23
と設定していたのを
dhcp scope bind 1 10.0.0.150 ethernet 00:0c:29:7a:a6:23
とする。(ethernetが必要)
しかしこれでもservice networking restart
やreboot
でちゃんとIPが割り当てられないことがある。
一旦RTX1200側で予約以外にIPを発行しないように制限する。
dhcp scope lease type 1 bind-only
1はDHCPのスコープID
VMでservice networking restart
またはreboot
そしたら正常に取得される。
以降bind-only
の設定を削除してもちゃんと取得されるので、先頭にno
をつけて設定を削除してOK。
busterにしたらDockerが死んだ
$ diff docker.service docker.service.bak
14c14
< ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -s overlay2
---
> ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
参考
- Ubuntu desktop 12.04のdhclientのバグ?: エンジニア徒然草
- DebianインストーラとDebianでDHCPクライアントの挙動が違う - Humanity
- WindowsとLinuxが混在したネットワークでRTX810のDHCPサーバ機能を使う際の注意点 - Humanity
以下問題提起
なんで?
例1
- ゲストのDebianのMAC:
00:0c:29:e0:97:a7
(ESXi上でもこう認識されている)- DHCPで認識されたMAC:
29:e0:97:a7:00:01
例2
- ゲストのDebianのMAC:
00:0c:29:7a:a6:23
(ESXi上でもこう認識されている)- DHCPで認識されたMAC:
29:7a:a6:23:00:01
規則性
先頭の
00:0c
が切られて最後に00:01
が追加されたMACがDHCPで認識されているということはわかる。dhclient
sudo dhclient -r ens192 && sudo dhclient ens192
をすればDHCP鯖で正しいMACで認識される。
しかしこれは永続的なものではなく、リース期間が終わって再取得されると元に戻るし、再起動しても元に戻る。結局どうすればいいの
Debian9まではこんなことなかった。
10(buster)をクリーンインストールしても9からアップグレードしても同じ現象が起こる。
おしえて