Linux

來自非一 MAC 地址的 DHCPDISCOVER 請求

  • May 27, 2011

在 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 的某個地方。

引用自:https://serverfault.com/questions/242570