Networking

CentOS7 網橋在啟動時失敗,直到拔下電纜並重新插入

  • April 1, 2017

我嘗試設置的全新 CentOS 7 伺服器有問題。我已經按照 redhat 文件網站上的說明設置了一個網橋,並且在我重新啟動之前一切正常。重新啟動後它不起作用,我需要拔下電纜然後重新插入,大約 15 秒後一切正常。如果有幫助,它被插入一個簡單的 5 埠交換機,我嘗試在兩個配置文件中設置 STP=no 無濟於事。

這是我的消息日誌

$$ messages $$$$ 2 $$這表明網路介面無法啟動。 我的 br0 配置文件:

DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.1
PREFIX=24
BOOTPROTO=none
ONBOOT=yes
DELAY=0

我的網路介面配置(enp0s25)

DEVICE=ethX
TYPE=Ethernet
HWADDR=d0:50:**:**:**:**
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

我在 CentOS7 論壇上問過這個問題,但運氣不佳。非常感謝任何幫助或指導。

我找到了一種解決方法,雖然並不理想,但它確實有效。基本上在系統啟動後執行一個腳本,使網路介面關閉,然後再次備份。

這是腳本:

#!/bin/bash
ifdown enp0s25
sleep 3
ifup enp0s25

然後我創建了一個 systemd 服務和一個計時器來完成其餘的工作,我使用一個計時器在系統啟動 45 秒後執行該服務。我認為我可以減少到 25 秒,但啟動時間對我來說並不重要,我想等待界面自然啟動,大約需要 15 秒。

該服務稱為 internet.service:

[Unit]
Description=Actually enable the Network Interfaces
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
User=root
ExecStart=-/bin/bash /media/data1/MyScripts/network.sh

[Install]
WantedBy=multi-user.target

計時器,稱為 internet.timer:

[Unit]
Description=Runs the script on boot

[Timer]
#Time to wait after boot before activating
OnBootSec=45
Unit=internet.service

[Install]
WantedBy=multi-user.target

然後所有需要做的就是設置要啟用的計時器 systemctl enable internet.timer

然後,當我的系統在 45 秒後啟動時,我會br0: port(enp0s25) entered forwarding state在控制台上收到一條很好的消息,讓我知道一切正常。

正如我最初所說,這不是一個理想的解決方案,但它有效

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