Den här filen beskriver noip2, en andra generationens Linux-klient för no-ip.com:s dynamiska DNS service. NYTT: Den här koden kan även byggas och köras på Solaris/Intel samt BSD. Ändra Makefile-filen för Solaris och variationerna av BSD. För BSD-användare som vill använda ett tun-gränssnitt, se nedan. Låt mig gärna veta andra ändringar som krävs för att noip2 ska fungera korrekt på ditt icke-Linux OS. Var god läs den här korta filen innan du använder noip2. ########################################################################### HUR DU BYGGER EN KÖRBAR FIL FÖR DITT SYSTEM Kommandot make bygger en binär av noip2 klienten som kommer köras på ditt system. Om du inte har 'make' installerat och du har en i686 Linux maskin med libc6, finns det en binär för i686 system i bänär-katalogen kallad noip2-linux. Kopiera den binären till byggkatalogen. 'cp binaries/noip2-Linux noip2' Kommandot make install (som måste köras som root) kommer att installera de varierande delarna till dess riktiga platser. Detta kommer att ställa frågor och bygga en konfigurationsfil. Se nedan om du inte har tillgång till root eller inte kan skriva i /usr/local/*. ########################################################################### HUR DU ANVÄNDER KLIENTEN UTAN ATT LÄSA RESTEN AV DEN HÄR TEXTEN Vanlig hantering? /usr/local/bin/noip2 -C konfigurera en klient /usr/local/bin/noip2 kör en klient /usr/local/bin/noip2 -S visa information om startade klienter /usr/local/bin/noip2 -D pid Sätt debug på klientens PID /usr/local/bin/noip2 -K pid Döda klienten PID Mer än en enhet för tillgång till Internet? /usr/local/bin/no-ip2 -M -c file Startar ytterligare instanser ########################################################################### HUR DU STARTAR KLIENTEN noip2 kan startas med kommandot /usr/local/bin/noip2 Om du vill att det ska starta automatiskt när datorn startas, ändra då följande skript i din start-katalog. (/etc/init.d/rcX.d eller /sbin/init.d/rcX.d eller ???) ####################################################### #! /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 ####################################################### Där 'X' i 'rcX.d' är värdet du tillhandahåller när följande kommando körs: grep initdefault /etc/inittab | awk -F: '{print $2}' Killproc kan laddas ned från ftp://ftp.suse.com/pub/projects/init Alternativt, kan du kommentera bort raden efter #! /bin/sh Om du har en nyare version av RedHat, kanske du vill använda start-skriptet tillhandahållet av en annan användare. Det är i det här paketet kallat redhat.noip.sh. Det kan kräva vissa modifieringar för ditt system. Det finns ett start-skript för Debian kallat debian.noip.sh. Det har också tillhandahållits av en annan användare och det ryktas att det misslyckas i vissa situationer. Här är ett skript för att döda alla aktiva noip2-sessioner: #!/bin/sh for i in `noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ','` do noip2 -K $i done Dessa fyra rader kan ersättas med 'killproc' och 'stop_daemon' i andra skript. Om du är ansluten bakom en brandvägg, kommer du behöva tillåta in- och utgående TCP-trafik på port 8245. ####################################################################### VIKTIGT!! Var god sätt tillstånden korrekt på din körbara fil. Om du startar noip2 med hjälp av någon ovanstående metod, gör följande: chmod 700 /usr/local/bin/noip2 chown root:root /usr/local/bin/noip2 Om du startar noip2 manuellt från ett icke-root konto, gör chmod 700 enligt ovan, men ändra 'chown' på den körbara filen till ägare:grupp av icke-root kontot, dessutom kommer du behöva byta ut din nya sökväg om den körbara filen inte finns i /usr/local/bin. ########################################################################### SPARAT LÄGE Noip2 kommer att spara den senaste IP-adress som sändes till no-ip.com när det avslutas. Den inställningen kommer läsas tillbaka nästa gång noip2 startas. Konfigurationsfilen måste därför vara skrivbar för att detta ska kunna ske! Ingenting händer om den inte är det, den startande 0.0.0.0-adressen förblir orörd. ########################################################################### BSD ANVÄNDANDES AV EN TUN ENHET Nyare BSD system kommer att använda getifaddrs() för att lista ALLA gränssnitt. Sätt 'bsd_wth_getifaddrs' define i Makefile-filen om du använder en version av BSB som stödjer getifaddrs() och ignorera resten av den här paragrafen. I annat fall, sätt 'bsd' define. 'bsd' inställningen kommer inte att lista tun-enheterna i BSD. Därför kan inte en tun-enhet väljas från menyn. Om du vill använda en tun-enhet behöver du ändra Makefile-filen och ändra raden ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf till ${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf -I 'din tun-enhet' ########################################################################### KOMMANDORADS-ARGUMENT NÄR KLIENTEN ANROPAS Klienten kommer sätta sig själv i bakgrunden och köras som en demon. Detta betyder att om du anropar den flertalet gånger, och anger multiple-flaggan, kommer du att ha flera program körandes. Om du vill att klienten ska köras en gång och sedan avslutas, tillgodose programmet med '-i IPadress' argumentet. Klienten kommer att uppföra sig väl om det lämnas aktivt hela tiden, även under periodisk återkommande uppringnings-anslutningar; det använder väldigt lite resurser. Klientens handlingar är kontrollerade av en konfigurationsfil. Den är vanligtvis sparad i /usr/local/etc/no-ip2.conf, men bör vara omplacerad om '-c ny_sökväg' parametern är använd på start-raden. Konfigurationsfilen kan bli genererad med '-C' parametern. Det finns ett fåtal nya kommandon som arbetar med default-värden i konfigurationsfilen. Dessa är -F, -Y och -U. Intervallet mellan successiva tester för en ny IP-adress kontrolleras med '-U nn' parametern. Numren är minuter, ett minimum av 1 minut är upprätthållet av klienten om den körs på en brandvägg-maskin, 5 minuter är minimum om programmet körs bakom en router/brandvägg. Ett vanlig värde för en klient bakom en brandvägg är 30. En dag är 1440, en vecka är 10080, en månad är 40320, 41760, 43200 eller 44640. En timme är exkluderat som en övning för läsaren ;-) Konfigurationsbyggar-koden kommer att tillåta ett urval av de värdar/grupper som finns registrerade på no-ip.com för den valda användaren. '-Y' parametern kommer att välja alla tillgängliga värdar/grupper för uppdatering. En del sidor har en multipel anslutning till Internet. Dessa sidor förvillar den automatiska NAT-upptäckten. Använd då '-F' parametern för att tvinga en icke-NAT eller "brandvägg"-inställning. Klienten kan anropas med '-i IPadress' parametern och kommer då att tvinga fram en inställning av den IP-adressen på no-ip.com. Klienten kommer då att köras en gång och sedan avslutas. '-I' parametern kan användas för att överskrida enhetsnamnet i konfigurationsfilen eller för att tvinga det givna namnet in i konfigurationsfilen medans den genereras. Var god använd detta som en sista utväg! '-S' parametern används för att visa data associerat med någon körande kopia av noip2. Om inte något körs, kommer den istället att visa innehållet i den valda konfigurationsfilen. Därefter avslutas programmet. '-K process_ID' parametern används för att döda en aktiv kopia av noip2 klienten. Process_ID-numret kan fås genom kommandot 'noip2 -S' '-M' parametern tillåter att fler noip2-klienter körs på samma gång. Varje kopia måste ha sin egen konfigurationsfil. Upp till 4 kopior kan köras samtidigt. Alla fel och informativa meddelanden är lagrade via syslog faciliteten. En rad för att indikera en lyckad adressändring till no-ip.com skrivs alltid i systemloggen. Systemloggens sökväg är vanligtvis /var/log/messages. Om klienten är byggd med debug aktiverat, det vanliga läget, kan debug-utdata aktiveras med '-d'. Detta kommer att producera ett spår av det körande programmet och borde hjälpa om du har problem med att etablera kontakten med no-ip.com. Alla fel, meddelanden och I/O i båda riktingar kommer att visas i stderr istället för systemloggen. Den extra '-D pid' parametern sätter debug-läge på en aktiv noip2-process. Detta påverkar inte utdatans position; Om det var på väg till systemloggen (syslog), kommer det att fortsätta dit. En sista anropande parameter är '-h'. Den visar hjälpskärmen med alla parametrar nedan och avslutas sedan. 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) ########################################################################### HUR DU KONFIGURERAR KLIENTEN Kommandot noip2 -C kommer att skapa en konfigurationsfil i /usr/local/etc katalogen. Datan kommer att sparas i en fil med namnet no-ip2.conf. Om du inte kan skriva i /usr/local/*, eller inte har tillgång till root på den maskin du vill köra noip2 på, måste du inkludera '-c konfigurationsfil' parametern vid varje anrop till klienten, inkluderat genereringen av konfigurationsfilen. Dessutom, behöver du förmodligen lägga den körbara filen på en plats du har tillgång att skriva till. Ändra PREFIX= raden i Makefile-filen till din nya sökväg och kör 'make install' ytterligare en gång för att undvika dessa problem. Du kommer att behöva återskapa konfigurationsfilen så fort ditt konto eller lösenord har ändrats eller om du har lagt till/tagit bort värdar/grupper på www.no-ip.com. Varje anrop till noip2 med '-C' parametern kommer att förstöra den tidigare konfigurationsfilen. Andra inställningar som kan användas här är '-F' '-Y' '-U' Du kommer att bli frågad om du vill köra ett program/skript efter en lyckad uppdatering mot no-ip.com. Om du väljer ett skript, ska det börja med #!/bin/sh eller ditt val av skal (Om det inte gör det, kommer du att få felet 'Exec format error'). IP adressen som just har blivit satt kommer att skickas som ett första argument till skriptet/programmet. Värd/grupp-namnet kommer att skickas som ett andra argument. En del datorer har flera nätverksanslutningar. I detta fall, kommer du att bli frågad om vilken enhet som används för att ansluta till den yttre världen. '-I' flaggan kan användas för att välja ett gränssnitt som inte visas. Detta skulle kunna vara ett av pppx-gränssnitten som inte visas förrän de är aktiva. Programmet kommer att fråga efter användarnamn/e-mail för att ansluta mot no-ip.com. Det kommer även att fråga om lösenord för kontot. Konfigurationsdatan innehöller INGA delar som kan redigeras av användaren. VIKTIGT!! Var god sätt tillstånden korrekt på din körbara fil. Om du startar noip2 med hjälp av någon ovanstående metod, gör följande: chmod 700 /usr/local/bin/noip2 chown root:root /usr/local/bin/noip2 Om du startar noip2 manuellt från ett icke-root konto, gör chmod 700 enligt ovan men ändra 'chown' på den körbara filen till ägare:grupp av icke-root kontot. Se till att katalogen är läsbar! Programmet kommer att släppa root-privilegierna efter att ha skaffat konfigurationsfilen. ########################################################################### Jag skulle gärna vilja se den här README.FIRST texten översatt till andra språk. Om du kan översätta den här filen till ett annat språk, sänd den översatta filen till mig. Tack. ########################################################################### Buggar ska bli rapporterade till johna@onevista.com [--ENGLISH ONLY--] Maila mig om du behöver hjälp, men var medveten om att jag har ett omfattande spamfilter. Om din mailserver är blockerad, sänd det genom no-ip.com-supporten. Skicka inte mail i HTML; Ingen vill se det. Du kan skapa en spår-fil och granska den efter fel. Så här gör du det: Skriv: script noip2.out Skriv: 'ditt noip2-kommando med -d parametern inkluderad' Skriv: exit Granska sedan filen noip2.out. Skicka den till mig om du fortfarande är förvirrad. johna@onevista.com Januari 2004 Obs, Glöm inte att skriva på Engelska! Översatt av Linus Waerner (linus@waerner.com) aug-2005