Vai al contenuto

Eseguire Ping di un indirizzo IP per testare comunicazione

Home Forum Controllori SlimLine e Netsyst (LogicLab) Eseguire Ping di un indirizzo IP per testare comunicazione

Stai visualizzando 13 post - dal 1 a 13 (di 13 totali)
  • Autore
    Post
  • #35729
    Sergio Bertana
    Amministratore del forum

    Molti clienti mi chiedono di poter eseguire un Ping su di un indirizzo IP per testare il funzionamento del dispositivo. Vengo in aiuto con un programma di esempio che utilizzando l’FB SysIPReach (Topic) permette di effettuare il Ping calcolando il tempo di ritardo.

    Come si vede dalla stampa del programma viene eseguito il Ping dell’indirizzo IP del servizio Google Public DNS offerto gratuitamente come parte dell’impegno di Google per rendere il web più veloce. Viene eseguito un Ping ogni 2 Secondi (PTime:=2000) e viene calcolato il tempo di ritardo attuale PDelay[1], minimo PDelay[0] e massimo PDelay[2] sul Ping (Download programma sorgente).

    #38714
    Sergio Bertana
    Amministratore del forum

    Molte volte per ripristinare il funzionamento di un sistema non presidiato, ove possibile, viene eseguito un reboot dell’intero sistema SlimLine che se tramite le sue uscite logiche alimenta i dispositivi di connessione di rete (Switches, Routers, Access point WiFi , ecc) può gestire anche lo spenimento e la riaccensione degli stessi.

    Questa funzione definita Ping reboot, garantisce tramite lo spegnimento e la riaccensione di tutti i dispositivi di ripristinare il funzionamento nel caso di blocchi accidentali. Anche se il sistema SlimLine è già di per se controllato dal suo circuito di Watchdog integrato.

    Come si vede dalla stampa del programma nel caso di più di 3 errori di Ping consecutivi viene incrementato un contatore di reboot NrOfRestarts (Variabile allocata in DB 100.2048 che è una zona RETAIN). Dopo 1 secondo dall’incremento della variabile viene eseguito un loop WHILE infinito che fà intervenire il circuito di Watchdog che resetta in modo hardware il sistema disattivando tutte le uscite (Topic). Il sistema poi riparte in modo autonomo (Non ci deve essere LogicLab connesso).

    La pausa di 1 secondo è stata inserita per dare tempo al sistema operativo di salvare l’area RETAIN in modo da avere NrOfRestarts salvato (Download programma sorgente).

    #51071
    Rubox
    Partecipante

    Ho modificato leggermente il Suo listato poiché devo fare il ping del server FTP. Ricavo l’indirizzo IP con DNSRequest, e me lo restituisce correttamente. Poi imposto tale indirizzo per il ping. Su syslog vedo che il comando ping va in timeout, mentre se eseguo il ping da terminale dos va a buon fine.

    Invece la SysIpReach non mi da mai il segnale Done. Son sicuro che sbaglio una cosa semplice, ma ci sto sbattendo la testa da stamane.

    #51113
    Sergio Bertana
    Amministratore del forum

    Immagino che devi pingare un indirizzo IP che è fuori dalla tua rete, hai impostato correttamente il Gateway sullo SlimLine ?

    Ed il gateway è pingabile dello SlimLine ?

    #51127
    Rubox
    Partecipante

    Dire che il gateway è impostato correttamente poiché al momento “pingo” il DNS di Google 8.8.8.8 senza problemi e lo SlimLine si collega a internet senza problemi (spedisce email, fa richieste HTTP e trasferimenti FTP).

    Se nel programma che pinga Google gli metto direttamente l’indirizzo IP del server che voglio pingare, va in timeout e non termina mai. Però da console dos mi da il 100% di pacchetti inviati e ricevuti.

    Al momento ho “tamponato” con richiesta HTTP di una pagina da quel server, ma vorrei capire cosa sbaglio.

    #51197
    Sergio Bertana
    Amministratore del forum

    Ma non ho capito se hai provato a dare il comando di Ping dalla connessione Telnet con lo SlimLine, e se è proprio il comando di Ping da Telnet che và in errore.

    Poi mi dici che il Ping dal PC (Finestra DOS) funziona, ma tu pinghi l’URL o pinghi lo stesso IP che ti ha restitutito la richiesta DNS fatta con il FB DNSRequest ?

    Alla richiesta DNS si possono ricevere più indirizzi IP per i vari servizi attivi sullo stesso URL, il FB DNSRequest ritorna sempre il primo IP ritornato e magari tu pinghi un IP su cui non è attivo il server ICMP.

    #51274
    Rubox
    Partecipante

    Ho fatto un po’ di prove.

    PLC: gateway e DNS inpostati correttamente nella configurazione. Dal programma: DNS verso il mio server restituisce il corretto indirizzo IP. SysIPReach però non mi restituisce nulla, non pinga. Nemmeno dandogli direttamente l’indirizzo IP. SysIPReach verso altri host funzionano.

    Toolly terminale: stessa situazione del PLC. Ping verso google OK, verso il mio sito web è OK. Verso il server dei dati no. Dice DNS ANCOUNT 0

    Finestra DOS “classica”: pinga anche verso il server dei dati con nome simbolico o con indirizzo IP.

    Può esserci qualcosa di differente tra il ping che si fa da DOS e il ping che esegue il PLC da programma o da terminale Toolly?

    #51278
    Sergio Bertana
    Amministratore del forum

    ANCOUNT, specifying the number of answer entries.

    Nella risposta un server DNS può per lo stesso domain rispondere con più  IP e per ognuno di essi oltre all’IP vi saranno anche gli altri dati (es. TTL etc). Il nostro client DNS considera sempre il primo IP ritornato.

    Il fatto che ritorni ANCOUNT 0, vuol dire che non sono stati ritornati indirizzi IP per quell’URL. Ora mi viene spontanea una domanda ma il server DNS settato sul tuo PC e che risponde correttamente è lo stesso server DNS settato sullo SlimLine ?

    Se hai impostato lo stesso server DNS sia sul PC che sullo SlimLine e lo SlimLine riceve ANCOUNT 0 potresti indicarmi l’URL che stai pingando (Se vuoi anche inviandolo in privato a support).

    #51203
    Rubox
    Partecipante

    Mi scuso per non aver risposto alla domanda in modo esatto.

    Al momento il ping lo eseguo dal programma con SysIPReach. Domani che ho di nuovo accesso al sistema provo.

    Quello che trovo strano è che il programma sul PLC pinga correttamente il DNS di Google (8.8.8.8). Al posto di Google ci metto l’indirizzo IP del server che voglio pingare e va in timeout. Se questo stesso indirizzo IP lo uso in una finestra DOS per pingare il comando mi restituisce un risultato positivo. E il comando DNS mi restituisce l’indirizzo del server in modo corretto.

    Ho anche pensato che il server non risponda ai ping, ma non dovrebbe nemmeno essere raggiungibile da DOS.

    #51280
    Sergio Bertana
    Amministratore del forum

    Si quello che posso ipotizzare è che usi due server DNS diversi e quello del PC risolve l’URL mentre quello settato sullo SlimLine non lo risolve.

    #51299
    Rubox
    Partecipante

    Ho impostato i DNS di Google, gli stessi impostati sul PLC, anche sul PC e non pinga. Se invece lascio i DNS del service provider, il PC pinga. Più tardi provo a mettere questi DNS nel PLC.

    #62716
    Rubox
    Partecipante

    Ho un problema con il ping,  avevo aggiornato le CPU agli ultimi firmware. Prima di fare l’aggiornamento funzionava tutto, nel senso che sia da PLC che da Toolly riuscivo ad eseguire il ping verso i server DNS di Google, come i miei server dell’ufficio.

    Dopo aver aggiornato i firmware il comando ping non funziona più appieno, nel senso che i server di Google riesco a “pingarli”, mentre i server dell’ufficio non riesco più.

    Non è cambiato nulla a livello di router, di porte aperte/chiuse, ecc. Le altre comunicazioni di rete, quali FTP, HTTP, Modbus funzionano tutte, solo il PING ha un funzionamento anomalo.

    I pacchetti ICMP sono tutti abilitati sul router: ci sono altre porte/protocolli da aprire, o da indirizzare al PLC?

    #62721
    Sergio Bertana
    Amministratore del forum

    Con la nuova versione del firmware è stata aggiunta la possibilità di definire la lunghezza del pacchetto dati inviato nella richiesta ICMP di ping. Definendo dopo l’URL o l’indirizzo IP da pingare il parametro “-l” è possibile definire il numero di bytes di dati da inviare (Con MTU=1500 il numero massimo è 1472), ecco un esempio:

    [Admin]> ping www.google.com -l 16
    PING www.google.com [216.58.205.68] with 16 bytes of data:
    Answer from: www.google.com, Delay: 11.441 (mS)

    Se non viene definita la lunghezza il pacchetto dati è di 32 bytes come nella versione precedente del firmware. Quindi non riesco a spiegarmi il motivo del tuo problema, considerato che funziona sui server pubblici e non sui tuoi server interni.

Stai visualizzando 13 post - dal 1 a 13 (di 13 totali)
  • Devi essere connesso per rispondere a questo topic.