ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Virtualización (Proxmox / KVM)

Cómo crear una VM KVM en Proxmox VE y asignarle una IP pública dedicada

5 pasos 14 min de lectura 6 vistas 0
Contenido

Una vez que Proxmox VE funciona en su servidor dedicado, el siguiente paso es crear máquinas virtuales KVM en PVE y asignar a cada una su propia IP pública. Tomando como ejemplo un servidor con un bloque /24, esta guía explica cómo subir una imagen ISO o cloud, crear una VM desde la línea de comandos, conectarla al puente vmbr0, configurar una IP dedicada y su puerta de enlace dentro de sistemas invitados Debian/Ubuntu y CentOS/Rocky/AlmaLinux, y ofrece consejos prácticos si piensa revender VPS.

Los ejemplos usan 203.0.113.0/24 con la puerta de enlace 203.0.113.1. Use siempre las IP, la máscara de red y la puerta de enlace que IMIDC le haya asignado. Las direcciones de red, de puerta de enlace y de broadcast no pueden asignarse a las VM. Si su bloque está enrutado hacia la IP principal en lugar de estar en el mismo enlace (on-link), abra primero un ticket de soporte para confirmar la configuración de red.

Paso 1: Suba una imagen ISO o cloud a Proxmox VE

Para una instalación manual, use "local storage → ISO Images → Upload / Download from URL" en la interfaz web, o descargue directamente en el directorio de ISO con wget. Para un aprovisionamiento rápido, una imagen cloud con cloud-init entrega una VM nueva en menos de un minuto.

cd /var/lib/vz/template/iso
# replace the file name with the current release
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.7.0-amd64-netinst.iso
# cloud image for template-based deployment
mkdir -p /var/lib/vz/images/cloud && cd /var/lib/vz/images/cloud
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2

Paso 2: Cree una máquina virtual KVM en PVE

Los siguientes comandos qm crean la VM 101 con 2 vCPU y 2 GB de RAM y una tarjeta de red virtio conectada al puente vmbr0 con el firewall activado; después importan la imagen cloud como disco de arranque, añaden una unidad cloud-init y una consola serie, y amplían el disco en 18 GB. Para una instalación desde ISO, omita la importación y conecte la ISO con --ide2 local:iso/FILE,media=cdrom.

qm create 101 --name vm101 --memory 2048 --cores 2 --cpu host \
  --net0 virtio,bridge=vmbr0,firewall=1 --scsihw virtio-scsi-pci --ostype l26
qm disk import 101 /var/lib/vz/images/cloud/debian-12-genericcloud-amd64.qcow2 local-lvm
qm set 101 --scsi0 local-lvm:vm-101-disk-0 --boot order=scsi0 \
  --ide2 local-lvm:cloudinit --serial0 socket --vga serial0 --agent enabled=1
qm resize 101 scsi0 +18G

Paso 3: Asigne una IP dedicada y la puerta de enlace con cloud-init

Con una imagen cloud, introduzca en cloud-init la IP, la puerta de enlace, el DNS y la clave SSH; el sistema invitado se configura solo en el primer arranque. qm terminal se conecta a la consola serie (Ctrl+O para salir).

qm set 101 --ipconfig0 ip=203.0.113.20/24,gw=203.0.113.1 \
  --nameserver 1.1.1.1 --ciuser root --sshkeys /root/.ssh/authorized_keys
qm start 101
qm terminal 101

Paso 4: Configure manualmente la IP pública dentro de la VM

Los sistemas instalados desde una ISO necesitan una IP estática configurada dentro del sistema operativo. La tarjeta de red virtio suele llamarse ens18; confírmelo con ip link y elija el método correspondiente a su distribución.

# Debian / Ubuntu (ifupdown): /etc/network/interfaces
auto ens18
iface ens18 inet static
    address 203.0.113.21/24
    gateway 203.0.113.1
    dns-nameservers 1.1.1.1 8.8.8.8

systemctl restart networking
# Ubuntu (netplan): /etc/netplan/01-static.yaml
network:
  version: 2
  ethernets:
    ens18:
      addresses: [203.0.113.22/24]
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [1.1.1.1, 8.8.8.8]

netplan apply
# CentOS Stream / Rocky / AlmaLinux (NetworkManager)
nmcli con mod ens18 ipv4.method manual ipv4.addresses 203.0.113.23/24 \
  ipv4.gateway 203.0.113.1 ipv4.dns "1.1.1.1 8.8.8.8"
nmcli con up ens18

Después verifique la dirección y la ruta predeterminada, y haga ping tanto a la puerta de enlace como a un host externo:

ip -br addr
ip route
ping -c 4 203.0.113.1
ping -c 4 1.1.1.1

Paso 5: Consejos antes de vender VPS con Proxmox

Si piensa alquilar máquinas virtuales a clientes, tenga en cuenta lo siguiente:

  • Evite el secuestro de IP: active el ipfilter del firewall de PVE para que cada VM solo pueda usar las IP que tiene asignadas.
  • Sobrevenda con prudencia: la CPU puede sobreasignarse de forma moderada, pero sea conservador con la RAM y el disco y vigile los picos de E/S de los discos NVMe.
  • Haga copias de seguridad periódicas: use vzdump o Proxmox Backup Server y guarde copias en otra máquina.
  • rDNS y gestión de abusos: configure el DNS inverso de cada IP y responda rápidamente a las quejas para que el bloque no termine en listas negras.
# /etc/pve/firewall/101.fw
[OPTIONS]
enable: 1
ipfilter: 1
policy_in: ACCEPT

[IPSET ipfilter-net0]
203.0.113.20
vzdump 101 --storage local --mode snapshot --compress zstd
Cumpla los términos de servicio de IMIDC y la legislación local. No permita que sus clientes envíen spam ni lancen ataques desde sus VM; el abuso puede provocar el bloqueo de todo el bloque de IP.

Preguntas frecuentes

Mi VM en PVE tiene una IP pública pero no tiene acceso a Internet

Asegúrese de que la tarjeta de red de la VM esté conectada al puente vmbr0 y de que el propio host esté en línea; después revise la longitud del prefijo y la puerta de enlace. Si el centro de datos vincula las IP a direcciones MAC, necesitará una MAC virtual para esa IP en la tarjeta de red de la VM; abra un ticket para confirmarlo.

La IP configurada mediante cloud-init no se aplica

Después de cambiar las opciones de cloud-init, ejecute qm cloudinit update 101 o reinicie la VM, y asegúrese de que la imagen sea compatible con cloud-init.

¿Cuántas VM puedo ejecutar con un /24?

Un /24 tiene 256 direcciones; descontando las de red, puerta de enlace y broadcast, quedan unas 253 utilizables. Consulte las notas de su asignación para conocer el número exacto.

¿Sigue con problemas? Abra un ticket y el soporte 24/7 de IMIDC le ayudará.

¿Fue útil la respuesta?

Tutoriales relacionados