Come deviare il traffico IP di 1 sito per testare il nuovo codice prima della distribuzione

0

Abbiamo un numero di dispositivi IoT che comunicano su TCP / IP su un server. Una volta connesso, il server può quindi parlare al dispositivo, ottenere dati o inviare comandi verso il basso.

Il server accetta le connessioni in entrata da centinaia di dispositivi IoT su una porta specifica.

La mia domanda riguarda la verifica del nuovo codice e della distribuzione. Ecco il mio scenario. C'è un bug con uno dei dispositivi che agisce stranamente o che fa qualcosa di strano. Ora normalmente proverai a replicare il bug in un ambiente di test. Ma la cosa è molto difficile da fare. Quindi quello che finisco per fare è il debug del codice sul server PRODUCTION e passaggio attraverso il codice per quel particolare dispositivo.

Si vede che la maggior parte degli errori è difficile da replicare in un ambiente di test. In realtà è necessario eseguire il debug del codice sul server di produzione per collegarsi a un dispositivo live.

Come puoi immaginare, questo non è l'ideale, ma se un determinato dispositivo viene riprodotto sul campo, vuoi essere in grado di scorrere il codice con quel dispositivo.

All'inizio pensavo di poter deviare il traffico di questo particolare IP su un server di prova con Visual Studio installato e quindi prendermi il mio tempo per eseguire il debug del problema. Solo tu non puoi trasferire un singolo IP. È possibile eseguire il port forwarding di un'intera porta su un altro server. Ciò significa che l'intero patrimonio di dispositivi IoT viene inviato al server di debug.

Mi piacerebbe sapere come andrebbero le altre persone su questo problema? Esiste un altro modo per individuare un IP e eseguirne il debug in isolamento senza influire sugli altri dispositivi di produzione. O c'è un altro modo di affrontare questo problema tutti insieme. (A proposito, questi dispositivi sono distribuiti geograficamente in tutto il paese, il che significa che non possiamo andare e cambiare l'IP sul sito)

Ovviamente questo metodo gioca molto con la gestione dei cambiamenti perché sto costantemente mettendo il codice di debug sul server !! - Invece di avere il lusso di risolvere il problema su un server di test, sto scherzando con la produzione!

C'è un modo migliore per affrontare questo problema? Qualsiasi pensiero sarebbe molto gradito e grazie in anticipo.

    
posta VirtualBrandy 03.12.2017 - 19:12
fonte

1 risposta

1

Is there another way to single out an IP and debug it in isolation without affecting the other production devices.

Utilizzare un firewall o modificare la tabella di routing del server di produzione per instradare il traffico proveniente dall'indirizzo IP. Ad esempio:

sudo route add 4.2.2.4 -interface <eth2> # reroute traffic from 4.2.2.4

cmd 00300 deny all from 4.2.2.4/16 to any in via $pif # deny traffic from 4.2.2.4

Riferimenti

risposta data 16.08.2018 - 20:02
fonte

Leggi altre domande sui tag