Questo file descrive noip2, la seconda generazione del client Linux per il servizio di dynamic DNS fornito da no-ip.com. NEW: Questo codice può venire compilato e girare anche su Solaris/Intel e BSD.Editare Makefile per Solaris e vari BSDs. Per gli utenti BSD che volessero usare una interfaccia tun,vedano più sotto. Informatemi riguardo le modifiche da apportare per noip2 per fare in modo che funzioni correttamente anche su sistemi non-Linux OS. Per favore leggere questo breve file prima di usare noip2. ########################################################################### COME COMPILARE noip2 PER IL TUO SISTEMA Il comando make crea il binario del client noip2 che girerà sul tuo sistema. Se tu non hai 'make' installato e tu hai un sistema Linux i686 con libc6, il binario puoi trovarlo anche nella directory noip2-Linux.Copia questo per creare la directory 'cp binaries/noip2-Linux noip2' Il comando make install (lo puoi lanciare solo da root)installa il tutto,posizionando i file da installare nei percorsi indicati in automatico.Verranno fatte alcune domande riguardo la configurazione,la quale verrà salvata. Guarda sotto non puoi diventare root o non puoi scrivere in /usr/local/*. ########################################################################### COME USARE IL CLIENT SENZA LEGGERE IL RESTO DI QUESTO TESTO Usual operation? /usr/local/bin/noip2 -C configura un client /usr/local/bin/noip2 per far partire il client /usr/local/bin/noip2 -S info riguardo il client in esecuzione /usr/local/bin/noip2 -D pid toggle lo stato debug peril client pid /usr/local/bin/noip2 -K pid termina client pid Hai altri device oltre a questo per la connessione internet? /usr/local/bin/noip2 -M -c file start additional instances ########################################################################### COME FAR PARTIRE IL CLIENT L'eseguibile noip2 può partire digitando /usr/local/bin/noip2 Se tu vuoi che parta in automatico ad ogni avvio del PC,allora metti lo script seguente nella directory che contiene appunto tutti gli script che si avviano in automatico.(/etc/init.d/rcX.d or /sbin/init.d/rcX.d or ???) ####################################################### #! /bin/sh # . /etc/rc.d/init.d/functions # uncomment/modify for your killproc case "$1" in start) echo "Starting noip2." /usr/local/bin/noip2 ;; stop) echo -n "Shutting down noip2." killproc -TERM /usr/local/bin/noip2 ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0 ####################################################### Dove la 'X' in rcX.d e il valore ottenuto impartendi il seguente comando grep initdefault /etc/inittab | awk -F: '{print $2}' Killproc è scaricabile da ftp://ftp.suse.com/pub/projects/init In alternativa, puoi togliere il commento dopo la linea #! /bin/sh Se hai una versione recente di RedHat,puoi usare lo script fornito da un altro utente.Questo script lo puoi trovare nel file chiamato redhat.noip.sh Questo avrà bisogno di qualche modifica per il tuo sistema. Questo che segue è lo script di startup per debian chiamato debian.noip2.sh. Anche questo è stato creato e fornito da un altro utente e comunque in alcune situazioni non è stabile. Qui lo script con cui killare tutti gli eseguibili di noip2 in esecuzione. #!/bin/sh for i in `noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ','` do noip2 -K $i done Queste 4 linee possono sostituire 'killproc' e 'stop_deamon' degli altri script. Se il sistema è dietro un firewall,tu dovrai abilitare la porta 8245 (TCP) in entrambi i sensi.(down/up) ####################################################################### IMPORTANTE!! Per favore setta i permessi in maniera corretta nel vostro eseguibile. Se tu fai partire noip2 usa uno dei 2 metodi sottostanti: chmod 700 /usr/local/bin/noip2 chown root:root /usr/local/bin/noip2 Se vuoi far partire manualmente noip2 da un account non-root,setta con chmod 700 il file al solito percorso suddetto(/usr/local/bin/),ma con chown bisogna settare l'eseguibile owner:group con l'account non-root e dovresti sostituire il path se l'eseguibile non e collocato in /usr/local/bin. ########################################################################### SALVATAGGIO CONFIGURAZIONE Noip2 conserverà l'ultimo IP che è stato regolato a no-ip.com quando si conclude. Questo setaggio verrà riletto non appena noip2 verrà riavviato. Il file di configurazione nel sistema deve essere scrivibile perchè ciò sia possibile! Se non ci sono i permessi di scrittura,l'indirizzo IP iniziale 0.0.0.0 rimarrà immutato. ########################################################################### BSD USANDO UNA INTERFACCIA TUN Su sistemi BSD recenti si può usare getifadress() per una lista di tutte le interfacce.Setta 'bsd_wth_getifaddrs' definito nel Makefile se usi una qualunque versione di BSD che supporta getifadress() e ignora il resto del paragrafo. Altrimenti devi impartire i settaggi sottostanti. Altri sistemi 'bsd' non elencheranno i dispositivi tun. Di conseguenza non possono venir scelti da una lista come per getifadress(). Se tu vuoi usare un tun device dovrai modificare la linea del Makefile come segue: originale ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf modificata ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf -I 'your tun device' ########################################################################### ARGOMENTI DA LINEA DI COMANDO QUANDO SI INVOCA IL CLIENT Il client si posiziona in background una volta avviato come un deamon. Se tu invochi il client più volte con flag differenti,avrai tutte queste singole istanze in esecuzione. Se vuoi che il client si avvi una volta,l'argomento da sarà '-i IPadress'.Il client sarà stabile per tutto il tempo della connessione dialup; usa pochissime risorse. The actions of the client are controlled by a configuration data file. It is usually located in /usr/local/etc/no-ip2.conf, but may be placed anywhere if the '-c new_location' parameter is passed on the startup line. Le azioni del client sono controllabili da un file di configurazione.Lo si può trovare collocat in /usr/local/etc/no-ip2.conf,oppure nel percorso impartito con '-c nuova_path'. Il file di configurazione per il client viene generato con il parametro '-C'. Ci sono alcuni nuovi argomenti che si occupano della configurazione di questo file. Queste flags sono -F, -Y e -U. L'intervallo di tempo per testare i cambiamenti di IP è controllabile tramite il flag '-U nn'.Il 'nn' è un numero espresso in minuti,minimo di 1 forzato dal client quando gira dietro un firewall machine,5 quando gira dietro un router/firewall.Un valore usuale del client dietro un firewall è 30. Un giorno sono 1440,1 settimana sono 10080,un mese sono 40320, 41760, 43200 o 44640. Un'ora è lasciata come esercitazione per il lettore :-) The configuration builder code will allow selection among the hosts/groups registered at no-ip.com for the selected user. The '-Y' parameter will cause all the hosts/groups to be selected for update. Alcuni siti hanno connessioni multiple ad internet.Questi siti confondono l'individuazione automatica del NAT. Il parametro '-F' forza al non-NAT oppure ai settaggi del "firewall". Il client può essere invocato con il parametro '-i IPadress' il quale forzerà il settaggio di questo indirizzo su no-ip.com.Il client funzionerà una volta ed uscirà. Il parametro -I viene usato per riscrivere il nome del device nel file di configurazione o forzare il nome del device mentre si sta compilando. Prego di usare questo come ultima risorsa! Con il parametro '-S' si visualizza i dati associati a tutte le copie di noip2 che sono in esecuzione.Se non è in esecuzione alcun processo,visualizzerà il contenuto del file di configurazione ed uscirà. Il parametro '-K process_ID' viene usato per terminare una copia in esecuzione di noip2.Il valore 'process_ID' può essere ottenuto con noip2 -S. Il parametro '-M' permette l'esecuzione di copie multiple del client noip2. Fino a 4 copie possono funzionare simultaneamente. Tutti gli errori o i messaggi informativi sono immagazzinati attraverso syslog. La riuscita del cambiamento di indirizzo ad no-ip.com è sempre indicato nel syslog.Il syslog di solito e collocato in /var/log/messages. Se il client vorrà essere usato col debugging attivato,bisognerà compilarlo col parametro '-d'.Questo producerà una traccia da esaminare se ci sono problemi con la connessione a no-ip.com.Tutti gli errori,messaggi e I/O in ciascuna direzione verrà visualizzato sul stderr anzichè sul syslog. Il parametro addizionale '-D pid' commuta lo stato di debug di un processo noip2 in esecuzione.Questo non cambierà l'output del processo;se stesse usando syslog, andrebbe sempre su syslog. Un ultimo parametro è '-h'.Questo fa comparire a video l'help screen come sotto: USAGE: noip2 [ -C [ -F][ -Y][ -U #min]][ -c file] [ -d][ -D pid][ -i addr][ -S][ -M][ -h] Version Linux-2.x.x Options: -C create configuration data -F force NAT off -Y select all hosts/groups -U minutes set update interval -c config_file use alternate data path -d increase debug verbosity -D processID toggle debug flag for PID -i IPaddress use supplied address -I interface use supplied interface -S show configuration data -M permit multiple instances -K processID terminate instance PID -h help (this text) ########################################################################### COME FARE PER CONFIGURARE IL CLIENT Il comando noip2 -C crea il file di configurazione in /usr/local/etc. Il file si chiamerà no-ip2.conf. Se tu non puoi scrivere in /usr/local/*,o non puoi diventare root del sistema in cui vuoi far eseguire noip2,si deve includere per ogni invocazione del client il parametro '-c config_file_name'.Dovresti mettere anche l'eseguibile in un path dove hai i permessi di scrittura.Devi anche di conseguenza modificare PREFIX= in Makefile con il path opportuno per evitare questi problemi. C'è bisogno di richreare il file di configurazione ogni volta che il tuo account o password cambiano oquando aggiungi o cancelli hosts o gruppi da www.no.ip.com. Ogni invocazione di noip2 con '-C' distruggerà le precedenti configurazioni scritte nel datafile. Altre opzioni che possono essere qui incluse sono '-F' '-Y' '-U' Vi verrà chiesto se vorrete eseguire l'aggiornamento su no-ip.com.Se tu specifichi uno script,dovrebbe cominciare con #!/bin/sh o con la shell che usi. Se no riceverai'Exec format error' come errore.L'indirizzo IP settato correttamente verrà consegnato allo script/programma come primo argomento. L'host/gruppo sarà passato come secondo argomento. Alcuni sistemi hanno connessioni multiple.In questi casi,si devono scegliere il device con cui ci si connette all'esterno.Il parametro -I viene usato per far riferimento ad un device che non è indicato automaticamente. Tipicamente questo può essere un'interfaccia pppx che non esiste perchè non è attiva. Il codice richiamerà username/email usati dall'utente come identificativo per no-ip.com.Inoltre richiamerà la password per quell'account. Il file di configurazione al suo interno non ha dati sensibili scritti al suo interno come quelli menzionati sopra!! IMPORTANTE! Settare i permessi correttamente al file di configurazione. chmod 600 /usr/local/etc/no-ip2.conf. chown root:root /usr/local/etc/no-ip2.conf. Se vuoi far partire manualmente noip2 da un account non-root,con chmod usalo come sopraindicato mentre chown usalo per settare no-ip2.conf con owner-group per l'utente non-root.Assicurati che la directory sia leggibile! Dopo l'aquisizione del file di configurazione i privilegi di root cadranno. ########################################################################### Io vorrei vedere questo README.FIRST tradotto in altre lingue. Se tu vuoi tradurre questo dall'inglese in un'altra lingua, per favore spedisci la traduzione a me.Grazie! ########################################################################### Vari bugs dovranno essere segnalati a johna@onevista.com Mandami una mail se hai bisogno di aiuto,ma avviso che io ho un filtro anti-spam. Se il tuo mailserver viene bloccato,manda il tuo messaggio al supporto di no-ip. Non speditemi mail in html;non ne verrà letta nessuna. Potete creare un file-traccia ed esaminare gli eventuali messaggi d'errore. Di seguito i comandi per creare il file: Digita: script noip2.out Digita: 'tuo noip comando con il parametro -d aggiunto' Digita: Exit Esamina il file noip2.out.Se non riuscite a venirne fuori dall'errore speditelo pure a me. johna@onevista.com January 2004