Como adicionar um IP secundário estático a uma interface DHCP usando netplan?

2

Meu servidor tem um arquivo /etc/netplan/50-cloud-init.yaml com o seguinte conteúdo:

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        ens3:
            dhcp4: true
            match:
                macaddress: fa:**:**:**:**:**
            set-name: ens3

Isso resulta na seguinte configuração de interface:

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.5/24 brd 10.0.0.255 scope global dynamic ens3
       ...

Até agora, tudo bem. Mas agora preciso adicionar 10.0.0.250 como um IP estático secundário adicional a essa interface. Qual o melhor jeito pra fazer isso? Eu criei um novo arquivo /etc/netplan/60-service-ip.yaml com:

network:
    version: 2
    ethernets:
        ens3:
            addresses:
              - 10.0.0.5/24
              - 10.0.0.250/24

Isso parece funcionar, mas redefine um IP dinâmico como um IP estático.

    
por Torsten Bronger 02.10.2018 / 09:14

2 respostas

2

Respondido no Ask Ubuntu

Copiar:

A solução foi bem simples, basta definir um endereço IP estático e ativar o DHCP. Basicamente, você só precisa adicionar dhcp4: yes à sua configuração.

Essa configuração me deu um endereço IP estático primário e um endereço IP atribuído pelo DHCP secundário:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: yes
      dhcp6: no
      addresses: 
        - 10.1.2.15/24
      gateway4: 10.1.2.1
      nameservers:
        search:
          - example.com
        addresses: [10.1.2.10]

O resultado do endereço IP show enp0s3 me deu:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:ab:cd:ef brd ff:ff:ff:ff:ff:ff
    inet 10.1.2.15/24 brd 10.0.1.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet 10.1.2.96/24 brd 10.0.1.255 scope global secondary dynamic enp0s3
       valid_lft 3224sec preferred_lft 3224sec
    inet6 fe80::a00:27ff:fe20:2c40/64 scope link 
       valid_lft forever preferred_lft forever

O endereço 10.1.2.96 é o endereço atribuído pelo DHCP secundário, conforme indicado pelas palavras-chave dinâmicas secundárias.

    
por 02.10.2018 / 09:23
2

Na verdade, é mais fácil adicionar apenas dhcp4: true à sua configuração estática como esta (e desabilitar v6 se você não precisar):

network:
    version: 2
    ethernets:
        ens3:
            dhcp4: yes
            dhcp6: no
            addresses:
              - 10.0.0.250/24
    
por 02.10.2018 / 09:24