web-dev-qa-db-fra.com

J'ai un OpenWRT VM connecté au WAN, comment puis-je connecter des machines virtuelles clientes au réseau OpenWRT en l'utilisant comme passerelle?

Diagram of my MacPro with the OpenWRT and client VMs using the br0 bridge on the Host

J'essaie d'installer un laboratoire dans KVM sur ma machine Linux Ubuntu. Mon objectif est de créer un laboratoire de test dans lequel je peux tester la configuration de mon routeur physique pour mon réseau domestique avant de le mettre en production. Bien entendu, la configuration sur le réseau physique diffère un peu, mais une grande partie peut être testée dans l’environnement de laboratoire.

J'ai regardé une série de vidéos sur la création d'un pont dans Debian pour vos KVM VM. À partir de cela, j'ai pu obtenir une connexion Internet pour mon OpenWRT Barrier Breaker VM via sa carte WAN.

auto lo
iface lo inet loopback
auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
   address 192.168.1.85
   network 192.168.1.0
   netmask 255.255.255.0
   broadcast 192.168.0.255
   gateway 192.168.1.1
   bridge_ports eth1
   bridge_stp off
   bridge_fd 0
   bridge_maxwait 0
   dns-nameservers 192.168.1.1

iface br0 inet6 static
address fe80:21f:5bff:fe3b:73b1
netmask64
    pre-up echo 0 > /proc/sys/net/ipv6/conf/br0/autoconf
    post-down echo 1 > /proc/sys/net/ipv6/conf/br0/autoconf

/etc/network - Configuration de l'interface hôte

À partir de cela, je me suis retrouvé avec la configuration suivante dans Virtual Machine Manager:

Host Interface configuration in Virtual Machine Manager  Configuration de l'interface hôte dans Virtual Machine Manager

J'ai également configuré l'interface OpenWRT VM wan avec la configuration suivante:

config `switch` `eth0`
  option `enable` `1`

config `switch_vlan` `eth1`
   option `vlan` `0`
   option `device` `eth1`
   option `ports` `4 5` #wan

config `switch_vlan` `eth0_1`
   option `vlan` `1`
   option `device` `eth0`
   option `ports` `0` #lan 1

config `interface` `lan`
   option `ifname` `eth0.1`
   option `proto` `static`
   option `ipaddr` `192.168.100.1`
   option `netmask` `255.255.255.0`
   option `defaultroute` `0`
   option `peerdns` `0`
   option `nat` `1`

config `interface` `loopback`
   option ifname `log`
   option proto `static`
   option ipaddr `127.0.0.1`
   option netmask `255.0.0.0`

config interface `wan`
   option ifname `eth1`
   option type `bridge`
   option proto `static`
   option ipaddr `192.168.1.85`
   option gateway `192.168.1.1`
   option netmask `255.255.255.0`
   option dns `192.168.1.1`

/etc/config/network - OpenWRT VM configuration du réseau

Grâce à cela, je peux maintenant utiliser opkg pour télécharger les packages dont je pourrais avoir besoin pour la VM OpenWRT.


Cependant, je ne suis qu'à mi-chemin; J'aimerais placer des machines virtuelles clientes sur une série de réseaux privés derrière la machine virtuelle OpenWRT. J'ai fait de mon mieux pour configurer les ports LAN, mais je ne sais pas comment connecter les interfaces virtuelles de OpenWRT VM et les machines clientes.


J'ai également configuré un réseau virtuel à l'aide de Virtual Machine Manager:

The isolated virtual network configuration in Virtual Machine Manager  Le réseau virtuel isolé, intnet, la configuration dans Virtual Machine Manager

Je pensais que sur l'OpenWRT VM si je connectais une interface autre que l'interface WAN au réseau inet:

The OpenWRT VM LAN interface connected to the inet virtual network  OpenWRT VM Interface LAN configurée pour se connecter au réseau virtuel inet

.... et que si je connectais également l'interface réseau unique du client au réseau inet (et les configurais bien sûr tous les deux à l'intérieur de la machine virtuelle), cela serait capable de simuler les conditions de mon réseau physique.

Client machine interface configured to connect to the inet virtual network  Interface ordinateur client configurée pour se connecter au réseau virtuel inet

Je ne suis pas vraiment sûr de savoir comment procéder, la documentation de libvirt me déroute parce que je ne comprends pas très bien le commutateur virtuel; Il me semble que si la passerelle et la machine cliente sont connectées au commutateur virtuel du réseau inet isolé, il devrait au moins permettre à OpenWRT VM et à la machine cliente de se cingler. , Mais ce n'est pas le cas.

J'aimerais vérifier que la plomberie libvert est correcte en premier, puis que nous ajustons la configuration des interfaces de réseau local sur le réseau virtuel isolé inet sur les deux vms.

2
leeand00

Vous avez besoin de deux ponts hôtes.

  • br0 se connecte à internet, et

  • br1 est un pont factice auquel tous les clients openwrt se connectent.

Les instructions complètes pour une interface dhcp wan sont ici: http://wiki.openwrt.org/toh/qemu/qem

Je n'ai pas encore compris comment utiliser une adresse statique où l'hôte se connecte au pont br1 et donne à openwrt le contrôle total de br0 ... c'est une autre question.

1
rickfoosusa

Je viens de faire la même configuration moi-même et je tente de résoudre le problème depuis quatre jours. Enfin, j'ai trouvé une solution qui a fonctionné. J'ai aussi posté la même chose ici sur

Il s'est avéré que j'ai trop réfléchi à la solution. Une seule interface est nécessaire. J'ai également affecté l'interface physique de l'hôte aux ordinateurs virtuels. Ainsi, au lieu de créer un pont pour le réseau interne des machines virtuelles, je viens d'utiliser la même interface pour tout. Toutes les machines virtuelles et physiques partagent maintenant le même réseau local connecté à OpenWRT, attribuant des adresses IP et servant de redirecteur DNS.

0
hrdy