In questo documento viene fornita una configurazione di esempio per l'utilizzo del server DHCP Cisco IOS sui server di accesso.
Nessun requisito specifico previsto per questo documento.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Software Cisco IOS® versione 12.1(9) su un router Cisco 5300.
La funzionalità server DHCP Cisco IOS è stata introdotta nel software Cisco IOS versione 12.0(1)T. Utilizzare Software Advisor per verificare se la versione e la piattaforma IOS in uso supportano la funzione server DHCP IOS.
Nota: è necessario il software Cisco IOS versione 12.0(2)T o successive per l'utilizzo con i router Cisco serie 1700.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Esistono diversi meccanismi per la consegna di indirizzi IP ai client che eseguono chiamate in ingresso sui server di accesso. Di seguito sono elencate alcune opzioni possibili per l'assegnazione di indirizzi IP ai client:
Assegnazione di un indirizzo dal pool IP locale nel server di Access.
Utilizzo di un server DHCP (Dynamic Host Control Protocol) esterno.
Uso di RADIUS o TACACS.
In questo documento viene illustrato l'utilizzo della funzionalità server di Cisco IOS® con i server di accesso per assegnare indirizzi IP e altre variabili DHCP ai client di connessione. In questo modo si evita di utilizzare un server DHCP esterno e si utilizza invece la funzionalità server DHCP integrata di Cisco IOS. DHCP permette di assegnare automaticamente gli indirizzi IP riutilizzabili ai client DHCP.
La funzionalità server DHCP Cisco IOS è un'implementazione completa del server DHCP che assegna e gestisce gli indirizzi IP dei pool di indirizzi specificati all'interno del router ai client DHCP. Se il server DHCP Cisco IOS non è in grado di soddisfare una richiesta DHCP proveniente dal proprio database, può inoltrare la richiesta a uno o più server DHCP secondari definiti dall'amministratore di rete.
Per ulteriori informazioni sulle funzionalità, le restrizioni e le piattaforme supportate DHCP Cisco IOS, consultare il documento sul server DHCP Cisco IOS. A questo punto, è utile sapere quali parametri possono essere passati al client PPP.
Nota: non è possibile utilizzare il mascheramento subnet per il client PPP. Ciò è dovuto a una limitazione della richiesta di commenti (RFC). Ciò è dovuto al fatto che, quando il protocollo PPP esegue la negoziazione con il client PPP, i seguenti parametri vengono negoziati tramite il protocollo PPP e il protocollo IPCP (IP Control Protocol):
Indirizzo IP.
Indirizzi DNS (Domain Name System) primario e secondario.
Indirizzi NBNS (NetBIOS Name Service) principali e secondari.
Compressione header TCP/IP.
La funzione per passare una subnet mask al client PPP non fa parte del protocollo PPP (RFC 1548) o IPCP (RFC 1332). I comandi async-bootp, ad esempio async-bootp-dns-server e async-bootp-nbns-server, passano le informazioni al client PPP in quanto questi campi vengono negoziati tramite PPP. La subnet mask di avvio asincrono non è un parametro passato tramite PPP.
I comandi di configurazione globale async-bootp abilitano il supporto per le richieste BOOTP (Extended Bootstrap Protocol), come definito nella RFC 1084, quando si configura il router per il protocollo SLIP (Serial Line Internet Protocol). Quando il PC Windows 95 o NT che esegue una connessione remota effettua una chiamata al router, esegue PPP, non BOOTP o SLIP. Ciò significa che non è possibile passare la subnet mask al client di connessione remota Windows 95 o NT PPP o al gateway corrispondente. Se si dispone di un client di connessione a Windows che ottiene dinamicamente il proprio indirizzo IP dal server di Access, è possibile verificare che la subnet mask è impostata su 255.0.0.0. Poiché si tratta di una connessione point-to-point, la subnet mask non è importante, in quanto il client di connessione è noto al server di Access come una singola route host (255.255.255.255 netmask). Il server di Access dispone di un percorso host per ognuno dei client di chiamata connessi.
Per informazioni sulla negoziazione PPP, vedere le RFC seguenti:
RFC 1332
RFC 2484
RFC 1877
È possibile accedere a queste RFC da qualsiasi repository RFC pubblico.
In questa sezione vengono presentate le informazioni necessarie per configurare le funzionalità descritte più avanti nel documento.
Nota: per ulteriori informazioni sui comandi menzionati in questo documento, usare lo strumento di ricerca dei comandi (solo utenti registrati).
Nel documento viene usata questa impostazione di rete:
Nel documento viene usata questa configurazione:
Caramello
Caramello |
---|
caramel#show running-config Building configuration... Current configuration : 3030 bytes ! ! Last configuration change at 14:02:23 CEST Thu Aug 23 2001 ! NVRAM config last updated at 12:25:26 CEST Thu Aug 23 2001 ! version 12.1 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname caramel ! boot system flash: aaa new-model AAA authentication login default local AAA authentication ppp default local AAA authorization network default local enable password ww ! username ww password 0 ww username vpdn password 0 vpdn username async password 0 async username test password 0 test spe 2/0 2/9 firmware location flash:mica-modem-pw.2.7.3.0.bin ! ! resource-pool disable ! ! ! ! ! clock timezone CET 2 clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00 modem country mica belgium ip subnet-zero ip host rund 172.17.247.195 ip domain-name nba.cisco.com ip name-server 10.200.20.134 no ip dhcp conflict logging ip dhcp excluded-address 10.10.10.1 ip dhcp excluded-address 10.10.10.253 ip dhcp excluded-address 10.10.10.254 ip dhcp excluded-address 10.10.10.252 ! ip dhcp pool 0 network 10.10.10.0 255.255.255.0 dns-server 10.10.10.254 default-router 10.10.10.1 domain-name CISCO.COM netbios-name-server 10.10.10.253 10.10.10.252 ! ip address-pool dhcp-proxy-client ip dhcp-server 10.10.10.1 isdn switch-type primary-net5 mta receive maximum-recipients 0 ! controller E1 0 clock source line primary pri-group timeslots 1-31 ! controller E1 1 clock source line secondary 1 ! controller E1 2 clock source line secondary 2 ! controller E1 3 clock source line secondary 3 ! ! ! ! ! interface Loopback0 ip address 10.10.10.1 255.255.255.0 ! interface Ethernet0 ip address 10.200.20.7 255.255.255.0 no cdp enable ! interface Serial0 no ip address shutdown ! interface Serial1 no ip address shutdown no fair-queue clockrate 2015232 no cdp enable ! interface Serial2 no ip address shutdown no fair-queue clockrate 2015232 no cdp enable ! interface Serial3 no ip address shutdown no fair-queue clockrate 2015232 no cdp enable ! interface Serial0:15 no ip address encapsulation ppp dialer rotary-group 1 isdn switch-type primary-net5 isdn incoming-voice modem no peer default ip address no cdp enable ppp authentication chap ! ! interface Serial1:15 no ip address encapsulation ppp dialer rotary-group 1 isdn switch-type primary-net5 isdn incoming-voice modem no peer default ip address no cdp enable ppp authentication chap ! ! interface Serial2:15 no ip address encapsulation ppp dialer rotary-group 1 isdn switch-type primary-net5 isdn incoming-voice modem no peer default ip address no cdp enable ppp authentication chap ! ! interface Serial3:15 no ip address encapsulation ppp dialer rotary-group 1 isdn switch-type primary-net5 isdn incoming-voice modem no peer default ip address no cdp enable ppp authentication chap ! interface FastEthernet0 no ip address shutdown duplex auto speed auto no cdp enable ! interface Group-Async0 ip unnumbered Loopback0 encapsulation ppp no ip route-cache no ip mroute-cache async mode interactive peer default ip address dhcp ppp authentication chap group-range 1 60 ! interface Dialer1 ip unnumbered Loopback0 encapsulation ppp no ip route-cache no ip mroute-cache dialer-group 1 peer default ip address dhcp no cdp enable ppp authentication chap ! ip classless ip route 0.0.0.0 0.0.0.0 10.200.20.1 no ip http server ! ! ! line con 0 exec-timeout 0 0 line 1 120 no exec modem InOut autoselect ppp line aux 0 line vty 0 4 exec-timeout 0 0 password ww transport input telnet ! ntp clock-period 17179736 ntp server 10.200.20.134 end |
Le informazioni contenute in questa sezione permettono di verificare che la configurazione funzioni correttamente.
Alcuni comandi show sono supportati dallo strumento Output Interpreter (solo utenti registrati); lo strumento permette di visualizzare un'analisi dell'output del comando show.
show caller ip: visualizza un riepilogo delle informazioni sul chiamante per l'indirizzo IP fornito.
show ip dhcp server statistics: visualizza le statistiche del server DHCP.
show ip dhcp binding: visualizza i binding degli indirizzi sul server DHCP.
show user: visualizza se la porta della console è attiva e tutte le sessioni Telnet attive con l'indirizzo IP o l'alias IP dell'host di origine.
ping: controlla se un dispositivo è in funzione e se le connessioni di rete sono intatte.
Di seguito è riportato l'output di questi comandi:
caramel# Aug 23 11:05:25.553: %LINK-3-UPDOWN: Interface Serial0:12, changed state to up Aug 23 11:05:25.553: Se0:12 PPP: Treating connection as a callin Aug 23 11:05:25.553: Se0:12 PPP: Phase is ESTABLISHING, Passive Open Aug 23 11:05:25.553: Se0:12 LCP: State is Listen Aug 23 11:05:25.681: Se0:12 LCP: I CONFREQ [Listen] id 1 len 17 Aug 23 11:05:25.681: Se0:12 LCP: MagicNumber 0x003EDA4F (0x0506003EDA4F) Aug 23 11:05:25.681: Se0:12 LCP: PFC (0x0702) Aug 23 11:05:25.681: Se0:12 LCP: ACFC (0x0802) Aug 23 11:05:25.681: Se0:12 LCP: Callback 6 (0x0D0306) Aug 23 11:05:25.681: Se0:12 LCP: O CONFREQ [Listen] id 1 len 15 Aug 23 11:05:25.681: Se0:12 LCP: AuthProto CHAP (0x0305C22305) Aug 23 11:05:25.681: Se0:12 LCP: MagicNumber 0x14AAE40E (0x050614AAE40E) Aug 23 11:05:25.681: Se0:12 LCP: O CONFREJ [Listen] id 1 len 7 Aug 23 11:05:25.681: Se0:12 LCP: Callback 6 (0x0D0306) Aug 23 11:05:25.705: Se0:12 LCP: I CONFACK [REQsent] id 1 len 15 Aug 23 11:05:25.705: Se0:12 LCP: AuthProto CHAP (0x0305C22305) Aug 23 11:05:25.705: Se0:12 LCP: MagicNumber 0x14AAE40E (0x050614AAE40E) Aug 23 11:05:25.709: Se0:12 LCP: I CONFREQ [ACKrcvd] id 2 len 14 Aug 23 11:05:25.709: Se0:12 LCP: MagicNumber 0x003EDA4F (0x0506003EDA4F) Aug 23 11:05:25.709: Se0:12 LCP: PFC (0x0702) Aug 23 11:05:25.709: Se0:12 LCP: ACFC (0x0802) Aug 23 11:05:25.709: Se0:12 LCP: O CONFACK [ACKrcvd] id 2 len 14 Aug 23 11:05:25.709: Se0:12 LCP: MagicNumber 0x003EDA4F (0x0506003EDA4F) Aug 23 11:05:25.709: Se0:12 LCP: PFC (0x0702) Aug 23 11:05:25.709: Se0:12 LCP: ACFC (0x0802) Aug 23 11:05:25.709: Se0:12 LCP: State is Open Aug 23 11:05:25.709: Se0:12 PPP: Phase is AUTHENTICATING, by this end Aug 23 11:05:25.709: Se0:12 CHAP: O CHALLENGE id 1 len 28 from "caramel" Aug 23 11:05:25.733: Se0:12 CHAP: I RESPONSE id 1 len 25 from "test" Aug 23 11:05:25.733: Se0:12 PPP: Phase is FORWARDING Aug 23 11:05:25.733: Se0:12 PPP: Phase is AUTHENTICATING Aug 23 11:05:25.737: Se0:12 CHAP: O SUCCESS id 1 len 4 Aug 23 11:05:25.737: Se0:12 PPP: Phase is UP Aug 23 11:05:25.737: Se0:12 IPCP: O CONFREQ [Not negotiated] id 1 len 10 Aug 23 11:05:25.737: Se0:12 IPCP: Address 10.10.10.1 (0x03060A0A0A01) Aug 23 11:05:25.753: Se0:12 IPCP: I CONFREQ [REQsent] id 1 len 34 Aug 23 11:05:25.753: Se0:12 IPCP: Address 0.0.0.0 (0x030600000000) Aug 23 11:05:25.753: Se0:12 IPCP: PrimaryDNS 0.0.0.0 (0x810600000000) Aug 23 11:05:25.753: Se0:12 IPCP: PrimaryWINS 0.0.0.0 (0x820600000000) Aug 23 11:05:25.753: Se0:12 IPCP: SecondaryDNS 0.0.0.0 (0x830600000000) Aug 23 11:05:25.757: Se0:12 IPCP: SecondaryWINS 0.0.0.0 (0x840600000000) Aug 23 11:05:25.757: Se0:12 AAA/AUTHOR/IPCP: Start. Her address 0.0.0.0, we want 0.0.0.0 Aug 23 11:05:25.757: Se0:12 AAA/AUTHOR/IPCP: Done. Her address 0.0.0.0, we want 0.0.0.0 Aug 23 11:05:25.757: Se0:12: Pools to search : Aug 23 11:05:25.757: DHCPD: DHCPDISCOVER received from client 0074.6573.74 through relay 10.10.10.1. Aug 23 11:05:26.737: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0:12, changed state to up Aug 23 11:05:27.756: DHCPD: assigned IP address 10.10.10.9 to client 0074.6573.74. Aug 23 11:05:27.756: DHCPD: Sending DHCPOFFER to client 0074.6573.74 (10.10.10.9). Aug 23 11:05:27.756: DHCPD: child pool: 10.10.10.0 / 255.255.255.0 (0) Aug 23 11:05:27.756: DHCPD: pool 0 has no parent. Aug 23 11:05:27.756: DHCPD: child pool: 10.10.10.0 / 255.255.255.0 (0) Aug 23 11:05:27.756: DHCPD: pool 0 has no parent. Aug 23 11:05:27.756: DHCPD: unicasting BOOTREPLY for client 0010.7be6.4498 to relay 10.10.10.1. Aug 23 11:05:27.756: DHCPD: DHCPREQUEST received from client 0074.6573.74. Aug 23 11:05:27.756: DHCPD: Sending DHCPACK to client 0074.6573.74 (10.10.10.9). Aug 23 11:05:27.756: DHCPD: child pool: 10.10.10.0 / 255.255.255.0 (0) Aug 23 11:05:27.756: DHCPD: pool 0 has no parent. Aug 23 11:05:27.756: DHCPD: child pool: 10.10.10.0 / 255.255.255.0 (0) Aug 23 11:05:27.756: DHCPD: pool 0 has no parent. Aug 23 11:05:27.760: DHCPD: unicasting BOOTREPLY for client 0010.7be6.4498 to relay 10.10.10.1. Aug 23 11:05:27.804: Se0:12: Default pool returned address = 10.10.10.9 Aug 23 11:05:27.804: Se0:12 IPCP: Pool returned 10.10.10.9 Aug 23 11:05:27.804: Se0:12 IPCP: O CONFREJ [REQsent] id 1 len 10 Aug 23 11:05:27.804: Se0:12 IPCP: SecondaryDNS 0.0.0.0 (0x830600000000) Aug 23 11:05:27.804: Se0:12 IPCP: I CONFACK [REQsent] id 1 len 10 Aug 23 11:05:27.804: Se0:12 IPCP: Address 10.10.10.1 (0x03060A0A0A01) Aug 23 11:05:27.804: Se0:12 IPCP: TIMEout: State ACKrcvd Aug 23 11:05:27.804: Se0:12 IPCP: O CONFREQ [ACKrcvd] id 2 len 10 Aug 23 11:05:27.804: Se0:12 IPCP: Address 10.10.10.1 (0x03060A0A0A01) Aug 23 11:05:27.820: Se0:12 IPCP: I CONFREQ [REQsent] id 2 len 28 Aug 23 11:05:27.820: Se0:12 IPCP: Address 0.0.0.0 (0x030600000000) Aug 23 11:05:27.820: Se0:12 IPCP: PrimaryDNS 0.0.0.0 (0x810600000000) Aug 23 11:05:27.820: Se0:12 IPCP: PrimaryWINS 0.0.0.0 (0x820600000000) Aug 23 11:05:27.820: Se0:12 IPCP: SecondaryWINS 0.0.0.0 (0x840600000000) Aug 23 11:05:27.820: Se0:12 AAA/AUTHOR/IPCP: Start. Her address 0.0.0.0, we want 10.10.10.9 Aug 23 11:05:27.820: Se0:12 AAA/AUTHOR/IPCP: Done. Her address 0.0.0.0, we want 10.10.10.9 Aug 23 11:05:27.824: Se0:12 IPCP: O CONFNAK [REQsent] id 2 len 28 Aug 23 11:05:27.824: Se0:12 IPCP: Address 10.10.10.9 (0x03060A0A0A09) Aug 23 11:05:27.824: Se0:12 IPCP: PrimaryDNS 10.10.10.254 (0x81060A0A0AFE) Aug 23 11:05:27.824: Se0:12 IPCP: PrimaryWINS 10.10.10.253(0x82060A0A0AFD) Aug 23 11:05:27.824: Se0:12 IPCP: SecondaryWINS 10.10.10.252(0x84060A0A0AFC) Aug 23 11:05:27.824: Se0:12 IPCP: I CONFACK [REQsent] id 2 len 10 Aug 23 11:05:27.824: Se0:12 IPCP: Address 10.10.10.1 (0x03060A0A0A01) Aug 23 11:05:27.844: Se0:12 IPCP: I CONFREQ [ACKrcvd] id 3 len 28 Aug 23 11:05:27.844: Se0:12 IPCP: Address 10.10.10.9 (0x03060A0A0A09) Aug 23 11:05:27.844: Se0:12 IPCP: PrimaryDNS 10.10.10.254(0x81060A0A0AFE) Aug 23 11:05:27.844: Se0:12 IPCP: PrimaryWINS 10.10.10.253(0x82060A0A0AFD) Aug 23 11:05:27.844: Se0:12 IPCP: SecondaryWINS 10.10.10.252(0x84060A0A0AFC) Aug 23 11:05:27.844: Se0:12 AAA/AUTHOR/IPCP: Start. Her address 10.10.10.9, we want 10.10.10.9 Aug 23 11:05:27.848: Se0:12 AAA/AUTHOR/IPCP: Reject 10.10.10.9, using 10.10.10.9 Aug 23 11:05:27.848: Se0:12 AAA/AUTHOR/IPCP: Done. Her address 10.10.10.9, we want 10.10.10.9 Aug 23 11:05:27.848: Se0:12 IPCP: O CONFACK [ACKrcvd] id 3 len 28 Aug 23 11:05:27.848: Se0:12 IPCP: Address 10.10.10.9(0x03060A0A0A09) Aug 23 11:05:27.848: Se0:12 IPCP: PrimaryDNS 10.10.10.254(0x81060A0A0AFE) Aug 23 11:05:27.848: Se0:12 IPCP: PrimaryWINS 10.10.10.253(0x82060A0A0AFD) Aug 23 11:05:27.848: Se0:12 IPCP: SecondaryWINS 10.10.10.252(0x84060A0A0AFC) Aug 23 11:05:27.848: Se0:12 IPCP: State is Open Aug 23 11:05:27.848: Di1 IPCP: Install route to 10.10.10.9 Aug 23 11:05:31.552: %ISDN-6-CONNECT: Interface Serial0:12 is now connected to 6133 test Aug 23 11:05:38.688: DHCPD: DHCPINFORM received from client 00e0.1e57.6af0(10.200.20.12) caramel#show ip dhcp binding IP address Hardware address Lease expiration Type 10.10.10.9 0074.6573.74 Aug 24 2001 02:05 PM Automatic caramel# caramel#show ip dhcp server statistics Memory usage 13975 Address pools 1 Database agents 0 Automatic bindings 1 Manual bindings 0 Expired bindings 0 Malformed messages 2 Message Received BOOTREQUEST 9 DHCPDISCOVER 9 DHCPREQUEST 8 DHCPDECLINE 0 DHCPRELEASE 18 DHCPINFORM 5 Message Sent BOOTREPLY 0 DHCPOFFER 8 DHCPACK 8 DHCPNAK 0 caramel#show caller ip Line User IP Address Local Number Remote Number <-> Se0:12 test 10.10.10.9 211 6133 in caramel#show user Line User Host(s) Idle Location * 0 con 0 idle 00:00:00 Interface User Mode Idle Peer Address Se0:12 test Sync PPP 00:00:27 PPP: 10.10.10.9 caramel#ping 10.10.10.9 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.9, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 52/56/60 ms caramel# !--- User disconnects now. caramel# Aug 23 11:06:11.332: DHCPD: checking for expired leases. Aug 23 11:07:25.552: %ISDN-6-DISCONNECT: Interface Serial0:12 disconnected from 6133 test, call lasted 120 seconds Aug 23 11:07:25.588: %LINK-3-UPDOWN: Interface Serial0:12, changed state to down Aug 23 11:07:25.592: Se0:12 IPCP: State is Closed Aug 23 11:07:25.592: Se0:12 set_ip_peer(0): new address Aug 23 11:07:25.592: ip_free_pool: Se0:12: address = 10.10.10.9 (1)0.0.0.0 Aug 23 11:07:25.592: Se0:12 PPP: Phase is TERMINATING Aug 23 11:07:25.592: Se0:12 LCP: State is Closed Aug 23 11:07:25.592: Se0:12 PPP: Phase is DOWN Aug 23 11:07:25.592: Di1 IPCP: Remove route to 10.10.10.9 Aug 23 11:07:26.588: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0:12, changed state to down Aug 23 11:07:30.592: DHCPD: DHCPRELEASE message received from client 0074.6573.74 (10.10.10.9). Aug 23 11:07:30.592: DHCPD: returned 10.10.10.9 to address pool 0. Aug 23 11:07:31.592: DHCPD: DHCPRELEASE message received from client 0074.6573.74 (10.10.10.9). Aug 23 11:07:32.592: DHCPD: DHCPRELEASE message received from client 0074.6573.74 (10.10.10.9). Aug 23 11:08:11.332: DHCPD: checking for expired leases.
Se la funzionalità del server DHCP IOS è stata implementata correttamente, è possibile controllare la configurazione IP, il programma di configurazione IP di Windows (winipcfg) o i comandi appropriati sui client di chiamata per controllare i parametri DHCP ricevuti. È possibile ottenere i seguenti parametri dal server DHCP utilizzando winipcfg sul PC Windows 98 utilizzato per il test:
ip address 10.10.10.9 mask 255.0.0.0 default gateway 10.10.10.10 dhcp server - primary wins 10.10.010.253 secondary wins 10.10.10.252 lease obtained - lease expires -
Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.
Nota: prima di usare i comandi di debug, consultare le informazioni importanti sui comandi di debug.
debug ppp negotiation: causa la visualizzazione da parte del comando debug ppp dei pacchetti PPP trasmessi durante l'avvio del protocollo PPP, dove vengono negoziate le opzioni PPP.
debug ip peer: contiene output aggiuntivo quando vengono definiti gruppi di pool.
debug ip dhcp server linkage: visualizza le informazioni sul collegamento del database.
debug ip dhcp server events: segnala gli eventi del server, ad esempio le assegnazioni degli indirizzi e gli aggiornamenti del database.
debug ip dhcp server packets: decodifica le ricezioni e le trasmissioni DHCP.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
09-Sep-2005 |
Versione iniziale |