CentOS 上未安裝 eth0

CentOS 上未安裝 eth0

我該如何安裝乙太網路0在 CentOS 上?當我做ifconfig -a乙太網路0不在這裡。這是輸出ip link

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/void

答案1

網路介面在Linux 上可以有不同的名稱,取決於其類型(有線乙太網路、Wi-Fi、PPP、SLIP 等)、PCI 插槽、初始化順序等。將為是乙太網路0*

在你的情況下,有一個虛擬的沒有乙太網路卡的私人伺服器,甚至不是模擬的。儘管如此,你還是有一張名為維內特0。您可以將其重命名為:

ip link set venet0 name eth0

如果介面正在使用,該命令將失敗,因此您可能需要將其關閉 ( ip link set venet0 down),但這可能會中斷您與伺服器的連線。

如果你願意接受風險,您可以在背景執行一個腳本來關閉介面,重新命名它,然後將其開啟。首先取得設定維內特0和路由表:

[root@server ~]# ip addr show dev venet0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
    inet X.Y.Z.T/32 brd X.Y.Z.T scope global venet0:0
[root@server ~]# ip ro
192.0.2.0/24 dev venet0  scope host
169.254.0.0/16 dev venet0  scope link  metric 1002
default dev venet0  scope link

rename-to-eth0.sh然後建立一個與此類似的 腳本 ( ):

#!/bin/sh
### Rename
ip link set venet0 down        # Bring interface down
ip link set venet0 name eth0   # Rename interface    
ip link set eth0 up            # Bring interface up
### Restore
# Restore interface settings. Adapt accordingly!!!
ip addr add 127.0.0.1/32 scope host dev eth0
ip addr add X.Y.Z.T/32 brd X.Y.Z.T scope global label eth0:0 dev eth0
# Restore routing table. Adapt accordingly!!!
ip ro add 192.0.2.0/24 dev venet0 scope host
ip ro add 169.254.0.0/16 dev venet0 scope link metric 1002
ip ro add default dev eth0

現在運行腳本諾哈普nohup ./rename-to-eth0.sh或內部螢幕,多路復用器等等。

*事情將會改變“可預測的網路介面名稱”提案已實施,儘管這不適用於 CentOS6 或更早版本。請注意,根據此提案,整合乙太網路卡可能被命名為EM1

答案2

如果您對 eth0 的使用可以簡單地修改為在您要使用“eth0”的任何地方通過名稱“venet0”引用網絡接口,那麼您就可以這樣做。

但是,如果您必須使用名稱 eth0,則可以執行類似的操作

sudo ip link set dev venet0 alias eth0

“sudo”前綴允許您以“root”使用者身份執行命令。如果您已經以 root 身分執行,則可以將其保留。事實上,也許你應該嘗試一下,如果沒有錯誤,那麼你就贏了!

相關內容