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