• Serveurs
  • Hetzner, proxmox et réseau le retour

Bonjour à tous,

Cela fait un moment que je suis ce forum mais j'ai toujours réussi à me débrouiller par moi-même jusqu'à maintenant. J'ai besoin de votre aide !

Passer cette courte introduction, je vous explique mon problème. J'ai un tout nouveau serveur chez Hetzner sur lequel j'ai installé un Proxmox et commandé une IP public supplémentaire. j'essais de faire la configuration réseau afin d'avoir deux réseaux locaux qui communiquent chacun vers internet à travers une adresse IP publique differente.

Pour l'instant je suis bloqué à la configuration de ma deuxième adresse IP. J'arrive bien à la ping depuis internet mais j'arrive pas à ping l’extérieur depuis celle-ci.

Voici mon configuration actuelle:


 ### Hetzner Online GmbH installimage

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto enp3s0
iface enp3s0 inet static
  address xx.xx.xx.3
  netmask 255.255.255.224
  gateway xx.xx.xx.1
  # route xx.xx.xx.0/27 via xx.xx.xx.1
  up route add -net xx.xx.xx.0 netmask 255.255.255.224 gw xx.xx.xx.1 dev enp3s0

auto vmbr0
iface vmbr0 inet static
address xx.xx.xx.21
netmask 255.255.255.224
    bridge_ports none
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0
    up route add -net xx.xx.xx.0 netmask 255.255.255.224 gw xx.xx.xx.1 dev vmbr0

Auriez-vous une idée de comment résoudre mon problème ?

Merci d'avance ! 😁

Florstone

Je suis passé par là récemment, regarde ici : https://mondedie.fr/d/10446-hetzner-promox-et-reseau/

Voici mon /etc/network/interfaces (le vmbr1 ne sert que pour le réseau interne, pour la database et les backends, n'en tiens pas compte si tous tes serveurs virtuels ont une adresse IP publique)

source /etc/network/interfaces.d/*                                                                                                                                             
                                                                                                                                                                               
auto lo                                                                                                                                                                        
iface lo inet loopback                                                                                                                                                         
iface lo inet6 loopback                                                                                                                                                        
                                                                                                                                                                               
iface enp2s0 inet manual                                                                                                                                                       
                                                                                                                                                                               
auto vmbr0                                                                                                                                                                     
iface vmbr0 inet static                                                                                                                                                        
  address xxx.xxx.xxx.xxx                                                                                                                                                        
  netmask 255.255.255.224                                                                                                                                                      
  gateway xxx.xxx.xxx.193                                                                                                                                                        
  bridge_ports enp2s0                                                                                                                                                          
  bridge_stp off                                                                                                                                                               
  bridge_fd 0                                                                                                                                                                  
  # route xxx.xxx.xxx.xxx/27 via xxx.xxx.xxx.193                                                                                                                                                                        

auto vmbr1                                                                                                                                                                     
iface vmbr1 inet static                                                                                                                                                        
  address 192.168.1.254                                                                                                                                                        
  netmask 255.255.255.0                                                                                                                                                        
  broadcast 192.168.1.255                                                                                                                                                      
  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 '192.168.1.0/24' -o vmbr0 -j MASQUERADE                                                                                            
  post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE                                                                                          
                                                                                                                                                                               
iface enp2s0 inet6 static                                                                                                                                                      
  address xxxx:xxxx:xxxx:xxxx                                                                                                                                               
  netmask 64                                                                                                                                                                   
  gateway fe80::1             

Une fois que tu as ça, tu demandes des ip supplémentaires, tu leur assigne une MAC, et quand tu crée une VM ou Container, tu mets cette adresse mac, l'ip que tu viens de créer, et le bon masque et la bonne route. Ca devrait marcher.

Merci Merrick pour ta réponse.

J'ai bien lu ton thread avant d'ouvrir le mien et effectivement ta configuration fonctionne dans le cas ou on utilise un IP et un reseau internet pour connecter les VMs ce qui n'est pas exactement mon cas.

Dans ma situation j'aimerai avoir deux adresses IP publiques sur lesquelles sont routés deux réseaux internes. C'est un peu comme ta configuration mais x2 haha.

(Les VMs auraient seulement internet à travers le routage)

As-tu une idée de comment je pourrais faire ?

Bien à toi,

Florstone

Alors si j'ai bien tout compris, tu pourrais te baser là dessus : https://pve.proxmox.com/wiki/Network_Configuration dans la partie Masquerading (NAT) with iptables.
Tu as ta carte réseau (enp3s0) avec son IP. Tu crée une vmbr0 avec sa propre ip :

auto vmbr0
iface vmbr0 inet static
        address  <ip_2>
        netmask  255.255.255.248
        bridge_ports none
        bridge_stp off
        bridge_fd 0

Tu crée une vmbr1 avec une plage privée qui passe par la enp3s0 et une vmbr2 qui passe par la vmbr0

auto vmbr1
#private sub network
iface vmbr1 inet static
        address  10.10.10.1
        netmask  255.255.255.0
        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 enp3s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o enp3s0 -j MASQUERADE

auto vmbr2
#private sub network
iface vmbr1 inet static
        address  192.168.1.1
        netmask  255.255.255.0
        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 vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

Comme ça, quand tu crée tes VM, tu choisis vmbr1 ou vmbr2, et selon ce choix, tu sors par enp3s0 ou vmbr0

A tester...

    Merrick

    C'est effectivement ce que j'aimerai faire. Pour avoir testé cette configuration j'ai un problème, mon interface vmbr0 et pingable depuis l’extérieur mais je n'arrive pas à ping l’extérieur depuis celle-ci. Surement à cause du fait qu'il n'est pas possible de définir de gateway ?

    Merci beaucoup pour ton aide !

    @Florstone Tu as moyen de faire un schéma de ce que tu veux exactement ? J'avoue avoir un peu de mal à comprendre d'après ta description.

    Note: Je déconseille de chercher à utiliser l'IP de base pour autre chose que pour l'administration du serveur lui -même (Interface de gestion...).
    Même s'il est techniquement possible de bidouiller quelque chose, ça reste de la bidouille.

    Tu veux un hyperviseur et 2 réseaux virtuels avec chacun son IP publique ? Alors, il te faut 3 IPs en tout.
    Et puis ce sera plus simple à gérer 🙂

      zer Merci pour ta réponse.

      Effectivement je ne m'exprime peut-être pas assez clairement. En prenant en compte ta réponse je me suis effectivement rendu compte que je n'ai pas forcément besoin de deux vlan.

      J'essais de faire ceci: Un hyperviseur qui a une IP publique qui lui est dédié et un vlan qui passe par la seconde IP.

      Merci !

      Ok. Donc en fait, tu veux faire quelque chose de très classique, sauf que tu ne t'y prends pas de la bonne manière.

      L'idée, ce n'est pas de paramétrer une seconde IP sur proxmox (pas au niveau de ton vmbr0), mais au niveau d'une VM qui servira de routeur.

      A moins de savoir exactement ce qu'on veut faire, il ne faut rien faire en cli sur proxmox. Tout (ou presque) peut ce faire via la console d'admin.
      Je n'ai pas le temps de détailler, mais l'idée, c'est:
      - créer un second réseau virtuel vmbr1
      - créer une vm avec 2 cartes réseau. 1 en bridge vmbr0 et l'autre en bridge vmbr1
      - installer un routeur (pfsense par exemple) sur la vm
      - paramétrer la carte réseau vmbr0 en wan, et c'est à ce niveau qu'il faut paramétrer la 2nde IP (avec adresse mac donnée par hetzner)
      - paramétrer la carte réseau associée à vmbr1 en tant que lan.

      Toutes les autres VM et CT sont à brancher sur vmbr1 ensuite.

      Désolé de ne pas pouvoir détailler plus. j'espère que ça suffira pour t'aiguiller 🙂

        zer Tout devient clair à présent ! Je vois comment faire à présent et c'est vrai que je me suis obstiné dans la mauvaise direction alors que la solution n'était pas très loin.

        En tous cas, merci pour ton temps, je pense pouvoir faire cela sans trop de difficulté. 😁

        Répondre…