eth0 не установлен на CentOS

eth0 не установлен на CentOS

Как мне установитьeth0на CentOS? Когда я это сделаю ifconfig -a,eth0там нет. Вот вывод 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 в зависимости от их типа (проводной Ethernet, Wi-Fi, PPP, SLIP и т. д.), слота PCI, порядка инициализации и т. д. Например, если в компьютере есть одна карта Ethernet, ее имя будетeth0* .

В вашем случае естьвиртуальныйчастный сервер без сетевой карты Ethernet в нем, даже не эмулированной. Тем не менее у вас есть сетевая карта с именемвене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или внутриэкран,tmuxи т. д. Если это не удастся, вам, вероятно, придется перезапустить сервер.

* Все изменится, как только«Предсказуемые имена сетевых интерфейсов»Предложение реализовано, хотя это не относится к CentOS6 или более ранним версиям. Обратите внимание, что согласно этому предложению интегрированная карта Ethernet может быть названаэм1.

решение2

Если использование вами eth0 можно просто изменить так, чтобы ссылаться на сетевой интерфейс по имени «venet0» везде, где вы используете «eth0», то вы можете это просто сделать.

Однако, если вам необходимо имя eth0, вы можете сделать что-то вроде

sudo ip link set dev venet0 alias eth0

Префикс "sudo" позволяет вам выполнять команды как пользователь "root". Если вы уже работаете как root, вы можете оставить это. На самом деле, вероятно, вам стоит попробовать это без него, и если не будет ошибок, то вы победили!

Связанный контент