AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1130287
Accepted
Unpossible
Unpossible
Asked: 2023-05-04 02:12:43 +0800 CST2023-05-04 02:12:43 +0800 CST 2023-05-04 02:12:43 +0800 CST

Cloud-init em convidados kvm (Debian e Centos) não definindo configurações de interface

  • 772

Estou tentando usar o cloud-init para configurar convidados kvm (atualmente Debian 11 e CentOS Stream 8) e estou procurando ajuda para corrigir os arquivos de metadados e dados do usuário. Todo o resto parece funcionar, mas as configurações da interface de rede não estão definidas, embora eu veja os logs do cloud-init mostrando que estão. Por favor veja abaixo:

Para Debian:

    cat << EOF > /var/lib/libvirt/images/$meta_data_file
instance-id: $vm_name
local-hostname: $vm_name
hostname: $vm_name
fqdn: $vm_name
manage_etc_hosts: true
EOF

cat << EOF > /var/lib/libvirt/images/$cloud_config_file
#cloud-config

# Hostname management
preserve_hostname: false
hostname: $vm_name
fqdn: $vm_name
network:
  version: 2
  ethernets:
    eth0:
      match:
        name: e*
      dhcp4: false
      addresses: 
        - 10.10.0.25/24
      gateway4: 10.10.0.254
      nameservers:
        addresses:
          - 10.50.0.23
          - 10.50.0.17
          - 10.50.0.18
      search: [testing,production,admin,internal]
      routes:
        - to: 10.50.0.0/24
          via: 10.10.0.249
users:
  - default
  - name: admin
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: wheel, sudo, admin
    home: /home/admin
    shell: /bin/bash
    hashed_passwd: $adminpasswd
    lock_passwd: false
    ssh_pwauth: True
    chpasswd: { expire: False }
    ssh-authorized-keys:
      - ssh-rsa ...
      - ssh-rsa ...
# only cert auth via ssh (console access can still login)
ssh_pwauth: True
disable_root: false
chpasswd:
  list: |
     root:$rtpwd
  expire: False
runcmd:
  # disable dhcp for eth0
  - [ sh, -c, sed -e '/iface eth0 inet dhcp/s/^/#/g' -i /etc/network/interfaces ]
bootcmd:
  - cloud-init-per always fix-debian-autonet rm /etc/udev/rules.d/75-cloud-ifupdown.rules
    - cloud-init-per always fix-debian-netconfig rm /run/network/interfaces.d/*
  - cloud-init-per once ifdown ifdown ens3
  - cloud-init-per once bugfix rm /run/network/interfaces.d/ens3
  - cloud-init-per once ifup ifup ens3

# Configure where output will go
output:
  all: ">> /var/log/cloud-init.log"
# configure interaction with ssh server
ssh_svcname: ssh
ssh_deletekeys: True
ssh_genkeytypes: ['rsa', 'ecdsa']
package_update: true
package_upgrade: true
packages:
  - bind9-utils
  - vim
  - freeipa-client
  - cloud-utils-growpart
power_state:
  delay: "+2" #minutes
  mode: reboot
  message: Run completed
  timeout: 120 #seconds
  condition: True
EOF

Para Centos Stream 8:

cat << EOF > /var/lib/libvirt/images/$cloud_config_file
#cloud-config

# Hostname management
preserve_hostname: false
hostname: $vm_name
fqdn: $vm_name
network:
  version: 2
  ethernets:
    eth0:
      match:
        name: e*
      dhcp4: false
      addresses: 
        - 10.50.0.26/24
      gateway4: 10.50.0.254
      nameservers:
        addresses:
          - 10.15.0.23
          - 10.15.0.17
          - 10.15.0.18
      search: [testing,production,admin,internal]
      routes:
        - to: 10.15.0.0/24
          via: 10.50.0.249

users:
  - default
  - name: admin
    sudo: ALL=(ALL) NOPASSWD:ALL
    groups: wheel, sudo, admin
    home: /home/admin
    shell: /bin/bash
    hashed_passwd: $adminpasswd
    lock_passwd: false
    ssh_pwauth: True
    chpasswd: { expire: False }
    ssh-authorized-keys:
      - ssh-rsa ...
      - ssh-rsa ...
ssh_pwauth: True
disable_root: false
chpasswd:
  list: |
     root:$rtpwd
  expire: False

# Configure where output will go
output:
  all: ">> /var/log/cloud-init.log"
# configure interaction with ssh server
ssh_svcname: ssh
ssh_deletekeys: True
ssh_genkeytypes: ['rsa', 'ecdsa']
package_update: true
package_upgrade: true
packages:
  - bind9-utils
  - vim
  - freeipa-client
  - cloud-utils-growpart
power_state:
  delay: "+2" #minutes
  mode: reboot
  message: Run completed
  timeout: 120 #seconds
  condition: True
EOF

Por favor, o que estou fazendo de errado?

centos
  • 1 1 respostas
  • 18 Views

1 respostas

  • Voted
  1. Best Answer
    Unpossible
    2023-05-07T19:56:12+08:002023-05-07T19:56:12+08:00

    Meu primeiro erro parece estar adicionando configuração de rede ao arquivo user-data. Consegui trabalhar com um arquivo de configuração separado para network( network-config) e versões ENI apropriadas para debian e centos.

    Para Debian:

    cat << EOF > $network_config
      version: 1
      config:
        - type: physical
          name: eth0
          subnets:
            - type: static
              address: 10.10.0.26
              gateway: 10.10.0.254
        - type: route
          destination: 10.100.0.0/24
          gateway: 10.10.0.249
        - type: nameserver
          address:
            - 10.100.0.23
            - 10.100.0.17
            - 10.100.0.18
          search:
            - testing.mydom
            - production.mydom
            - admin.mydom
    EOF
    

    Para centos:

    cat << EOF > $network_config
      version: 1
      config:
        - type: physical
          name: eth0
          subnets:
            - type: static
              address: 10.10.0.26
              gateway: 10.10.0.254
        - type: route
          destination: 10.100.0.0/24
          gateway: 10.10.0.249
        - type: nameserver
          address:
            - 10.100.0.23
            - 10.100.0.17
            - 10.100.0.18
          search:
            - testing.mydom
            - production.mydom
            - admin.mydom
    EOF
    

    Veremos o que acontece com as imagens do Ubuntu (e para corrigir a 'atualização' e instalação do pacote).

    • 0

relate perguntas

  • Como descobrir detalhes sobre hardware na máquina Linux?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve