「ホストアダプタのみ」を使用する仮想マシンがあります。 VirtualBoxの内蔵DHCPサーバーを無効にしました。isc-dhcp-server
ハイパーバイザーにインストールしました。その後、サブネットを追加しました。
subnet 10.10.54.0 netmask 255.255.255.0 {
range 10.10.54.2 10.10.54.254;
option routers 10.10.54.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}
そして、仮想マシンの固定アドレスを追加しました。
host 10-10-54-11 {
hardware ethernet 08:00:27:de:7e:cc;
fixed-address 10.10.54.11;
}
私の仮想マシンにはMACアドレスがあります08:00:27:de:7e:cc
。次のコマンドを使用して、仮想マシンからDHCP要求を送信しようとしますnmap --script broadcast-dhcp-discover
。ただし、DHCPd が VM に IP アドレスを提供するよう要求された場合、DHCPd はまったく異なる MAC アドレスを表示し、固定アドレスを送信しません。
root@hypervisor:/etc/dhcp# systemctl status isc-dhcp-server
● isc-dhcp-server.service - ISC DHCP IPv4 server
Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-11-13 12:28:09 +05; 9min ago
Docs: man:dhcpd(8)
Main PID: 12274 (dhcpd)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/isc-dhcp-server.service
└─12274 dhcpd -user dhcpd -group dhcpd -f -4 -pf /run/dhcp-server/dhcpd.pid -cf /etc/dhcp/dhcpd.conf
Nov 13 12:28:09 hypervisor dhcpd[12274]: you want, please write a subnet declaration
Nov 13 12:28:09 hypervisor dhcpd[12274]: in your dhcpd.conf file for the network segment
Nov 13 12:28:09 hypervisor dhcpd[12274]: to which interface eth0 is attached. **
Nov 13 12:28:09 hypervisor dhcpd[12274]:
Nov 13 12:28:09 hypervisor dhcpd[12274]: Sending on Socket/fallback/fallback-net
Nov 13 12:28:09 hypervisor dhcpd[12274]: Server starting service.
Nov 13 12:28:14 hypervisor dhcpd[12274]: DHCPDISCOVER from de:ad:c0:de:ca:fe via vboxnet4
Nov 13 12:28:15 hypervisor dhcpd[12274]: DHCPOFFER on 10.10.54.3 to de:ad:c0:de:ca:fe via vboxnet4
Nov 13 12:32:39 hypervisor dhcpd[12274]: DHCPDISCOVER from de:ad:c0:de:ca:fe via vboxnet4
Nov 13 12:32:40 hypervisor dhcpd[12274]: DHCPOFFER on 10.10.54.3 to de:ad:c0:de:ca:fe via vboxnet4
これはバグですか?この問題を解決するには?
答え1
コメントから:
netplan設定でdhcp4:trueを設定し、VMを再起動して固定アドレスを受け取りました。 nmap は任意の MAC アドレスを DHCP サーバーに送信することもできます。
それだけですが、完全にランダムではありません。スクリプトの始めから/usr/share/nmap/scripts/broadcast-dhcp-discover.nse
:
description = [[
Sends a DHCP request to the broadcast address (255.255.255.255) and reports
the results. By default, the script uses a static MAC address
(DE:AD:CO:DE:CA:FE) in order to prevent IP pool exhaustion.
[...]
DHCP要求のMACアドレスは記録されたアドレスとまったく同じです。
DHCPDISCOVER from de:ad:c0:de:ca:fe via vboxnet4
MACアドレスが実際に「Dead Code Cafe」と書かれていることに気づいたはずです。この興味深い16進パターンは、さまざまな診断/識別目的で一般的です。クラシックIBMメモリ充填モード0xDEADBEEFまたはJavaクラスファイルを識別するマジックナンバー0xCAFEBABE。
これらの「意味のある」MACアドレスを使用すると、DHCPサーバーログを読んでいる人は、クエリが通常のDHCPクライアント(nmap
この場合はスクリプト)からのものではないと推測できます。