Un réseau privé relie vos machines entre elles par une seconde carte réseau, avec des adresses que vous choisissez. Ce trafic reste isolé des autres clients et n'est pas compté dans votre bande passante : une base de données, un cache ou une file de messages peuvent parler à vos serveurs d'application sans passer par Internet.
Créer un réseau
Une plage IPv4 privée, de /16 à /29, dans
10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16.
Deux clients peuvent choisir la même plage : leurs réseaux ne se voient pas. Le
réseau est prêt au retour de l'appel.
curl -s -X POST https://api.ffxf.net/v1/vpcs \
-H "Authorization: Bearer $FFXF_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "production", "cidr": "10.0.0.0/24", "region": "montreal"}'
{
"data": {
"id": 12,
"name": "production",
"cidr": "10.0.0.0/24",
"region": "montreal",
"status": "active",
"gateway": "10.0.0.1",
"internet_gateway": false,
"members": []
}
}
La première adresse utilisable (.1) est réservée à la passerelle ; vos
machines reçoivent les suivantes, dans l'ordre. Trois réseaux par compte, ce que
GET /vpcs rappelle dans quota.
Commander une machine dedans
POST /vms accepte vpc : la machine démarre avec sa carte
privée et son adresse déjà en place.
{
"plan": "nano", "region": "montreal", "image": "debian-13",
"hostname": "db-1", "billing": "hourly",
"vpc": 12
}
Avec "private_only": true, la machine n'a aucune adresse
publique : personne ne peut la joindre depuis Internet, seulement vos
machines du même réseau. Elle sort sur Internet par la passerelle du réseau, avec
une adresse partagée (mises à jour, téléchargements ; port 25 fermé). Son prix est
celui d'une machine sans IPv4 ("ipv4": false).
Brancher une machine existante
Une carte est ajoutée à chaud et son adresse posée dans le système :
pas de redémarrage. Indiquez une adresse avec ip, ou
laissez la prochaine libre.
curl -s -X POST https://api.ffxf.net/v1/vpcs/12/members \
-H "Authorization: Bearer $FFXF_TOKEN" \
-H "Content-Type: application/json" \
-d '{"vm": 4821}'
{ "data": { "vm": 4821, "hostname": "web-1", "ip": "10.0.0.3", "configuration": "automatic" } }
configuration vaut automatic quand l'adresse est en place.
Il vaut manual quand nous n'avons pas pu la poser nous-mêmes (machine
éteinte, système qui ne nous laisse pas configurer son réseau) : la carte est là,
configurez l'adresse indiquée sans passerelle. Brancher une machine déjà branchée
renvoie 200 avec la même adresse : un script peut rejouer sa
configuration sans erreur.
Déplacer, débrancher, supprimer
| Geste | Appel | À savoir |
|---|---|---|
| Déplacer | POST /vpcs/{vpc}/members/{vm}/move avec to | La machine rejoint le nouveau réseau avant de quitter l'ancien, et garde la même fin d'adresse si elle est libre (10.0.0.5 devient 10.1.0.5). |
| Débrancher | DELETE /vpcs/{vpc}/members/{vm} | Sans redémarrage. Refusé pour le seul réseau d'une machine sans adresse publique. |
| Supprimer | DELETE /vpcs/{vpc} | Refusé (409) tant qu'une machine y est branchée. |
Détails utiles
La carte privée a une MTU de 1450 octets, appliquée d'elle-même par Linux, Windows et
FreeBSD. Les adresses privées d'une machine apparaissent dans
GET /vms/{vm}/network, champ private. Un réseau privé vit
dans une région : une machine ne peut rejoindre qu'un réseau de sa région.
Les appels de lecture demandent la portée vms.read ; créer, brancher,
déplacer et supprimer demandent network.write. Le serveur MCP expose les
mêmes gestes : voir Outils MCP.