eth0 não instalado no CentOS

2

Como eu poderia instalar o eth0 no CentOS? Quando eu faço ifconfig -a , eth0 não está lá. Aqui está a saída de 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
    
por user68973 23.06.2014 / 21:38

2 respostas

7

As interfaces de rede podem ter nomes diferentes no Linux dependendo do tipo (Ethernet com fio, Wi-Fi, PPP, SLIP, etc.), slot PCI, ordem de inicialização etc. Por exemplo, se um computador tiver uma única placa Ethernet, seu nome seria eth0 * .

No seu caso, existe um servidor privado virtual sem uma placa de rede Ethernet, nem mesmo um emulado. No entanto, você tem uma placa de rede chamada venet0 . Você pode renomeá-lo com:

ip link set venet0 name eth0

Se a interface estiver em uso, o comando falhará, então talvez seja necessário desativá-la ( ip link set venet0 down ), mas isso provavelmente desconectará você do servidor.

Se você estiver disposto a assumir o risco , você pode executar em segundo plano um script que reduza a interface, renomeie-a e aumente. Primeiro, obtenha as configurações para venet0 e a tabela de roteamento:

[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

Em seguida, crie um script ( rename-to-eth0.sh ) semelhante a este:

#!/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

Agora, execute o script com nohup ou seja, nohup ./rename-to-eth0.sh ou dentro da tela , tmux , etc. Se falhar, você provavelmente terá que reiniciar o servidor.

* As coisas serão alteradas como "Nomes previsíveis de interface de rede" A proposta é implementada, embora isso não se aplique ao CentOS6 ou anterior. Observe que, de acordo com essa proposta, uma placa Ethernet integrada pode ser denominada em1 .

    
por 23.06.2014 / 22:15
2

Se o seu uso de eth0 pode simplesmente ser modificado para se referir à interface de rede pelo nome "venet0" onde quer que você usaria "eth0", então você pode fazer isso.

Se, no entanto, você tiver que ter o nome eth0, você pode fazer algo como

sudo ip link set dev venet0 alias eth0

O prefixo "sudo" permite que você execute comandos como usuário "root". Se você já está rodando como root, você pode deixar isso de lado. Na verdade, provavelmente você deve experimentá-lo sem e se não houver erros, então você ganha!

    
por 23.06.2014 / 22:11