IP-schema

Overzicht van het IP-adresseringsschema en de netwerkarchitectuur die wordt gebruikt om meerdere ontwikkelomgevingen te isoleren in een Vagrant-gebaseerde Ansible-setup met LXD-containers en VirtualBox-VM’s.

De ontwikkelomgeving gebruikt een logische subnetindeling om omgevingen zoals c2d en pxd gescheiden te houden en tegelijk interne communicatie mogelijk te maken. Elke omgeving krijgt eigen subnetten toegewezen voor LXD-containers en VirtualBox virtuele machines.

Concept

  • Isolatie per omgeving: Elke omgeving (bijvoorbeeld c2d of pxd) ontvangt eigen unieke subnetten. Verkeer tussen de c2d- en pxd-omgevingen blijft volledig gescheiden.
  • Communicatie binnen een omgeving: Binnen één omgeving kunnen de LXD-containers en VirtualBox-VM’s elkaar bereiken. Hoewel ze op verschillende subnetten zitten, fungeert de hostmachine als router en stuurt deze het verkeer tussen de virtuele netwerkbruggen door via IP forwarding en NAT.

IP Schema Overview

De onderstaande tabel toont hoe een enkel /20-blok het adresbereik voorziet voor meerdere omgevingen. De LXD-bridge (lxdbr1) wordt éénmaal geconfigureerd met dit grotere subnet. Omgevingen worden vervolgens logisch gescheiden door er niet-overlappende reeksen binnen dat blok aan toe te wijzen. Alleen de reeksen die beginnen bij 192.168.48.0 worden getoond.

OmgevingLXD-netwerk (containers)VirtualBox-netwerk (VM’s)
c2d192.168.48.0/24192.168.49.0/24
pxd192.168.50.0/24192.168.51.0/24
(gereserveerd)192.168.52.0/24192.168.53.0/24
(gereserveerd)192.168.54.0/24192.168.55.0/24

Het blok 192.168.48.0/20 omvat adressen 192.168.48.0 tot en met 192.168.63.255. Met de volgende opdracht wordt de LXD-bridge binnen dit blok geconfigureerd:

lxc network set lxdbr1 ipv4.address=192.168.48.1/20

Hoe de communicatie werkt

Zowel LXD als VirtualBox maken hun eigen virtuele netwerkinterfaces (bridges) aan op de host.

  • LXD zet doorgaans een bridge zoals lxdbr1 op met gateway 192.168.48.1.
  • VirtualBox maakt een host-only adapter met gateway 192.168.49.1.

Wanneer een LXD-container (bijvoorbeeld 192.168.48.5) verkeer stuurt naar een VirtualBox-VM (bijvoorbeeld 192.168.49.10), volgen de pakketten deze stappen:

  1. De container stuurt het verkeer naar zijn standaardgateway (de host op 192.168.48.1).
  2. De Linux-host ontvangt de pakketten. Omdat IP forwarding is ingeschakeld, routeert de host het verkeer naar de VirtualBox-interface.
  3. De VirtualBox-VM antwoordt; de host routeert het antwoord terug naar de oorspronkelijke LXD-container.

Er is geen extra tunneling of software nodig; standaard Linux-netwerken samen met de Vagrant-, LXD- en VirtualBox-configuraties regelen de doorsturing transparant.

Voordelen

  • Duidelijk en voorspelbaar: Direct zichtbaar bij welke omgeving een IP-adres hoort.
  • Veilige isolatie: Een container in de pxd-omgeving kan geen resources bereiken in de c2d-omgeving omdat de host geen routes tussen deze omgevingen deelt.
  • Schaalbaar: Een enkel /20-blok biedt adressen voor meerdere omgevingen. Bij meer behoefte kan het schema eenvoudig worden uitgebreid met /22 (of grotere) blokken.

Laatst gewijzigd 2026.07.10: dev setup ip schema C2-1540 (d639ac0)