Centos
如何配置網路知道 MAC 但不知道設備名稱?
背景:
我打算使用 Kickstart 來自動化 CentOS 7 的部署/配置。
我正在嘗試生成一個適當的 Kickstart 文件來為作業系統預配置網路,使用來自作業系統範例安裝的基本配置文件作為參考點。
我不清楚網路介面名稱是如何構造的,這會造成問題;我需要知道介面名稱是/將在部署時使用,以便配置網路設置,例如 IP 地址/網關/子網遮罩等。
但是,我確實可以訪問將部署作業系統的主機上每個網卡的 MAC 地址資訊。
問題:
我是否有足夠的資訊來預測網路介面名稱和/或我應該考慮另一種方法?
好的,所以如果我正確地解釋了您的問題,那麼您需要考慮一些事情。
首先:您似乎對 CentOS 7 中引入的新網路介面命名命名法感到困惑。理論上,這個命名法實際上比以前的命名法更可預測(只是不太直覺/可讀性)。
命名工作如下(來自Red Hat 文件):
Two character prefixes based on the type of interface: en -- ethernet sl -- serial line IP (slip) wl -- wlan ww -- wwan Type of names: b<number> -- BCMA bus core number ccw<name> -- CCW bus group name o<index> -- on-board device index number s<slot>[f<function>][d<dev_port>] -- hotplug slot index number x<MAC> -- MAC address [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>] -- PCI geographical location [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][i<interface>] -- USB port number chain
因此,您實際上應該能夠根據板的知識預測介面名稱(或者更基本的 - 如果您每次都使用相同的板,您只需部署一次並查看介面在問題被命名為並使用它。
其次,如果您願意,您實際上可以禁用這個新的命名法,這實際上是之前在 SF 的上下文中已經涵蓋的內容:
您可以使用 kickstart 文件中的引導載入程序部分來抑制可預測的網路介面名稱。
添加 net.ifnames=0 和
$$ if needed $$biosdevname=0 到 –append 應該可以滿足您的要求。
bootloader --location=mbr --append="net.ifnames=0 biosdevname=0"
然而,這當然只是一種解決方法——這可能是一個很好的機會,可以利用這個提示來熟悉新的命名法及其工作原理。