Modèles de ressources

Concepts de l’API réseau

Comment les réseaux virtuels, VLAN, préfixes et adresses IP, blocs d’IP et analyses de sécurité s’articulent dans l’API Serverside.com.

Un réseau virtuel atteint un serveur sur l’un de ses segments sous forme de VLAN. Les blocs d’IP se trouvent sur un réseau et contiennent les adresses attribuées aux serveurs et leurs DNS inverses. Les réseaux sont sous /v1/networking/virtual-networks, les blocs sous /v1/networking/ip-blocks.

Consultez les blocs d’IP publiques pour partager un bloc entre serveurs depuis la console.

Réseaux virtuels

Le type d’un réseau vaut PUBLIC ou PRIVATE :

  • Un réseau public porte des blocs d’IP ; leurs adresses accèdent à Internet via la gateway de chaque bloc.
  • Un réseau privé ne transporte que le trafic entre vos serveurs, sans sous-réseau ni passerelle fournis par nous.

managedBy indique le créateur : CUSTOMER pour vos réseaux, SYSTEM pour les réseaux d’accès Internet créés par la plateforme. Lister les réseaux virtuels exclut les réseaux système sauf avec includeManaged=true ; type limite la liste à une nature de réseau. Obtenir un réseau virtuel renvoie un réseau avec ses ipBlocks. Modifier un réseau virtuel ne change que name et refuse un réseau système avec 422 NETWORK_RENAME_BLOCKED.

Un nouveau serveur reçoit son propre réseau d’accès Internet, nommé "Internet Access", isolé de vos autres serveurs. C’est le réseau natif du premier segment, contenant son bloc IPv4 /30 ou plus grand et son IPv6 /120. Un serveur commandé avec ipv4PrefixLength et ipv6PrefixLength tous deux à null (Facturation) ne reçoit aucun réseau ; vous y rattachez vos propres réseaux. La plateforme supprime un réseau d’accès Internet lorsqu’il ne contient plus de bloc d’IP ni de serveur rattaché.

Un réseau privé relie des serveurs dans un datacenter ; le réseau lui-même ne nomme pas de datacenter. Son extension entre nos datacenters, pour qu’un serveur d’une métropole et un autre d’une autre métropole partagent le même réseau de niveau 2, arrive prochainement. Les réseaux privés transportent des trames jumbo avec l’interface privée de l’hôte à une MTU de 9000. Les trames portant vos propres tags VLAN 802.1Q traversent aussi le réseau ; vous pouvez donc le diviser en VLAN définis par vous.

Rien n’est chiffré sur un réseau privé. Le trafic nécessitant un chiffrement l’obtient via vos propres TLS, WireGuard ou IPsec.

ID VLAN

Chaque réseau créé possède un localVlanId de 11 à 4094, unique dans l’organisation : le tag VLAN porté sur les ports de vos serveurs. Les tags 2 à 10 sont réservés à la plateforme. Un réseau d’accès Internet n’a pas d’ID VLAN (localVlanId vaut null) et n’utilise donc aucun des vôtres. Obtenir la disponibilité VLAN renvoie les tags utilisés dans usedVlanIds et le prochain libre dans nextFreeVlanId, qui vaut null si tous sont pris. Aucun tag n’est réservé ; il peut donc être pris au moment de la création.

Un réseau rattaché à un serveur affiche aussi provisioningVlanId : le tag utilisé lorsque les ports sont sur notre réseau de provisionnement, pendant un démarrage réseau ou une opération. Il s’agit du localVlanId du réseau, ou de 10 s’il n’en a pas. Les scripts iPXE personnalisés expliquent les changements du port dans ce mode.

Rattacher un serveur

Un serveur se rattache à un réseau via un segment : un port, ou deux ports agrégés, vus par l’hôte comme une interface. L’ID du segment est segmentId partout : dans Obtenir les capacités réseau, les entrées interfaces du service, la réponse de Créer un segment, les listes de réseaux et chaque appel de rattachement et d’adresse.

Rattacher un service accepte serviceId, segmentId et isNative :

isNativeArrivée du réseau
trueTrafic non tagué, VLAN natif du segment
falseTrafic tagué avec le localVlanId du réseau

Un segment porte un réseau natif et plusieurs réseaux tagués ; un serveur peut ainsi se trouver sur son réseau Internet et deux réseaux privés à la fois. Un second réseau natif est refusé avec 409 NATIVE_NETWORK_ALREADY_EXISTS ; un réseau sans ID VLAN ne peut être rattaché qu’en natif.

La modification atteint les commutateurs après la réponse API ; un rattachement renvoie donc 202 Accepted, ou 204 si ce réseau est déjà rattaché à ce segment. Pendant son application, Obtenir l’état du service affiche networkChange.status à APPLYING. Le rattachement passe de ATTACHING à ATTACHED, ou ATTACH_FAILED, dans Lister les réseaux virtuels du service et Lister les services rattachés du réseau. Détacher un service suit le même modèle avec DETACHING et DETACH_FAILED. Configurer les réseaux virtuels détaille les appels.

Un serveur peut aussi fonctionner sans aucun réseau public, accessible uniquement par réseau privé. Il ne peut pas être réinstallé ainsi : un déploiement exige une IPv4 principale sur un réseau natif, sinon il est refusé avec 422 PRIMARY_IPV4_REQUIRED. Il n’existe pas non plus de passerelle NAT. Retirer le réseau public d’un serveur traite ces deux points.

Adresses

Les adresses appartiennent à des blocs d’IP. Un bloc est une plage sur un réseau dans un datacenter, IPv4 ou IPv6 (ipVersion à V4 ou V6), avec sa plage dans cidr, ainsi que gateway, subnetMask et prefixLength. Lister les blocs d’IP renvoie tous les blocs de vos réseaux avec le nombre d’adresses utilisées et libres. Obtenir un bloc d’IP ajoute les adresses, chacune dans l’un des quatre états : FREE, RESERVED, GATEWAY, ASSIGNED. La passerelle est la première adresse utilisable et n’est jamais attribuée.

Une adresse quitte le pool libre de deux façons. La réservation la conserve sans la lier à un serveur. L’attribution la lie à un serveur rattaché au réseau du bloc, sur le segment utilisé par ce rattachement. Une adresse réservée ne peut être attribuée avant libération. Les deux familles utilisent les mêmes appels, avec l’ID du bloc et l’adresse dans le chemin ; Gérer les adresses IP les présente.

Le DNS inverse ne se définit que pour IPv4 et vérifie d’abord la résolution directe : le nom doit déjà se résoudre via un enregistrement A vers l’adresse concernée. Sans cet enregistrement, il est refusé avec 422 RDNS_A_RECORD_NOT_FOUND ; s’il pointe ailleurs, avec 422 RDNS_A_RECORD_MISMATCH.

Blocs d’IP

Un bloc d’IP ajoute de l’espace d’adressage à un réseau public. Lister les offres de blocs d’IP propose une offre par taille avec son prix par cycle et son stock par datacenter ; passez datacenter pour un emplacement. Deux appels ajoutent un bloc :

  • Par période, c’est un article IP_BLOCK de Créer une commande, ajouté au réseau après paiement de la facture (Facturation).
  • En horaire, Créer un bloc d’IP l’ajoute pendant la requête et répond 201 avec le bloc. La facturation horaire doit être activée pour l’organisation.

Les deux acceptent l’ID de l’offre dans plan, le datacenter sous forme de code comme ams1 ou d’ID, et le networkId auquel ajouter le bloc.

Supprimer un bloc d’IP résilie l’abonnement d’un bloc commandé seul et le libère immédiatement, si aucune de ses adresses n’est attribuée à un serveur. Les blocs inclus avec un serveur sont facturés sur son abonnement : leur suppression est refusée avec 422 BUNDLED_ITEM_CANCELLATION_BLOCKED ; ils sont libérés après la suppression du serveur.

Analyses de sécurité

Notre scanner s’exécute en production sur les adresses de l’AS55285, y compris les vôtres ; l’API rapporte ses résultats. Obtenir la vue d’ensemble de sécurité fournit le status du scanner (lastScan, nextScan, isScanRunning) et un summary des résultats par gravité ; data vaut null jusqu’à la fin de la première analyse. Lister les résultats de sécurité liste chaque résultat avec des filtres severity, plugin, ip, serviceId ; Lister les cibles d’analyse donne les nombres par adresse. Analyser à nouveau une cible analyse l’adresse nommée dans le chemin et renvoie son nouveau récapitulatif. Obtenir l’analyse de sécurité renvoie un rapport par adresse attribuée au serveur, avec ports ouverts et résultats.

Consultez les analyses de sécurité pour le workflow console, l’interprétation des résultats et les nouvelles analyses.