我有一個由我管理的非託管專用伺服器,運行 CentOS。最近,當我重新啟動伺服器時,我無法使用 SSH。兩次發生這種情況時,伺服器主機都確定了問題並如下解釋:
「請現在檢查- 我不知道如何以及為什麼,但是eth0 和eth1 在啟動時都處於活動狀態(應該只有一個)。我已經修復了這個問題並重新啟動了伺服器,該伺服器完全恢復了網路連線。如果您有任何可能進行此更改的應用程序,也請停用相同的功能。
因此,為了讓我自己檢查這一點,我想知道到哪裡才能看到他在那裡描述的設定?這樣我就可以自己配置它並嘗試確定是否有任何程式正在改變它。
注意:我一直在使用“reboot”命令,這可能會重置 ONBOOT 狀態嗎?
答案1
cd
進入/etc/sysconfig/network-scripts
。在那裡,您會發現ifcfg-eth0
和ifcfg-eth1
。編輯它們,並將該ONBOOT
行的值分別設為yes
和no
。 (反之亦然,如果eth1
您願意在啟動時出現。)
如果你必須阻止內核試圖觸摸乙太網路硬件,您可以敲出eth1
線路/etc/modprobe.conf
。像這樣的東西:
#alias eth1 e1000
該e1000
位將是驅動程式名稱;它根據機器中的硬體而變化。你會發現該行#
開頭沒有;添加它。
更好的解決方案,如果簡單的話接觸該硬體是一個問題,需要在硬體/虛擬機器層級完全刪除對其的存取。如果它是虛擬機,您可以將其從虛擬機配置中刪除。如果它是真正的硬件,您可以在機器的韌體中停用第二個乙太網路介面。 (BIOS、EFI...)
答案2
在 Listen 行的 /etc/ssh/sshd_config 中將 0.0.0.0 替換為您的 eth0 IP 位址將阻止 eth1 被 ssh 使用。