為了在 RHEL 7 上設定網絡,我建立了一個用於分組的 JSON 文件,然後執行以下命令:
ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d
我還為 VLAN 建立了 ifcfg 檔案並執行了以下命令:
systemctl restart network
之後,一切都或多或少按預期進行,但問題是這在重新啟動之間不會持續存在,所以我每次啟動後都必須執行此操作。
我該如何解決這個問題?我希望此命令僅執行一次,然後我希望此設定在重新啟動之間保留。
==================================================== = ========
我嘗試應用建議的修復,但出現了以下問題:
我已經創建了
ifcfg-team0
文件,內容是:DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
我應該刪除“設備”部分,然後更改為TEAMCONFIG='{"runner": { "name": "lacp"...
因為我已經有了DEVICE=team0
?還是提兩次就可以了?
我的
ifcfg-eno1
文件包含:HWADDR=... TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes IPV4_FAILURE_FATAL=no IPV6_INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno1 UUID=e656... ONBOOT=no
我真的應該刪除其中的幾乎所有內容嗎?特別是我真的應該刪除UUID
,NAME
部分並將此文件替換為文件建議的內容嗎? :
DEVICE=eth1
HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
或者我應該保留這兩個文件?只要舉個例子ifcfg-eno1
,然後ifcfg-eno1Team
執行此操作時:
systemctl start network.service
我收到這樣的錯誤:Failed to start LSB: Bring up/down networking. Unit network.service entered failed state.
答案1
/etc/sysconfig/network-scripts
首先,在名為的目錄中建立一個新文件ifcfg-team0
,如下所示:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'
顯然,您需要適當更改 IP 位址和網路遮罩。
然後在同一目錄中,將所有ifcfg-eno[1-4]
檔案變更為如下所示:
DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
如上所述,您的本機檔案會略有不同,因為您需要保留現有HWADDR
設定。
這是直接從手冊中取出。
該ifcfg-team0
文件是指lacp.conf
您已經建立的文件。但是,我在手冊中沒有看到它如何找到該文件。也許teamd
您從先前的手動配置中記住了它,或者您可能必須將其放在公共目錄中。
無論如何,一旦配置完畢,您說ifup team0
,並且分組的 NIC 群組將全部出現。個別介面需要在開始時關閉,但您不需要執行任何特殊操作來確保在啟動時關閉,因為它們現在被標記為 NIC 團隊的一部分。作業系統的引導配置將意識到它不應該單獨啟動這四個接口,而只能作為 NIC 團隊的一部分啟動。
以上所有內容均假設您已停用網路管理器回到在 Red Hat 類型的 Linux 上設定網路的好舊方法:
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service
對於伺服器來說,這通常是一個好主意,特別是當它們的網路配置開始變得棘手時,例如 LACP。 NetworkManager 解決了很多問題,但它通常以桌面為中心,這對於伺服器來說是不合適的。例如,它解決了筆記型電腦常見的自動 WiFi 到乙太網路轉換問題。伺服器通常具有靜態網路配置,因此 NetworkManager 最終可能會成為障礙。
不過,如果您發現自己想堅持使用紅色帽子的默認設置,他們確實涵蓋了這種替代方案手冊前面的幾個部分。