OpenVPN ultimamente sembra più lento e mi chiedo come posso testare la velocità di connessione al NAS per confrontarla con quella del client.
Ho provato a configurare un setup su Docker un po’ di tempo fa e ho mollato. Sarebbe più veloce rispetto al server VPN nativo? Non cerco le stesse velocità senza VPN, ma 3-15 Mbps non bastano e sembra che ultimamente ci siano lag particolari. Penso che il server abbia 75 Mbps in upload, il client 300 in download.
Ho disattivato la compressione senza grandi cambiamenti.
La quantità di spazio di memoria libera sul NAS influisce?
Dovrei passare a L2TP/IPSec o far gestire il tutto dal router invece che dal NAS?
Qual è la velocità di upload del tuo ISP?
So di ottenere circa 6 Mbps in upload, quindi questa è la massima velocità che posso aspettarmi dal mio VPN.
L’unico modo per verificare bene se c’è una differenza sarebbe provare con tre gateway locali differenti.
Uno principale che si collega a internet e due router separati che forniscono banda propria dell’ISP. Questo segmenterebbe le velocità di upload limitate dal tuo ISP.
Poi dovresti semplicemente usare un VPN tra la rete A e la rete B e vedere quanta velocità si perde.
Per approfondire, ti consiglierei di inoltrare il traffico tra il NAS in rete B e trasferire un grande file per stabilire una baseline. Su Ethernet da 1 Gbit dovresti vedere circa 125 MB/s o 1 Gbit di velocità di trasferimento.
C’è ancora qualche perdita dovuta a fattori come i hop che il traffico deve attraversare, traffico su altre linee, e la capacità di CPU/disco del NAS e del PC.
Una volta che hai la baseline, puoi attivare il VPN e rifare il test per vedere quanto si perde. Se si tratta di 5-10 MB/s, allora il problema potrebbe essere nel server VPN o nelle risorse di sistema.
Qualcosa da considerare è che se hai un NAS come il 218, con una sola NIC e una sola linea, quel VPN condivide risorse con la macchina host e con qualsiasi VM o container Docker in esecuzione. La soluzione migliore sarebbe aggiornare a un modello con più porte NIC, per aumentare la banda del NAS.
Se ottieni circa 80 MB/s di velocità di trasferimento con il VPN, direi che il limite più alto è la velocità di upload del tuo ISP.
Se vuoi testare la velocità direttamente dal NAS e hai accesso SSH, puoi usare wget
o curl
.
Sono già preinstallati sul NAS.
Nel NAS testo con speedtestcli in Docker.
Ma il miglior test è sul router, che copre il VPN per tutta la rete, perché ha senso dato che difficilmente metti il VPN su dispositivi piccoli, come ad esempio Shield Plus, e potresti esaurire le connessioni massimo.
In definitiva, non userei protocolli vecchi e passerei a WireGuard. La mia aspettativa di velocità VPN è praticamente il 100% di quella dell’ISP, e funziona con tutti i provider, ma non sempre con OpenVPN, che richiede molta CPU. Quando ho aggiornato a un ISP da 500 Mbps, ho dovuto passare a WireGuard per recuperare il 100% di velocità, arrivando a 500 Mbps ora. Htop mi mostrerà quanta potenza rimane per aumentare ulteriormente fino a 1000 Mbps, così come faceva prima. Monitro anche l’interfaccia WAN con bwm-ng o simili, poiché faccio tanto speedtest quanto test dell’ISP su un PC.
Ho testato un file di grandi dimensioni e ottengo circa 1.5-2 MB/s, che penso sia una velocità di upload di circa 75 Mbps.
Ottimo consiglio. Ho fatto una verifica veloce senza aumentare la memoria condivisa. Grazie.
Non è un buon test, perché SSH di solito non arriva a saturare la banda.
Hai configurato WireGuard in Docker?
È una linea commerciale?
75 MB/s in upload equivale a circa 650 Mbit/s.
300 MB/s in download equivale a circa 2,5 Gbit/s.
Per sfruttare appieno questa velocità di download dovresti avere una linea da 10 Gbps in uscita. Oppure avere 2-3 linee Ethernet da 1 Gbps ciascuna. Tuttavia, questo non dovrebbe influenzare molto la velocità di upload, che non utilizza la massima capacità di una linea da 1 Gbps.
Hai frainteso.
Accedi allo SSH al NAS.
Poi usa wget o curl sulla CLI del NAS.
Sul router (OpenWRT), in kernel (bastante opposto alla semi-virtualizzazione), dato che non voglio che il NAS gestisca tutte le connessioni, specialmente quelle WAN.
Ho chiarito, intendevo MB/s per la velocità dell’ISP.
Capito, ma è comunque una scelta povera. In molti casi, specialmente nel mio esempio, la velocità nei test sarà limitata o casuale dall’altro lato, e si fa solo un test unidirezionale. I test di velocità sono utili per assicurarsi di avere banda sufficiente e per ottenere numeri affidabili, quindi consiglierei di usare speedtest-cli o semplicemente un test HTTPS da desktop, dato che il collo di bottiglia tra NAS e desktop è assente.
Quindi 1 Megabyte(MB) sono 8 Megabit(Mb).
Quindi, su una linea da 75 Mb/s, si ottiene circa 9 MB/s.
Come stai facendo i test di velocità?
Copia un file su Windows? Quando lo fai, la finestra di popup mostra MBps mentre se fai un test su speedtest.net mostra Mbps.
Usare speedtest.net non è sempre molto preciso, perché si considerano non solo i hop dal dispositivo al server VPN, ma anche il ritorno in LAN al server di speed test, tutti soggetti a perdita di banda.
In realtà continui a fraintendere. Hai già provato con curl o wget e cosa possono fare?
curl
può essere usato sia per caricamenti che per download. Offre la possibilità di fare un test bidirezionale senza dover installare software non verificato.
Ripetilo tante volte quanto vuoi per ottenere un campione statistico abbastanza significativo.
Se preferisci usare i tuoi metodi, va bene così.
Ho provato entrambi. Non riesco a ottenere velocità vicine ai 75 Mbps con nessuno dei due metodi.
Capisco, ma non è una buona soluzione, perché che server raggiungi e che server permette di caricare? Probabilmente otterrai un risultato su 4 (nessun upload, ping e jitter). Quel server dovrebbe essere più veloce di quello scelto dal servizio di speed test. Alla fine, puoi semplicemente testare scaricando il file di speedtest e curlandolo, perché non complicarsi la vita..
Probabilmente il problema riguarda il NAS. Hai testato la velocità tra il sistema host, ad esempio trasferendo file da una condivisione sul NAS?
Se i risultati sono buoni, allora il problema potrebbe essere il server VPN o il sistema che gli assegna risorse. Potresti aumentare la RAM.