Proxmox VE 9 • Serveurs dédiés • Tutoriel réseau

Comment attribuer une adresse IP publique aux invités Proxmox VE

Votre serveur a été livré avec sa première adresse IPv4 configurée sur l'hôte et rien d'autre. Toutes les autres adresses de votre compte vous appartiennent et vous pouvez les placer où vous le souhaitez. Ce guide présente les trois façons de le faire sur une machine Server Room : le mode pont, où un invité se trouve sur notre réseau avec sa propre adresse MAC ; le mode routé, où l'hôte transfère le trafic pour lui ; et un sous-réseau privé derrière votre adresse principale. Chaque configuration présentée ici a été testée sur notre propre réseau avant d'être publiée.

Proxmox VE 9 sur Debian 13 Aucun enregistrement MAC Support en direct 24/7

Guide pas à pas

Commencez par les étapes un et deux. Choisissez ensuite l'étape trois, quatre ou cinq — ce sont trois réponses à la même question, pas une séquence.

1

Trouvez vos adresses et déterminez chaque passerelle

L'e-mail Configuration du serveur dédié envoyé lors de la création de votre machine liste toutes les adresses qui lui sont attribuées, d'abord les IPv4 puis les IPv6. La même liste se trouve dans votre panneau de contrôle sur la page du serveur, sous Accès, réseau & rDNS, où chaque adresse est affichée avec son enregistrement DNS inverse.

Sur une installation Proxmox, l'e-mail comporte une ligne supplémentaire, et c'est la raison d'être de cette page : seule la première adresse est configurée sur l'hôte. Les autres vous appartiennent et vous pouvez les attribuer depuis Proxmox, à vos machines virtuelles ou à l'hôte lui-même. Notre installateur configure délibérément une seule adresse puis s'arrête, car un hôte qui les porterait toutes répondrait pour chacune d'elles et ne laisserait rien à vos invités.

Le masque de réseau est toujours /24 (255.255.255.0) et la passerelle est toujours le .1 du /24 dans lequel se trouve l'adresse elle-même. Cette seconde moitié compte plus qu'il n'y paraît. Les adresses commandées ensemble sont consécutives au sein d'un même /24, elles partagent donc une passerelle. Les adresses ajoutées ultérieurement à un serveur existant peuvent provenir d'une autre de nos plages, et chacune utilise alors son propre .1 — par exemple, une adresse dans 203.0.113.0/24 utilise 203.0.113.1 même sur une machine dont l'adresse principale est dans une autre plage. Les deux fonctionnent sur le même port et sur le même pont.

Le résolveur que notre installateur configure est 209.244.0.3. Vous êtes libre de pointer vos invités vers n'importe quel autre.

2

Lisez ce que l'installateur a laissé sur l'hôte

Connectez-vous en SSH en tant que root et examinez les interfaces écrites par l'installateur :

ip -br addr
cat /etc/network/interfaces

Une machine fraîchement installée ressemble à ceci, avec votre propre nom d'interface et votre propre adresse principale à la place des exemples :

auto lo
iface lo inet loopback

iface eno1 inet manual

auto vmbr0
iface vmbr0 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0

vmbr0 est déjà un pont et l'interface physique en est déjà un port. C'est tout le modèle en pont, et c'est pourquoi l'étape trois ne vous demande de ne rien changer sur l'hôte.

Proxmox VE 9 est Debian 13 et utilise ifupdown2, donc un changement de configuration ne nécessite pas de redémarrage. Modifiez /etc/network/interfaces et appliquez-le avec :

ifreload -a

Si vous modifiez le réseau via l'interface web de Proxmox à la place, vos changements sont mis en attente dans /etc/network/interfaces.new jusqu'à ce que vous appuyiez sur Appliquer la configuration. Dans tous les cas, ouvrez la console du serveur depuis votre panneau de contrôle avant de recharger. Une erreur dans ce fichier met la machine hors réseau, et la console est le moyen d'y revenir sans ticket.

3

Mode pont : l'invité se trouve sur notre réseau avec sa propre adresse MAC

C'est la solution à utiliser sauf raison contraire. L'invité est une machine ordinaire sur le même segment que l'hôte, il parle directement à nos routeurs, et rien ne change sur l'hôte.

Dans l'interface Proxmox, donnez à la machine virtuelle un périphérique réseau sur le pont vmbr0 et laissez l'adresse MAC que Proxmox a générée pour elle. Configurez ensuite l'adresse à l'intérieur de l'invité exactement comme vous le feriez sur n'importe quel serveur. Pour un invité Debian ou Ubuntu utilisant ifupdown :

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/24
    gateway 203.0.113.1
    dns-nameservers 209.244.0.3 1.1.1.1

Pour un invité Ubuntu utilisant netplan, dans /etc/netplan/01-netcfg.yaml :

network:
  version: 2
  ethernets:
    ens18:
      addresses: [203.0.113.58/24]
      routes:
        - to: default
          via: 203.0.113.1
      nameservers:
        addresses: [209.244.0.3, 1.1.1.1]

Un invité Windows prend les trois mêmes valeurs dans les propriétés IPv4 de l'adaptateur. N'importe quel système d'exploitation fonctionne, car de notre côté c'est simplement une autre machine sur le sous-réseau.

Vous n'avez pas à enregistrer l'adresse MAC d'un invité chez nous, et nous ne limitons pas le nombre que votre port peut utiliser. Certains hébergeurs le font, et leur documentation vous demande de déclarer une MAC pour chaque machine virtuelle. Pas la nôtre : le port du commutateur sur lequel votre serveur est branché n'a aucune restriction de nombre de MAC et la sécurité du port est désactivée, donc une MAC d'invité est apprise exactement comme celle de l'hôte. Nous avons testé cela avant de le publier, en plaçant une seconde MAC et une adresse libre sur le port client d'un serveur du personnel et en l'atteignant depuis l'internet public.

Trois points à respecter :

• Donnez à chaque invité une adresse MAC distincte. Deux invités qui partagent la même, ou un invité qui copie celle de l'hôte, cassent les deux.
• Utilisez la passerelle appartenant au /24 de l'adresse elle-même, depuis l'étape un.
Ne configurez jamais qu'une adresse attribuée à votre compte. Le pont fait face à un réseau réel partagé avec d'autres machines. Prendre une adresse qui n'est pas la vôtre emporte le trafic de quelqu'un d'autre avec elle.

Pour la même raison, n'exécutez pas de serveur DHCP, de démon d'annonces de routeur pirate ou quoi que ce soit d'autre qui réponde pour le segment sur vmbr0. Si vous voulez servir du DHCP à vos propres invités, utilisez le modèle de sous-réseau privé de l'étape cinq, où le pont n'a pas de port physique et ne peut atteindre personne d'autre.

4

Mode routé : l'hôte est la passerelle de ses invités

Utilisez ce mode quand vous voulez que chaque paquet à destination ou en provenance d'un invité passe par l'hôte, afin que le pare-feu de l'hôte le voie, ou quand vous préférez que vos invités n'apparaissent jamais du tout sur notre couche 2. L'adresse reste une adresse publique de votre compte ; seul le chemin change.

L'adresse publique quitte le pont et passe sur l'interface physique, l'hôte transfère, et il répond aux requêtes ARP au nom des invités pour lesquels il route. Sur l'hôte :

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
    address 203.0.113.10/24
    gateway 203.0.113.1
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up echo 1 > /proc/sys/net/ipv4/conf/eno1/proxy_arp

auto vmbr0
iface vmbr0 inet manual
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    up ip route add 203.0.113.58/32 dev vmbr0
    down ip route del 203.0.113.58/32 dev vmbr0

Ajoutez une paire up et down par adresse routée. À l'intérieur de l'invité, l'adresse est un /32 et l'hôte est atteint par une route on-link explicite avant la route par défaut :

auto lo
iface lo inet loopback

auto ens18
iface ens18 inet static
    address 203.0.113.58/32
    post-up ip route add 203.0.113.10 dev ens18
    post-up ip route add default via 203.0.113.10
    dns-nameservers 209.244.0.3 1.1.1.1

Deux remarques sur la strophe de l'hôte. La ligne proxy_arp est ce qui fait fonctionner ce mode ici : nos routeurs demandent sur le segment l'adresse de l'invité, et l'hôte répond pour elle. Sans cette ligne, l'invité est silencieux depuis l'extérieur. Et les deux lignes post-up echo sont la forme documentée par Proxmox ; si vous préférez les définir une fois pour toutes, placez net.ipv4.ip_forward=1 et net.ipv4.conf.eno1.proxy_arp=1 dans un fichier sous /etc/sysctl.d/ à la place.

Le mode routé vous coûte un peu de configuration dans chaque invité et vous donne un hôte capable de filtrer, compter et journaliser tout. Le mode pont ne coûte rien et ne vous donne ni l'un ni l'autre. C'est tout le compromis.

5

Un sous-réseau privé derrière votre adresse principale

Les invités qui n'ont besoin que de sortir — agents de build, workers, une base de données que rien d'extérieur ne devrait toucher — n'ont pas du tout besoin d'une adresse publique. Placez-les sur un pont sans port physique et laissez l'hôte traduire leur trafic vers sa propre adresse en sortie. Cela ne coûte aucune adresse et c'est le moyen le moins cher de faire tourner beaucoup de machines.

Ajoutez un second pont sur l'hôte, en laissant vmbr0 tel quel :

auto vmbr1
iface vmbr1 inet static
    address 10.10.10.1/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
    post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE
    post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o eno1 -j MASQUERADE

Les invités vont sur vmbr1 avec une adresse dans cette plage, 10.10.10.1 comme passerelle, et le résolveur de votre choix. Ils atteignent l'internet en tant que votre serveur ; rien de l'extérieur ne les atteint sauf si vous le décidez. Pour publier un service, ajoutez une règle de transfert à côté de la règle de masquage, en choisissant un port que l'hôte n'utilise pas lui-même :

post-up iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp --dport 8443 -j DNAT --to 10.10.10.2:443

Comme ce pont n'a pas de port physique, un serveur DHCP y est parfaitement sûr et constitue un moyen raisonnable d'adresser vos invités.

6

Ajoutez vos adresses IPv6

Votre allocation IPv6 est un ensemble d'adresses individuelles, pas un préfixe délégué que vous pouvez découper. Elles sont listées dans le même e-mail d'installation, sous les IPv4, et elles se placent une à une exactement comme les adresses IPv4 : une sur l'hôte si vous voulez que l'hôte soit joignable, le reste sur les invités. L'installateur n'en configure aucune.

Configurez chacune avec une longueur de préfixe /64, et la passerelle est le préfixe suivi de ::1 — donc une adresse dans 2001:db8:1234::/64 utilise 2001:db8:1234::1. Sur l'hôte, ajoutez une strophe IPv6 à côté du pont existant :

iface vmbr0 inet6 static
    address 2001:db8:1234::2/64
    gateway 2001:db8:1234::1

Et dans un invité en mode pont :

iface ens18 inet6 static
    address 2001:db8:1234::5/64
    gateway 2001:db8:1234::1

Appliquez avec ifreload -a comme précédemment. Comme les adresses sont individuelles plutôt qu'un préfixe qui vous appartient, n'exécutez pas d'annonces de routeur et ne distribuez pas d'adresses qui ne vous ont pas été données. Si vous avez besoin de plus que ce que vous avez, demandez-nous.

7

Configurez le DNS inverse depuis votre panneau de contrôle

Le DNS inverse vous appartient et vous pouvez le modifier, sur chaque adresse, sans ticket. Connectez-vous, ouvrez la page du serveur et trouvez le panneau Accès, réseau & rDNS. Chaque adresse du compte y est listée avec son enregistrement actuel et un bouton Modifier le rDNS. IPv4 et IPv6 fonctionnent toutes les deux.

Le formulaire accepte un nom d'hôte : lettres, chiffres, tirets et points uniquement, chaque libellé entre 1 et 63 caractères, au moins deux libellés, et il ajoute le point final pour vous. Les changements mettent quelques minutes à apparaître.

Si la machine envoie du courrier, définissez l'enregistrement inverse sur l'adresse d'où part réellement le courrier — ce qui, dans le modèle de sous-réseau privé ci-dessus, est l'adresse de l'hôte plutôt que celle de l'invité — et créez l'enregistrement direct correspondant chez votre propre fournisseur DNS. Les serveurs de réception du courrier vérifient que les deux concordent.

FAQ

Les questions que cette configuration suscite réellement.

Mon invité ne peut rien atteindre. Qu'est-ce qui ne va pas ?

Presque toujours la passerelle. Chaque adresse utilise le .1 de son propre /24, et une adresse ajoutée ultérieurement à votre serveur peut se trouver dans une plage différente de votre adresse principale, avec une passerelle différente. Vérifiez que l'adresse est bien attribuée à votre compte, vérifiez que le masque est /24, et vérifiez que l'adresse MAC de l'invité n'est pas une copie de celle d'une autre machine. Depuis l'hôte, ip -br addr et ip route dans l'invité répondent aux trois en quelques secondes.

Dois-je vous communiquer l'adresse MAC de chaque machine virtuelle ?

Non. Votre port de commutateur ne limite pas le nombre d'adresses MAC qu'il apprendra et la sécurité du port n'y est pas activée, donc un invité avec sa propre adresse MAC est appris comme n'importe quelle autre machine. Laissez la MAC générée par Proxmox en place et donnez à chaque invité une MAC distincte.

Pourquoi l'installateur n'a-t-il configuré qu'une seule adresse ?

Parce qu'un hôte portant toutes les adresses du compte répondrait pour chacune d'elles, ne laissant rien à vos invités. Une adresse met la machine sur le réseau et la rend joignable ; le reste est laissé à votre disposition, ce que dit l'e-mail d'installation sous la liste des adresses.

Dois-je utiliser le mode pont ou le mode routé ?

Le mode pont, sauf raison spécifique. Il ne nécessite aucun changement sur l'hôte, aucune configuration spéciale dans l'invité, et se comporte comme une machine physique sur le réseau. Choisissez le mode routé quand vous voulez que chaque paquet passe par l'hôte afin que son pare-feu puisse agir dessus, et acceptez en échange un peu plus de configuration dans chaque invité.

Puis-je exécuter un serveur DHCP pour mes invités ?

Sur un pont privé sans port physique, oui, et c'est une façon sensée de les adresser. Jamais sur vmbr0 : ce pont fait face à un réseau réel partagé avec d'autres machines, et un serveur DHCP ou un démon d'annonces de routeur y répond pour des machines qui ne sont pas les vôtres.

J'ai modifié le fichier et perdu la machine. Et maintenant ?

Ouvrez la console depuis votre panneau de contrôle. Elle atteint la machine via son contrôleur de gestion plutôt que par le réseau, donc elle fonctionne encore quand la configuration réseau ne fonctionne pas. Corrigez /etc/network/interfaces là-bas et exécutez ifreload -a. Ouvrir la console avant d'appliquer un changement réseau est l'habitude qui vaut la peine d'être prise.

Comment obtenir plus d'adresses ?

Demandez-nous en chat en direct ou ouvrez un ticket, et dites à quoi servira chaque adresse — les registres exigent un usage déclaré pour chaque attribution, c'est donc la première chose dont nous aurons besoin. Les adresses IPv4 supplémentaires sont facturées mensuellement sur le même compte. Une fois attribuées, elles apparaissent dans votre panneau de contrôle et sur l'e-mail d'installation de la prochaine machine.

Besoin d'une machine pour mettre cela en pratique ?

Proxmox VE s'installe en un clic sur la plupart de nos serveurs dédiés, avec un accès root complet, une console hors bande et aucun frais de licence d'aucune sorte.