Resourcemodellen
Netwerkconcepten in de API
Hoe virtuele netwerken, VLAN's, IP-prefixen en adressen, IP-blokken en beveiligingsscans samenhangen in de Serverside.com-API.
Een virtueel netwerk bereikt een server als VLAN op een van zijn segmenten. IP-blokken bevinden zich op een netwerk en bevatten de aan servers toegewezen adressen met reverse DNS. Netwerken staan onder /v1/networking/virtual-networks en blokken onder /v1/networking/ip-blocks.
Zie Openbare IP-blokken voor een consolehandleiding voor het delen van een blok tussen servers.
Virtuele netwerken
Het type van een netwerk is PUBLIC of PRIVATE:
- Een openbaar netwerk bevat IP-blokken waarvan de adressen via de
gatewayvan elk blok het internet bereiken. - Een privaat netwerk vervoert alleen verkeer tussen uw eigen servers, zonder subnet of gateway van ons.
managedBy geeft de maker aan: CUSTOMER voor zelf gemaakte netwerken, SYSTEM voor internettoegangsnetwerken die het platform instelt. Virtuele netwerken opvragen laat systeemnetwerken weg tenzij u includeManaged=true meegeeft; type beperkt de lijst tot één soort. Virtueel netwerk opvragen geeft één netwerk met zijn ipBlocks terug. Virtueel netwerk bijwerken wijzigt alleen name en weigert een systeemnetwerk met 422 NETWORK_RENAME_BLOCKED.
Een nieuwe server krijgt een eigen internettoegangsnetwerk met de naam "Internet Access", geïsoleerd van uw andere servers. Het is het native netwerk van het eerste segment en bevat het IPv4-blok van /30 of groter en IPv6-/120 van de server. Een server besteld met zowel ipv4PrefixLength als ipv6PrefixLength op null (Facturering) krijgt helemaal geen netwerk; u sluit er eigen netwerken op aan. Het platform verwijdert een internettoegangsnetwerk zodra het geen IP-blok en geen aangesloten server meer bevat.
Een privaat netwerk verbindt servers binnen één datacenter; het netwerk zelf noemt geen datacenter. Uitbreiding tussen onze datacenters, zodat servers in verschillende stedelijke regio's in hetzelfde layer-2-netwerk zitten, komt binnenkort. Private netwerken vervoeren jumboframes met de private hostinterface ingesteld op MTU 9000. Frames met uw eigen 802.1Q-VLAN-tags passeren ook het netwerk, zodat u het in eigen VLAN's kunt verdelen.
Niets op een privaat netwerk is versleuteld. Verkeer dat versleuteling nodig heeft krijgt die via uw eigen TLS, WireGuard of IPsec.
VLAN-ID's
Elk netwerk dat u maakt heeft een binnen de organisatie unieke localVlanId tussen 11 en 4094: de VLAN-tag op uw serverpoorten. Tags 2 tot 10 zijn gereserveerd voor het platform. Een internettoegangsnetwerk heeft geen VLAN-ID (localVlanId is null) en gebruikt dus geen van uw tags. VLAN-beschikbaarheid opvragen geeft gebruikte tags als usedVlanIds en de volgende vrije als nextFreeVlanId, die null is als alle tags bezet zijn. Het reserveert niets; bij het maken kan de tag inmiddels bezet zijn.
Een op een server aangesloten netwerk toont ook provisioningVlanId: de tag waarmee het aankomt wanneer de serverpoorten tijdens netwerkstart of een bewerking op ons inrichtingsnetwerk staan. Dit is de eigen localVlanId of 10 voor een netwerk zonder die ID. Aangepaste iPXE-scripts beschrijft de poortwijzigingen in die modus.
Een server aansluiten
Een server sluit aan op een netwerk via een segment: één poort of twee gebundelde poorten die de host als één interface ziet. De segment-ID heet overal segmentId: in Netwerkmogelijkheden opvragen, bij de interfaces van de dienst, in het antwoord van Segment maken, in netwerklijsten en in alle aansluit- en adresaanroepen.
Dienst aansluiten accepteert serviceId, segmentId en isNative:
isNative | Het netwerk komt aan als |
|---|---|
true | Ongetagd verkeer, het native VLAN van het segment |
false | Verkeer getagd met de localVlanId van het netwerk |
Een segment vervoert één native netwerk en meerdere getagde netwerken. Een server kan dus tegelijk zijn internettoegangsnetwerk en twee private netwerken gebruiken. Een tweede native netwerk op een segment wordt geweigerd met 409 NATIVE_NETWORK_ALREADY_EXISTS; een netwerk zonder VLAN-ID kan alleen native worden aangesloten.
De wijziging bereikt de switches na het API-antwoord. Een aansluiting geeft daarom 202 Accepted terug, of 204 als dat netwerk al op dat segment is aangesloten. Tijdens toepassing toont Dienststatus opvragen networkChange.status APPLYING. De aansluiting zelf gaat van ATTACHING naar ATTACHED of ATTACH_FAILED in Virtuele dienstnetwerken opvragen en Aangesloten diensten opvragen van het netwerk. Dienst loskoppelen volgt hetzelfde patroon met DETACHING en DETACH_FAILED. Virtuele netwerken instellen loopt de aanroepen door.
Een server kan ook zonder openbaar netwerk draaien en alleen privaat bereikbaar zijn. Zo kan hij niet opnieuw worden geïnstalleerd: een implementatie vereist een primair IPv4-adres op een native netwerk en wordt anders geweigerd met 422 PRIMARY_IPV4_REQUIRED. Er is ook geen NAT-gateway. Het openbare netwerk van een server verwijderen behandelt beide punten.
Adressen
Adressen bevinden zich in IP-blokken. Een blok is één bereik op één netwerk in één datacenter, IPv4 of IPv6 (ipVersion V4 of V6). Het geeft zijn bereik als cidr met gateway, subnetMask en prefixLength. IP-blokken opvragen geeft alle blokken op uw netwerken met aantallen gebruikte en vrije adressen terug. IP-blok opvragen voegt de adressen toe, elk in een van vier toestanden: FREE, RESERVED, GATEWAY of ASSIGNED. De gateway is het eerste bruikbare adres van het blok en wordt nooit uitgegeven.
Een adres verlaat de vrije pool op twee manieren. Reserveren houdt het achter zonder koppeling aan een server. Toewijzen koppelt het aan een server die op het gebruikte segment met het bloknetwerk is verbonden. Een gereserveerd adres kan pas worden toegewezen nadat het is vrijgegeven. Beide families gebruiken dezelfde aanroepen met blok-ID en adres in het pad; deze staan onder IP-adressen beheren.
Reverse DNS wordt alleen op IPv4-adressen ingesteld en eerst voorwaarts gecontroleerd: de ingestelde naam moet al via een A-record naar dat adres verwijzen. Een naam zonder dat record wordt geweigerd met 422 RDNS_A_RECORD_NOT_FOUND, een naam die elders naar verwijst met 422 RDNS_A_RECORD_MISMATCH.
IP-blokken
Een IP-blok voegt adresruimte toe aan een openbaar netwerk. IP-blokconfiguraties opvragen bevat één configuratie per grootte met prijzen per factureringscyclus en voorraad per datacenter; geef datacenter mee voor één locatie. Twee aanroepen voegen een blok toe:
- Bij een looptijd is het een
IP_BLOCK-item van Bestelling maken, toegevoegd zodra de bestelfactuur betaald is (Facturering). - Bij uurfacturering voegt IP-blok maken het tijdens de aanvraag toe en antwoordt met
201en het blok. Uurfacturering moet voor de organisatie zijn ingeschakeld.
Beide accepteren de configuratie-ID als plan, datacenter als code zoals ams1 of ID en de networkId van het doelnetwerk.
IP-blok verwijderen zegt het abonnement van een apart besteld blok op en geeft het direct vrij, mits geen adres aan een server is toegewezen. Blokken die met een server zijn geleverd worden op diens abonnement gefactureerd: verwijderen wordt geweigerd met 422 BUNDLED_ITEM_CANCELLATION_BLOCKED; ze worden na het verwijderen van de server vrijgegeven.
Beveiligingsscans
Onze eigen scanner draait in productie op de adressen in AS55285, inclusief de uwe, en de API rapporteert bevindingen. Beveiligingsoverzicht opvragen geeft de scanner-status (lastScan, nextScan, isScanRunning) en een summary van bevindingen per ernst; data is null tot de eerste scan voltooid is. Beveiligingsbevindingen opvragen vermeldt bevindingen met filters voor severity, plugin, ip en serviceId. Scandoelen opvragen geeft aantallen per adres. Doel opnieuw scannen scant één adres uit het pad opnieuw en antwoordt met de nieuwe samenvatting. Beveiligingsscan opvragen geeft één rapport per aan de server toegewezen adres met open poorten en bevindingen.
Zie Beveiligingsscans voor de consoleworkflow, interpretatie van bevindingen en nieuwe scans.