Cerino & Bomba Gestore asta del fantacalcio

PRINCIPALE COMPONENTI CONFIGURAZIONE SERVIZI VERSIONI SUPPORTO PIANIFICAZIONE

Ramsete Software - Errore programma

La configurazione della rete riveste un ruolo fondamentale per il corretto funzionamento dell’asta. Dalle versioni 3.14.x è stato introdotto Mozzo, componente per l’assistenza alla configurazione d’asta, come facilitatore e guida alla preparazione di una sessione d’asta


Ramsete Software - Configurazione Questo è il documento utile alla configurazione della rete per la gestione dell’asta
Ramsete Software - Larghezza di banda Questo è il documento per la misurazione della larghezza di banda delle connessioni di rete utilizzando IPERF3

Configurazione in una rete domestica INTRANET

Configurazione intranet o rete domestica

Connessione che utilizza l’indirizzo privato della macchina ove risiede il componente Bomba



Componente Caratteristiche della configurazione
Ramsete Software - Bomba

Il componente Bomba deve risiedere su una macchina dalle buone prestazioni (vedi requisiti “hardware” raccomandati)

Il componente Bomba deve risiedere su una macchina “visibile” dalle macchine su cui sono installati i componenti Cerino

Ramsete Software - Cerino

I componenti Cerino possono risiedere anche sulla stessa macchina del componente Bomba

Il numero massimo dei componenti Cerino gestibili dal componente Bomba è trenta

Ramsete Software - Connessione

È meglio evitare connessioni “wireless” avendo queste una qualità del servizio inferiore rispetto alle cablate

La larghezza di banda minima richiesta è di circa 24 Mbps in ricezione [3 Mbyte/s] e 3 Mbps in trasmissione [384 Kbyte/s]



Configurazione in una rete mista INTRANET e INTERNET

Configurazione mista

Connessione che utilizza l’indirizzo pubblico della macchina ove risiede il componente Bomba

Connessione che utilizza l’indirizzo privato della macchina ove risiede il componente Bomba



Componente Caratteristiche della configurazione
Ramsete Software - Bomba

Il componente Bomba deve risiedere su una macchina dalle buone prestazioni (vedi requisiti “hardware” raccomandati)

Il componente Bomba deve risiedere su una macchina “visibile” dalle macchine su cui sono installati i componenti Cerino

La configurazione mista “standard” prevede che il componente Bomba risieda su una macchina visibile in “internet” con indirizzo pubblico non necessariamente statico in senso stretto. Questa obbligatorietà può essere rilassata implementando una configurazione mista “distribuita” con il componente Camallo (vedi sezione “Configurazione” § “QUANDO CAMALLO”)

Ramsete Software - Cerino

I componenti Cerino possono risiedere anche sulla stessa macchina del componente Bomba

Il numero massimo dei componenti Cerino gestibili dal componente Bomba è trenta (tra quelli in “intranet” e “internet”)

Ramsete Software - Connessione

È meglio evitare connessioni “wireless” avendo queste una qualità del servizio inferiore rispetto alle cablate

La larghezza di banda minima richiesta è di circa 24 Mbps in ricezione [3 Mbyte/s] e 3 Mbps in trasmissione [384 Kbyte/s]



Scenario tecnico - FIBRA OTTICA

Configurazione mista - Fibra

Rete pubblica Rete domestica/privata


Scenario con accesso ad internet attraverso fibra ottica:

  • Gli Internet Service Provider che consentono l’accesso ad internet attraverso la fibra ottica assegnano tipicamente un intervallo di indirizzi privati consentendo di creare una rete domestica attraverso dispositivi come HUB, switch o router
  • I componenti Cerino esterni alla rete domestica in cui risiede il componente Bomba hanno necessità di accedere all’indirizzo pubblico di quest’ultima rilasciato dall’ISP per potersi collegare al componente Bomba; è quindi necessario noleggiare un indirizzo pubblico e statico presso l’ISP e mapparlo (Network Address Translation) con l’indirizzo privato della macchina su cui risiede il componente Bomba; l’attività di nolo e mappatura è solitamente possibile eseguirla in autonomia attraverso gli strumenti guidati e i manuali messi a disposizione dall’ISP o, in alternativa, vengono eseguiti da personale specializzato dell’ISP stesso. Qualora sia attivo e gestito il protocollo UPnP è possibile effettuare questa mappatura direttamente dal componente Bomba (oppure dal componente Camallo se in uso - vedi il paragrafo relativo)
  • La verifica di accessibilità è possibile effettuarla attraverso il sito yougetsignal.com impostando l’indirizzo pubblico e il numero della porta da verificare. Prima di eseguire il test è necessario avviare il componente Bomba disponendolo nella modalità di attesa connessioni. Tale disposizione si realizza configurando una rete “standard” nella sezione Reti e successivamente avviando il componente dalla sezione Connessione (con modalità quasi analoga è possibile eseguire tale verifica anche con il componente Camallo - vedi il paragrafo relativo)
  • I componenti Cerino interni alla rete domestica in cui risiede il componente Bomba hanno invece necessità di accedere all’indirizzo privato assegnato alla macchina su cui risiede il componente Bomba per effettuare il collegamento
  • Gli eventuali componenti Cerino presenti sulla stessa macchina del componente Bomba possono utilizzare per il collegamento con quest’ultimo indifferentemente l’indirizzo privato piuttosto che l’indirizzo di “loopback” 127.0.0.1
  • Qualora l’ISP imponga qualche limitazione nell’uso delle porte potrebbe rendersi necessario, per ovviare al problema, modificare la porta di “default” 50010 sia sul componente Bomba sia sui componenti Cerino


Scenario tecnico - LINEA TELEFONICA CON MODEM/ROUTER

Configurazione mista - Linea telefonica

Rete pubblica Rete domestica/privata


Scenario con accesso ad internet attraverso linea telefonica con modem/router:

  • Gli Internet Service Provider che consentono l’accesso ad internet attraverso la linea telefonica utilizzano solitamente la tecnologia di trasmissione Digital Subscriber Line (es. ADSL o VDSL2); l’accesso attraverso modem/router consente di ottenere un indirizzo pubblico, non necessariamente statico in senso stretto, e la creazione di una rete domestica attraverso il “router” del dispositivo modem/router
  • I componenti Cerino esterni alla rete domestica in cui risiede il componente Bomba hanno necessità di accedere all’indirizzo pubblico di quest’ultima rilasciato dall’ISP al momento della connessione attraverso modem/router per potersi collegare al componente Bomba; è quindi necessario mappare l’indirizzo pubblico e la porta di accesso (“port forwarding”) con l’indirizzo privato e la porta di ascolto della macchina su cui risiede il componente Bomba; l’attività di mappatura, qualora si renda necessario svolgerla manualmente, è solitamente possibile eseguirla in autonomia attraverso gli strumenti guidati e i manuali del proprio modem/router (qui i dettagli su come eseguire il “port forwarding” sul proprio modem/router). Qualora sia attivo e gestito il protocollo UPnP è possibile effettuare questa mappatura direttamente dal componente Bomba (oppure dal componente Camallo se in uso - vedi il paragrafo relativo)
  • La verifica di accessibilità è possibile effettuarla attraverso il sito yougetsignal.com impostando l’indirizzo pubblico e il numero della porta da verificare. Prima di eseguire il test è necessario avviare il componente Bomba disponendolo nella modalità di attesa connessioni. Tale disposizione si realizza configurando una rete “standard” nella sezione Reti e successivamente avviando il componente dalla sezione Connessione (con modalità quasi analoga è possibile eseguire tale verifica anche con il componente Camallo - vedi il paragrafo relativo)
  • I componenti Cerino interni alla rete domestica in cui risiede il componente Bomba hanno invece necessità di accedere all’indirizzo privato assegnato alla macchina su cui risiede il componente Bomba per effettuare il collegamento
  • Gli eventuali componenti Cerino presenti sulla stessa macchina del componente Bomba possono utilizzare per il collegamento con quest’ultimo indifferentemente l’indirizzo privato piuttosto che l’indirizzo di “loopback” 127.0.0.1
  • Qualora l’ISP imponga qualche limitazione nell’uso delle porte potrebbe rendersi necessario, per ovviare al problema, modificare la porta di “default” 50010 sia sul componente Bomba sia sui componenti Cerino


Scenario tecnico - LINEA TELEFONICA CON MODEM

Configurazione mista - Linea telefonica

Rete pubblica Rete domestica/privata


Scenario con accesso ad internet attraverso linea telefonica con modem:

  • Gli Internet Service Provider che consentono l’accesso ad internet attraverso la linea telefonica utilizzano solitamente la tecnologia di trasmissione Digital Subscriber Line (es. ADSL o VDSL2); l’accesso attraverso modem consente di ottenere un indirizzo pubblico, non necessariamente statico in senso stretto; la creazione di una rete domestica la si ottiene utilizzando dispositivi come HUB, switch o router (in alcuni casi è necessario predisporre un servizio di “Dynamic Host Configuration Protocol” sulla macchina del componente Bomba)
  • I componenti Cerino esterni alla rete domestica in cui risiede il componente Bomba hanno necessità di accedere all’indirizzo pubblico di quest’ultima rilasciato dall’ISP al momento della connessione attraverso modem per potersi collegare al componente Bomba; per il tipo di configurazione la macchina su cui risiede il componente Bomba è dotata di entrambi gli indirizzi (pubblico e privato) non rendendo quindi necessaria alcuna tipologia di mappatura come “NAT” o “port forwarding”; le macchine interne alla rete domestica non avranno in generale un accesso diretto ad internet a meno che non venga consentita una condivisione della connessione da parte della macchina su cui risiede il componente Bomba (questa pratica è sconsigliata al fine di non appesantire l’unità di calcolo di quest’ultima macchina)
  • La verifica di accessibilità è possibile effettuarla attraverso il sito yougetsignal.com impostando l’indirizzo pubblico e il numero della porta da verificare. Prima di eseguire il test è necessario avviare il componente Bomba disponendolo nella modalità di attesa connessioni. Tale disposizione si realizza configurando una rete “standard” nella sezione Reti e successivamente avviando il componente dalla sezione Connessione (con modalità quasi analoga è possibile eseguire tale verifica anche con il componente Camallo - vedi il paragrafo relativo)
  • I componenti Cerino interni alla rete domestica in cui risiede il componente Bomba hanno invece necessità di accedere all’indirizzo privato assegnato alla macchina su cui risiede il componente Bomba per effettuare il collegamento
  • Gli eventuali componenti Cerino presenti sulla stessa macchina del componente Bomba possono utilizzare per il collegamento con quest’ultimo indifferentemente l’indirizzo privato piuttosto che l’indirizzo di “loopback” 127.0.0.1
  • Qualora l’ISP imponga qualche limitazione nell’uso delle porte potrebbe rendersi necessario, per ovviare al problema, modificare la porta di “default” 50010 sia sul componente Bomba sia sui componenti Cerino


QUANDO CAMALLO

Nello scenario misto, Camallo è il componente che consente di creare una rete distribuita d’asta. La rete distribuita elimina l’obbligatorietà di avere l’indirizzo pubblico attivo per la rete privata in cui risiede il componente Bomba. Questo non significa che l’indirizzo pubblico non è più necessario, ma che non è più obbligatorio averlo attivo per la rete ove risiede il componente Bomba. L’utilità della rete distribuita trova la sua massima espressione quando il gruppo più numeroso di partecipanti all’asta utilizza la stessa rete privata ove, per ragioni tecniche o per motivi di praticità, non è semplice attivare un indirizzo pubblico. Considerando che per questioni di prestazioni delle reti è sempre meglio avere il componente Bomba nella stessa rete privata in cui risiede il gruppo più numeroso di partecipanti all’asta, Camallo permette di “spostare” l’attivazione dell’indirizzo pubblico all’esterno di questa rete privata. Camallo può essere considerato un “router” d’asta ed in virtù di questa caratteristica è anche utilizzabile, in particolari condizioni, per distribuire il traffico di rete che transita attraverso internet rientrando quindi nei requisiti minimi della larghezza di banda richiesta. Il componente Camallo può essere presente anche sulla stessa macchina in cui risiede il componente Cerino.


Scenario misto “STANDARDsenza componente CAMALLO

Configurazione mista “standard”

Rete pubblica Rete domestica/privataRP: Rete domestica/privata


Nello scenario misto “standard”, l’indirizzo pubblico deve essere attivato per la rete privata ove risiede il componente Bomba. Questo comporta, per l’esempio sopra riportato, che i componenti Cerino esterni alla rete privata RP1, accedendo al componente Bomba direttamente attraverso l’indirizzo pubblico, rendono critica la larghezza di banda richiesta in trasmissione. Infatti, nell’esempio sopra citato, il numero di componenti Cerino che transitano per quel canale è sei. Qualora la banda minima richiesta non fosse un problema e qualora l’attivazione dell’indirizzo pubblico fosse di facile realizzazione, lo scenario misto “standard” è da considerarsi ideale in questa configurazione.

Nel dettaglio, i componenti Cerino numerati da 1 a 4 utilizzano, per collegarsi al componente Bomba, l’indirizzo privato della rete RP1, mentre quelli numerati da 5 a 10 utilizzano l’indirizzo pubblico sempre della rete RP1. Tutti i componenti Cerino utilizzano un tipo di connessione “standard”. Il significato di indirizzo privato e pubblico è dettagliato negli scenari tecnici riportati nei paragrafi precedenti.


Scenario misto “DISTRIBUITOcon componente CAMALLO

Configurazione mista “distribuita”

Rete pubblica Rete domestica/privataRP: Rete domestica/privata


Con il componente Camallo è possibile decidere di attivare l’indirizzo pubblico esternamente alla rete privata in cui risiede il componente Bomba. Qualora nell’esempio sopra riportato fossero, per la rete privata RP1, un problema la banda minima richiesta e/o l’attivazione dell’indirizzo pubblico, la possibilità di allestire uno scenario misto “distribuito” acquisterebbe interesse. Il componente Camallo può essere collocato in una delle altre reti private consentendo quindi di alleggerire il traffico sulla rete RP1. La scelta dell’altra rete privata deve essere condotta selezionando quella in cui la larghezza di banda e l’attivazione di un indirizzo pubblico sono ottimali. Nell’esempio riportato, la rete RP2 è incaricata di gestire direttamente le connessioni dei componenti Cerino numerati da 5 a 10 alleggerendo così il carico sulla rete RP1.

Nel dettaglio, i componenti Cerino numerati da 1 a 4 utilizzano, per collegarsi al componente Bomba, l’indirizzo privato della rete RP1 con tipo di connessione “standard”, quelli numerati da 5 a 6 l’indirizzo privato della rete RP2 ove risiede il componente Camallo con tipo di connessione “distribuita”, mentre quelli numerati da 7 a 10 utilizzano l’indirizzo pubblico sempre della rete RP2 con tipo di connessione “distribuita”. Sul componente Bomba sarà necessario anche configurare il puntamento al componente Camallo utilizzando l’indirizzo pubblico attivato per la rete RP2 con tipo di connessione “distribuita”. Il componente Bomba può accedere anche a più componenti Camallo contemporaneamente. L’allestimento della rete “distribuita” prevede prima l’avvio dei componenti Camallo, quindi quello del componente Bomba ed infine l’avvio dei componenti Cerino. Il significato di indirizzo privato e pubblico è dettagliato negli scenari tecnici riportati nei paragrafi precedenti.



PROBLEMI DI FIREWALL O PROXY

Qualora il vostro componente Cerino si trovi dietro un “proxy/firewall” che blocca ogni forma di comunicazione tranne il protocollo HTTP (quello utilizzato per navigare in internet), è possibile ipotizzare di sfruttare il protocollo “TCP over HTTP” (comunemente noto col nome di “tunneling”) travestendo connessioni di tipo TCP con connessioni di tipo HTTP, quest’ultime lasciate solitamente circolare quasi indisturbate proprio dai “proxy/firewall”. Esistono molti prodotti che offrono questa funzionalità, ma la velocità e la semplicità d’uso offerta da Chisel lo pone in evidenza. E’ possibile ottenere l’ultima versione di Chisel dalla sezione Releases.

Nella immagine sotto riportata viene mostrata la situazione in cui un componente Cerino, che si trova dietro un “proxy/firewall”, vuole connettersi al componente Bomba (una situazione analoga può anche verificarsi quando un componente Cerino/Bomba vuole connetersi ad un componente Camallo). Il numero delle porte mostrate nell’immagine è puramente indicativo, infatti ognuno deve preoccuparsi di utilizzare porte libere e non occupate da altre connessioni (per ottenere una lista istantanea delle porte occupate è sufficiente eseguire il comando “netstat -o -p TCP”).


Problemi di firewall o proxy


  1. Impostare sul modem/router il “port forwarding” tra la porta dell’indirizzo pubblico e quella dell’indirizzo privato della macchina del componente Bomba (es. Protocollo: TCP, Indirizzo privato: 192.168.1.2, Porta interna: 50510, Porta esterna: 8080); questa operazione consente ad una richiesta esterna di connessione di raggiungere la macchina con il componente Bomba. Ovviamente, qualora ci fossero altri componenti Cerino senza il problema del “proxy/firewall” che vogliano connettersi, sarà necessario creare un’altra regola di “port forwarding” che consenta l’accesso fino alla porta su cui è in ascolto “diretto” il componente Bomba (es. Protocollo: TCP, Indirizzo privato: 192.168.1.2, Porta interna: 50010, Porta esterna: 50010).
  2. Avviare Chisel in modalità “server attraverso il comando chisel_windows_amd64.exe server --port 50510 sulla macchina del componente Bomba; questa operazione consente di attivare il componente “server” di Chisel mettendolo in ascolto “diretto” proprio sulla porta dell’indirizzo privato utilizzata nella regola di “port forwarding” implementata al passo 1.
  3. Avviare normalmente il componente Bomba mettendolo in ascolto “diretto” (modalità standard) sulla porta 50010. Questa operazione predispone il componente Bomba ad accettare connessioni.
  4. Avviare Chisel in modalità “client attraverso il comando chisel_windows_amd64.exe client http://X.X.X.X:8080 0.0.0.0:51010:0.0.0.0:50010 sulla macchina del componente Cerino; questa operazione consente al componente “client” di Chisel di connettersi al componente “server” di Chisel e di implementare la regola di instradamento dei pacchetti TCP dalla porta 51010 di qualunque interfaccia di rete presente sulla macchina del componente Cerino alla porta 50010 di qualunque interfaccia di rete presente sulla macchina del componente Bomba. L’indirizzo “X.X.X.X” dovrà ovviamente essere sostituito con il reale indirizzo pubblico.
  5. Avviare normalmente il componente Cerino (modalità standard) utilizzando come indirizzo quello di “loopback” 127.0.0.1 (rappresentante la macchina locale su cui il componente stesso è in esecuzione) e come porta quella utilizzata nella regola di instradamento implementata al passo 4 (es. Tipo: “Standard”, Indirizzo: “127.0.0.1”, Porta: “51010”).

Punto d’attenzione: Chisel è un prodotto che consente anche l’attivazione di canali protetti da cifratura e l’utilizzo di criteri di autenticazione, ma per la loro implementazione occorre riferirsi alla guida fornita dallo sviluppatore.

Qualora esistano dei motivi per cui non è possibile utilizzare Chisel (es. nella catena di connessione durante la fase di “tunneling” non esiste un supporto completo dei “WebSockets”), è ipotizzabile l’utilizzo di Crowbar, un prodotto analogo ma dalle prestazioni meno elevate che sfrutta una modalità di comunicazione con i “proxy/firewall” più canonica (metodi HTTP GET/POST). E’ possibile ottenere l’ultima versione di Crowbar dalla sezione Releases.

Utilizzando Crowbar nella soluzione della problematica sopra esposta, sarà sempre necessario seguire la stessa procedura e quindi semplicemente sostituire il comando utilizzato per Chisel in modalità “server” con crowbard.exe -listen="0.0.0.0:50510" -userfile="crowbard.conf" e sostituire quello utilizzato per Chisel in modalità “client” con crowbar-forward.exe -server="http://X.X.X.X:8080" -local="127.0.0.1:51010" -remote="127.0.0.1:50010" -username="cerino" -password="parolachiave". L’indirizzo “X.X.X.X” dovrà ovviamente essere sostituito con il reale indirizzo pubblico.

Punto d’attenzione: Crowbar impone l’utilizzo di un criterio di autenticazione; nel caso specifico è stato creato un file di nome “crowbard.conf” contenente la coppia “username:password” seguita da un “a-capo” (es. cerino:parolachiave).


© 2024 Tutti i diritti sono riservati Ramsete Software - Giovedí, 25 Aprile 2024