GNU/Linux >> Tutoriels Linux >  >> Linux

OpenBSD :passerelle hors sous-réseau (fonctionne sous Linux)

C'est un vieux fil, mais voilà.

Il se trouve que j'exécute un certain nombre de machines virtuelles OpenBSD sur un ESXi 6.0 exécuté chez SoYouStart, une filiale d'OVH. La configuration réseau y est la même que chez OVH et je pense, bien qu'étrange, son objectif principal est d'éliminer au maximum le trafic ARP en limitant artificiellement les domaines de diffusion, et sans avoir besoin d'utiliser des VLAN par exemple.

Dans mon cas, j'ai demandé des adresses IP supplémentaires à OVH et elles proviennent d'une gamme complètement différente. Pour la discussion ici, supposons que ce sont mes paramètres :

  • mon adresse IP principale (que l'hôte ESXi utilise) :213.0.113.78/32
  • la plage d'adresses IP supplémentaires pour les invités VM :192.0.2.64/30
  • la passerelle par défaut pour TOUS les éléments ci-dessus :213.0.113.254
  • veuillez noter que tous les hébergeurs doivent utiliser un masque de réseau d'hôte (255.255.255.255) en raison de la configuration du réseau OVH

Pour configurer le routage sur l'hôte OpenBSD, voici ce que je dois faire :

ifconfig vmx0 inet 192.0.2.64 255.255.255.255 
route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0 
route add -inet default 213.0.113.254

Pour que tout cela soit fait au démarrage, j'ignore le /etc/mygate fichier et mettre ce qui suit dans le /etc/hostname.vmx0 :

inet 192.0.2.64 255.255.255.255
!sleep 2
!route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
!route add -inet default 213.0.113.254

Vous remarquerez le sleep commande - pour une raison quelconque, cela est requis sur OpenBSD 5.9 mais ne l'était pas auparavant. Sans le sleep , le premier des à route commandes ne seront pas exécutées et donc votre routage ne sera pas configuré correctement.

Cela fonctionne en utilisant l'astuce suivante :

  • nous configurons l'adresse IP sur l'interface
  • avec le premier route commande nous traduisons l'adresse IP de la passerelle (213.0.113.254) en une adresse de lien (adresse MAC); ceci est fait par le -llinfo option;
  • dans le même route commande, en utilisant le -link option, nous installons l'adresse du lien vers la table de routage et en utilisant le -iface vmx0 nous indiquons au noyau par quelle interface réseau cette adresse de lien est accessible ; le -static le commutateur le marque comme une entrée insérée manuellement dans la table de routage
  • le deuxième route la commande peut maintenant réussir, car la route vers la passerelle par défaut est maintenant connue

Une chose que j'ai rencontrée dans la configuration ci-dessus, pour laquelle je n'ai pas encore de solution, est que l'un des quatre hôtes OpenBSD, configuré exactement de la même manière, exécutant exactement la même version du système d'exploitation et la même version du noyau, et même s'exécutant sur le même hôte VMware, toutes les 24 heures environ, semble "perdre" cette route magique de sa table de routage...


Linux
  1. Linux - Pourquoi USB ne fonctionne-t-il pas sous Linux alors qu'il fonctionne sous Uefi/bios ?

  2. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  3. Comment trouver l'adresse IP de la passerelle par défaut sous Linux

  4. Routage IP :Drapeaux de routage Linux (U - Haut, G - Passerelle, H - Hôte)

  5. Obtenir le nom d'utilisateur actuel dans Julia (Linux)

Redonnez vie à votre ancien matériel avec OpenBSD

Commande Linux Route Add avec exemples

ipcalc - Calculer l'adresse de sous-réseau IP sous Linux

Comment fonctionne le programme ping sous Linux

Comment interpréter les messages de la source martienne Linux

Route Exemples de commandes sous Linux