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 身份运行,则可以将其保留。事实上,也许你应该尝试一下,如果没有错误,那么你就赢了!

相关内容