O netplan suporta endereços DHCP e estáticos em uma interface?

2

Eu tenho algumas instalações do Ubuntu Server 16 em que a NIC obtém um endereço estático e um endereço dhcp usando a sintaxe interface:X no arquivo / etc / network / interfaces.

auto eno1
iface eno1 inet static
        address 172.16.12.18
        netmask 255.255.252.0
        network 172.16.12.0
        broadcast 172.16.15.255
        gateway 172.16.12.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 172.16.0.3 172.16.8.7 8.8.8.8

auto eno1:1
iface eno1:1 inet static
        address 172.16.13.18
        netmask 255.255.252.0
        network 172.16.12.0
        broadcast 172.16.15.255
        gateway 172.16.12.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 172.16.0.3 172.16.8.7 8.8.8.8

auto eno1:0
iface eno1:0 inet dhcp

Isso resulta no servidor acima de obter os dois endereços estáticos e um DHCP abaixo.

$ ip addr show eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 48:0f:cf:63:09:91 brd ff:ff:ff:ff:ff:ff
    inet 172.16.12.18/22 brd 172.16.15.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet 172.16.13.18/22 brd 172.16.15.255 scope global secondary eno1:1
       valid_lft forever preferred_lft forever
    inet 172.16.15.27/22 brd 172.16.15.255 scope global secondary eno1:0
       valid_lft forever preferred_lft forever

Eu instalei o Ubuntu Server 18 ontem e descobri que o netplan era o gerenciador de rede preferido. Eu era capaz de adicionar vários IPs na configuração yaml para netplan, mas os endereços são estáticos. Gostaria de obter um endereço estático e um endereço DHCP.

# cat /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      addresses: [ 172.16.9.250/22 , 172.16.10.250/22 ]
      gateway4: 172.16.8.1
      nameservers:
          search: [ staff.example.com , example.com ]
          addresses:
              - "172.16.8.7"
              - "172.16.0.3"

A razão pela qual eu quero uma estática e dinâmica é um resquício de uma correção que encontrei no servidor NFS que configurei alguns anos atrás. Uma das antigas máquinas Solaris não pôde se conectar ao endereço 12.18 acima, então eu adicionaria outro endereço estático - e depois configuraria o servidor NFS para obter um endereço DHCP - e o servidor Solaris fragmentado poderia montar o volume NFS nos IPs adicionais .

É possível configurar o netplan para obter um endereço DHCP e atribuir um endereço estático na mesma interface?

    
por user38537 02.05.2018 / 23:46

1 resposta

3

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 de ip address 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 secondary dynamic .

    
por user822833 03.05.2018 / 10:53