nmcli comandos para rede IP estática no CentOS 7

2

Que seqüência específica dos comandos nmcli pode ser usada para configurar efetivamente a rede IP estática no CentOS 7?

O processo de quatro etapas mostrado abaixo configura efetivamente a rede IP estática.

Mas o processo abaixo se baseia em arquivos de configuração, que podem não ser mais fáceis para uma abordagem de script automatizada posteriormente. Estou imaginando muitos scripts complicados se ficarmos com a abordagem do arquivo de configuração mostrada abaixo. Por exemplo, a linha UUID exigiria tratamento especial em um script que simplesmente copiava no arquivo de configuração e reiniciava a máquina.

Em vez disso, eu gostaria de uma série de comandos específicos de nmcli que podem ser inseridos manualmente no terminal, e que também podem facilitar a criação de um script bash posteriormente.

Aqui está o processo manual atual, que funciona:

1.) O dispositivo eno1 foi criado durante um processo de instalação automatizado.

2.) Atribua o endereço IP com a máscara de rede fornecida a eno1 .

ip addr 12.34.567.8xx/29 dev eno1 

3.) Edite o arquivo de configuração:

$ vi /etc/sysconfig/network-scripts/ifcfg-eno1

        TYPE="Ethernet"
        BOOTPROTO="static"
        DEFROUTE="yes"
        IPV4_FAILURE_FATAL="no"
        IPV6INIT="yes"
        IPV6_AUTOCONF="yes"
        IPV6_DEFROUTE="yes"
        IPV6_FAILURE_FATAL="no"
        NAME="eno1"
        UUID="some-very-long-complex-string"
        DEVICE="eno1"
        ONBOOT="yes"
        DNS1=aa.aa.aa.aa
        DNS2=aa.aa.bb.bb
        IPADDR=12.34.567.8xx
        NETMASK=255.255.255.248
        PREFIX=29
        GATEWAY=12.34.567.8yy
        PEERDNS=yes
        PEERROUTES=yes
        IPV6_PEERDNS=yes
        IPV6_PEERROUTES=yes
        NM_CONTROLLED="no"

4.) Em seguida, salve o arquivo e reinicie o computador.

Observe que 12.34.567.8xx e 12.34.567.8yy são endereços IP públicos e que 12.34.567.8__ indica que os oito primeiros caracteres do IP e do gateway são idênticos.

Observe também que BOOTPROTO=static e NM_CONTROLLED=no precisam acabar em qualquer resultado dos comandos nmcli .

Que seqüência específica dos comandos nmcli pode efetivamente substituir o processo de 4 etapas acima?

    
por CodeMed 06.03.2017 / 23:18

1 resposta

3

Tente o seguinte:

nmcli con mod eno1 ipv4.addresses 12.345.67.8xx/29
nmcli con mod eno1 ipv4.gateway 12.34.567.8yy
nmcli con mod eno1 ipv4.dns "aa.aa.aa.aa bb.bb.bb.bb"
nmcli con mod eno1 ipv4.method manual
nmcli con mod eno1 connection.autoconnect yes

Reinicie e deve funcionar.

Se você não souber o nome da conexão de rede, poderá executar:

CON="$(nmcli -f NAME -m multiline show con | awk '{ print $2; }')"

o uso de "$CON" em vez de eno1 nos comandos acima. Por exemplo:

nmcli con mod "$CON" ipv4.addresses 12.345.67.8xx/29

Isso só funciona se você tiver uma única conexão. Se sua VM tiver mais de uma conexão de rede, você precisará adicionar alguma lógica ao que foi mencionado acima para descobrir qual delas usar.

    
por 07.03.2017 / 10:16