設定 CentOS 7 開機時自動執行重啟網卡指令

我用hyper-v裝的CentOS每次開機或重新開機都沒網路,也不曉得其他Linux會不會也這樣
雖然些先前文章中「遇到CentOS 7 在Hyper-V虛擬機中,沒有自動取得IP的修復方法
知道重啟網卡就好,只是每次都要開虛擬機覺得太麻煩

不如讓系統自己開機時就重新下ifdown ifup 來重新啟動網卡


以下都是以root身份來操作

去 /var/log 資料夾
下指令看messages這個記錄檔

grep -n 'eth0' messages

第1049行可以看到每次開機時,網卡eth0 總是disconnected

要讓Linux開機時執行自訂的腳本和指令都是放在 /etc/rc.d/rc.local 這個檔案裡
而現在最新版的CentOS設定是放在 /etc/systemd/system

要讓開機時,系統程式systemd會執行/etc/rc.d/rc.local裡面寫的腳本和指令,需要做以下設定
確定systemd的rc-local.service中的檔案位置為/etc/rc.d/rc.local

systemctl status rc-local.service

但是rc.local檔預設是不可執行,所以rc-local.service這個服務並不會啟動

移動到/etc/rc.d/資料夾
設定rc.local檔案為可執行

chmod +x rc.local

修改rc.local內容,寫入讓eth0網卡重新啟動的指令

讓systemd設定檔重新載入

systemctl daemon-reload

檢查systemd啟動時要執行的服務有沒有顯示rc-local.service

systemctl list-dependencies multi-user.target | grep rc-local


重開機後,遠端連線成功
看一下message記錄檔

grep -n 'eth0\|rc.local' messages

成功,灑花

Facebook留言板