Como “reiniciar” uma determinada interface de rede no RHEL?

17

No RHEL, em vez de usar o comando service network restart , como posso reiniciar uma interface de rede específica, digamos "eth1", com apenas um comando.

"Apenas um comando" porque essa é a única interface em que o meu ssh está trabalhando também. Então, se eu estou prestes a usar: ifdown e, em seguida, ifup , eu nunca será capaz de acertar o comando ifup como meu ssh foi encerrado uma vez após o comando ifdown eth1 .

Portanto, deve haver um único comando que me permita desativar completamente e, em seguida, exibir a interface que está servindo minha conexão ssh atual. Então eu não preciso me preocupar com conexão totalmente perdida para o meu servidor.

Alguma ideia, por favor?

    
por 夏期劇場 20.03.2013 / 07:04

4 respostas

26

Você pode usar:

ifdown eth1 && ifup eth1

Como um único comando. O & & apenas executa um comando, depois o outro se o primeiro comando for bem-sucedido . Se você é obrigado a usar o sudo, certifique-se de usá-lo antes de cada comando:

sudo ifdown eth1 && sudo ifup eth1

Contanto que sua interface esteja configurada para ter o IP e a rota necessários para corresponder à configuração atual, sua conexão ssh não será descartada.

Se você está preocupado em usá-lo em um servidor de produção para o qual não tem outro método de acesso, isso é compreensível. Embora o comando faça exatamente o que você quer, é muito fácil ter um erro de configuração que só é percebido depois de executar este comando. Se você não tiver um método alternativo de acesso (por exemplo, console fora de banda ou SSHD em execução em outra interface), é mais seguro não fazer isso .

Eu uso essa técnica frequentemente para executar uma 'reinicialização' da interface, mas geralmente tenho um método de acesso de backup disponível apenas no caso de eu fazer isso.

    
por 20.03.2013 / 07:15
1

Você pode "reiniciar" uma interface emitindo os seguintes comandos:

# ifdown eth1
# ifup eth1

Depois disso, você pode verificar se sua nova configuração está ativa

# ip a
    
por 20.03.2013 / 07:16
0

Você está tentando alterar o endereço IP (ou qualquer parâmetro de interface para essa matéria) de uma interface em uma máquina remota? Se a resposta for sim, tente um dos seguintes procedimentos:

Um método legal é usar o utilitário de tela para criar uma sessão apenas digitando 'screen'. Depois que você reiniciar o serviço de rede e a conexão SSH cair, use screen -ls para verificar se a sessão ainda está ativa (mas desconectada) e a tela -r para retomar a separação sessão. Isso funcionará caso não haja erro no arquivo de configuração da interface, ou seja, o serviço de rede será reiniciado com êxito.

Você também pode usar o seguinte truque:

$ cp -v current_conf_file current_conf_file.bak
$ echo "mv current_conf_file.bak current_conf_file && service network restart" | at now+10min

Continue com a edição do arquivo de configuração da interface e a reinicialização do serviço de rede. Em caso de erro, basta aguardar 10 minutos, para que a configuração anterior seja reaplicada e o serviço de rede seja reiniciado.

    
por 20.03.2013 / 10:40
-3

todas as respostas falando sobre ifup & ifdown não está de acordo com a pergunta. ifup & ifdown apenas traga a interface apenas para cima e para baixo, isso não afeta o serviço de rede. para o serviço de rede linux não significa apenas configurações de interfaces IP.

por favor, verifique o script /etc/rc.d/network para mais detalhes.

    
por 29.07.2016 / 09:06