來自非一 MAC 地址的 DHCPDISCOVER 請求
在 Linux DHCP 伺服器中,我得到了一堆這些日誌行:
dhcpd: DHCPDISCOVER from 00:30:48:fe:5c:9c via eth1: network 192.168.2.0/24: no free leases
我沒有任何具有 00:30:48:fe:5c:9c 的機器,並且我不打算將 IP 分配給 00:30:48:fe:5c:9c (無論可能是什麼)。
我追踪了這來自的伺服器並殺死了所有正在執行但 DHCPDISCOVER 請求沒有停止的 DHCP 客戶端。
我可以通過拉動乙太網電纜證明這是發送伺服器 - 請求停止。
奇怪的是,發送伺服器只有兩個介面,它們是:
- 00:30:48:fe:5c:9a
- 00:30:48:fe:5c:9b
異位地址的原因可能是什麼?誰可以發送請求?
細節
我的 DHCP 客戶端是 Debian 6.0 (Squeeze) 中的預設客戶端http://packages.debian.org/squeeze/isc-dhcp-client
在 DHCP 客戶端主機上:
root@n34:~# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 100 link/ether 00:30:48:fe:5c:9a brd ff:ff:ff:ff:ff:ff 3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether 00:30:48:fe:5c:9b brd ff:ff:ff:ff:ff:ff 4: ib0: <BROADCAST,MULTICAST> mtu 2044 qdisc noop state DOWN qlen 256 link/infiniband 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:08:81:9f brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff 5: ib1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 2044 qdisc pfifo_fast state UP qlen 256 link/infiniband 80:00:00:49:fe:80:00:00:00:00:00:00:00:02:c9:03:00:08:81:a0 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
在 DHCP 客戶端主機上(與上面相同的資訊):
root@n34:~# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:30:48:fe:5c:9a inet addr:192.168.2.234 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::230:48ff:fefe:5c9a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:72544 errors:0 dropped:0 overruns:0 frame:0 TX packets:152773 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4908592 (4.6 MiB) TX bytes:89815782 (85.6 MiB) Memory:dfd60000-dfd80000 eth1 Link encap:Ethernet HWaddr 00:30:48:fe:5c:9b UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Memory:dfde0000-dfe00000 ib0 Link encap:UNSPEC HWaddr 80-00-00-48-FE-80-00-00-00-00-00-00-00-00-00-00 BROADCAST MULTICAST MTU:2044 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:256 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ib1 Link encap:UNSPEC HWaddr 80-00-00-49-FE-80-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.3.234 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::202:c903:8:81a0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:2044 Metric:1 RX packets:1330 errors:0 dropped:0 overruns:0 frame:0 TX packets:255 errors:0 dropped:5 overruns:0 carrier:0 collisions:0 txqueuelen:256 RX bytes:716415 (699.6 KiB) TX bytes:17584 (17.1 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)
節點使用Perseus進行映像,後者使用 kexec 而不是重新啟動。
首先想到的是 Supermicro IPMI 介面(MAC 地址製造商顯示為 Supermicro)。預設情況下,IPMI 卡嘗試提取 DHCP 地址。在較新的板上,IPMI 介面是內置的,通常共享一個乙太網埠。但是有自己的MAC地址。
Supermicro 主機板或超級伺服器型號是什麼?
檢查介面的 BIOS 資訊,而不僅僅是從作業系統中輕鬆獲取的資訊。
伺服器網卡內置 iSCSI(或 FCoE)支持變得越來越普遍。當他們這樣做時,它是通過共享乙太網卡,但具有不同的 MAC 地址。並且不同的MAC地址會減一。您可以通過阻止載入儲存驅動程序(或以某種方式配置該儲存驅動程序)來停止 DHCP 請求。它看起來像某種 SCSI 或 FC 驅動程序。如果是這樣,那麼額外的 DHCP 請求是無害的。
它也有可能是共享同一埠的管理(熄燈)介面。這可能也會出現在 BIOS 的某個地方。