Quasi tutti scoprono cosa significa NAT una decina di minuti dopo l'acquisto. Nginx parte, curl localhost restituisce la pagina, e il browser sul portatile continua a girare a vuoto. Non c'è niente di rotto. Il server semplicemente non ha un IPv4 pubblico suo, e l'unica porta d'ingresso è una porta inoltrata per SSH.
Quell'unica porta basta per una quantità sorprendente di lavoro, e non basta affatto per alcune cose molto comuni. Se stai ancora scegliendo tra i due tipi di tariffa, il nostro articolo precedente IP dedicato o VPS in NAT pone l'unica domanda che decide. Questo parla di come convivere con la risposta: cosa sa fare un server NAT in pratica, dove sbatte contro un muro e come uscirne quando ti va stretto.
Cosa ottieni davvero
Un server NAT ha un indirizzo privato dietro il nostro gateway. Il pannello mostra un host e una porta personale, e ti colleghi così:
ssh -p 20123 root@host
Quella porta porta alla porta 22 dentro il tuo server. Tutte le altre porte in ingresso su IPv4 sono chiuse dall'esterno, e non c'è modo di inoltrarne altre. In uscita è un'altra storia: il server raggiunge qualunque cosa su internet, tranne le porte SMTP 25 e 465, chiuse su tutte le tariffe, NAT o no. Le regole complete sono in Rete e porte.
Un altro dettaglio, che per qualcuno conta: l'indirizzo in uscita non è tuo. Il traffico esce da un indirizzo che non controlli, quindi non puoi impostarne il DNS inverso né costruirci sopra una reputazione di mittente.
Cosa gira benissimo dietro una sola porta
Tutto ciò che avvia la conversazione da solo. E la categoria è più ampia di quanto sembri:
- Bot che interrogano. Un bot Telegram in long polling, un bot Discord sulla sua connessione gateway, un bot di trading che parla con l'API di un exchange. Tutto in uscita.
- Agenti IA. Un agente che chiama API di modelli, naviga, scrive file ed esegue codice non ha bisogno che qualcuno lo chiami. Gli servono CPU, memoria e una connessione verso l'esterno.
- Worker e scraper. Tutto ciò che prende lavori da una coda, scansiona pagine o sincronizza dati a orari fissi.
- Macchine di build e runner. I runner CI di solito si registrano da soli sul server e vanno a prendersi il lavoro, quindi in NAT stanno benissimo.
Per questo tipo di carico la tariffa più economica basta, onestamente. Nano costa 3 $ al mese per 2 vCPU, 1 GB di RAM e 15 GB di disco; Small 8 $ per 4 vCPU, 4 GB e 35 GB. L'elenco completo è su una pagina dedicata alle tariffe NAT.
Dove una porta sola non basta
Il muro è tutto ciò in cui qualcun altro deve avviare la connessione.
Il sito web è il caso ovvio. I browser si collegano alla porta 443 (e alla 80 per il redirect), e su una tariffa NAT quelle porte dall'esterno non esistono. Nemmeno una porta non standard funziona, almeno non in un modo che i visitatori accettino.
Il tuo dominio con HTTPS sbatte contro lo stesso muro due volte. Puoi puntare un record DNS all'indirizzo del gateway, ma niente di ciò che arriva lì viene inoltrato al tuo server, tranne la tua porta SSH. E il modo abituale di ottenere un certificato gratuito verifica il tuo server sulla porta 80 o 443.
I webhook falliscono in silenzio. Notifiche di pagamento, una piattaforma di bot che invia aggiornamenti, un server Git che annuncia un nuovo commit: tutti devono raggiungerti. Il bot che funzionava benissimo in long polling smette di funzionare nel momento esatto in cui lo passi ai webhook.
Endpoint VPN, server di gioco e server di posta hanno bisogno di porte in ingresso per definizione. Come qualunque cosa vorresti aprire a un collega nel browser.
Le scorciatoie, con onestà
IPv6. I nuovi server Linux ricevono un indirizzo IPv6 pubblico, e sulle tariffe NAT raggiunge il server direttamente, su qualsiasi porta. Se tutti i client del tuo servizio sono tuoi (il portatile, gli altri server, una sonda di monitoraggio con IPv6), funziona bene. Per un sito pubblico no: una parte dei visitatori è ancora su reti senza IPv6 e semplicemente non caricherà mai la pagina. Le tariffe Windows per ora sono solo IPv4.
Un tunnel. Puoi far girare un piccolo agente che tiene una connessione in uscita verso un relay altrove, il quale rimanda il traffico pubblico giù per il tunnel. Funziona, e per una demo o una dashboard interna è ragionevole. Per qualunque cosa importante hai messo una terza parte in mezzo a ogni richiesta, più un pezzo in più che può rompersi alle tre di notte.
Un tunnel SSH per te. Se l'unica persona che ha bisogno del pannello di amministrazione sei tu, non esporlo proprio. Fallo passare dalla porta SSH che hai già:
ssh -p 20123 -L 8080:localhost:8080 root@host
Poi apri http://localhost:8080 sul tuo computer. È il trucco più sottovalutato su un server NAT, e comunque è più sicuro che mettere il pannello su internet.
La mia opinione sincera: IPv6 e tunnel SSH sono buoni strumenti. Un servizio pubblico permanente che passa da un tunnel solo perché il server non ha IPv4, di solito, è il segnale che il NAT ti sta stretto.
Passare a un IPv4 tutto tuo senza reinstallare
Non devi ricostruire niente. Apri il server nel pannello, scegli «Cambia tariffa» e una tariffa con IP dedicato della stessa taglia o più grande. Il server si riavvia una volta e torna con il suo IPv4 pubblico, il suo disco e tutto ciò che hai installato. Le porte 80, 443 e tutto ciò che apri nel firewall diventano raggiungibili, e SSH passa alla normale porta 22. I dettagli sono in Cambiare tariffa.
Un paio di cose da sapere prima di cliccare:
- Paghi la differenza proporzionale per il resto del periodo in corso, dal saldo. Nano-IP costa 8 $ al mese contro i 3 $ di Nano; Small-IP 16 $ contro 8 $.
- Serve un indirizzo libero nella località del tuo server. Se in questo momento non c'è, il pannello te lo dice prima di addebitare qualcosa.
- Se hai modificato a mano la configurazione di rete dentro il server, controllala dopo il riavvio. Su un'immagine standard viene applicata da sola.
- Fai prima un backup. È un solo riavvio, ma i dati restano tuoi.
Dove il NAT non va bene, e dove non va bene nemmeno l'IPv4
Il NAT è la scelta sbagliata per tutto ciò che è pubblico, per tutto ciò che riceve webhook e per tutto ciò che ha bisogno di un indirizzo fisso che qualcuno mette in una allowlist. Non passare giorni a cercare di aggirarlo. La differenza di prezzo tra Nano e Nano-IP è di 5 $ al mese.
Ma nemmeno un IPv4 dedicato fa miracoli. Non convincerà un sito che blocca gli indirizzi dei data center a farti entrare, e non salverà uno scraper dai limiti di richieste, perché quelle decisioni dipendono dalla rete in cui ti trovi, non da chi altro usa l'indirizzo. E se tutto il tuo progetto sono un paio di bot e un agente, comprare un IPv4 su cui nessuno si collegherà mai è denaro buttato.
Se comunque stai pianificando il passaggio a una configurazione più grande, traslocare un VPS senza downtime spiega l'ordine delle operazioni, e come leggere le specifiche di un VPS ti aiuta a confrontare le tariffe.
Commenti
Ancora nessun commento. Sii il primo.