雙網卡主機板MAC地址
這是一個奇怪的問題。
我們有許多帶有雙網卡主機板的設備。有些是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連結的樣子。
只有一個網卡實際連接(故意)。
如您所見,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 情況。