Dhcp

雙網卡主機板MAC地址

  • June 20, 2012

這是一個奇怪的問題。

我們有許多帶有雙網卡主機板的設備。有些是Realtek NIC,很爛。有些是英特爾 e1000,但不是。

我剛剛注意到在兩台機器上,一台是 Intel NIC,一台是 Realtek,當我將一台機器的 MAC 地址放入dhcpd.conf我們的 DHCP 伺服器上的文件中以使其通過 PXE 引導機器進入重建環境時,最初一切都很好。

伺服器獲得 DHCP 分配,然後 PXE 引導到 Ubuntu 預置環境。

在一台或兩台機器上,它達到了 Ubuntu 的 DHCP 網路配置,但失敗了。如果我打開一個busybox shell(在tty2安裝機器上)並執行ip link,我可以看到在另一個網卡上設置了UP標誌。

這裡有一些東西。

 host xeon16-ghz240-gb48-node1 {
       hardware ethernet BC:AE:C5:07:1F:18;
       filename "pxelinux.0";
       next-server 192.168.123.80;
 }

這就是裡面的dhcpd.conf

這就是邪惡機器上的ip連結的樣子。 ip連結輸出

只有一個網卡實際連接(故意)。

如您所見,dhcpd 配置中的 NIC 未標記為 UP,並且為 UP 的連結不是 DHCP 中的連結。

到目前為止,我已經在兩個品牌的雙網卡配置上看到了這一點。

有誰知道 1) 是什麼原因造成的,以及 b) 我們能做些什麼?

做任何事情總是有不止一種方法:)

解決方案 1

主機板各有一個?

ethtool -i eth0將支持 Realtek 卡的模組 ( ) 列入黑名單。

Ubuntu支持 module_name.blacklist=yes在啟動時將其列入黑名單,您應該能夠在 preseed 環境中更改 modprobe 選項,以便以後不會對其進行探測。


解決方案 2

讓我重新表述一下這個問題:

我們有帶有兩個 NIC 的主機板,無論插入哪個介面,我們都希望它們能夠始終如一地工作。我們不能總是確定將插入哪個介面(從作業系統的角度來看)。

設置綁定!使用主動-被動配置 ( mode=active-backup miimon=100),將兩個介面都作為從介面。這樣,無論插入哪個介面,它都將始終有效。


解決方案 3

主機板是否足夠一致,以至於 NIC 始終顯示在相同的 PCI ID 上?使用 udev 規則始終將特定 PCI 地址上的卡分配給 eth0,將另一個地址上的卡分配給 eth1。

請注意,您可以有兩個不同的 udev 規則將設備分配給 eth0 - 這允許您同時處理 Realtek 和 e1000 情況。

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