Una soluzione efficace ed efficiente a questo problema richiederà molto probabilmente sia un processo aziendale che una componente tecnica. L'attività ha due compiti: a) ottenere un IP eb) restituire un IP.
Affinché la soluzione fornisca un IP, deve sapere quali indirizzi IP sono gestiti e, di questi, quali sono presi / disponibili. Quando un IP precedentemente ricevuto non viene più utilizzato dall'utente, deve essere restituito al set di IP gestiti.
Probabilmente avrai alcune sfide:
- quali reti (sottoreti, intervalli IP) vengono gestite?
- come crei una base di quali IP vengono utilizzati?
- come imponi il check-out e il check-in degli indirizzi?
- come vengono assegnati gli IP sulla rete (statici, dinamici)?
Facciamolo un po 'più concreto con un esempio:
Supponiamo di avere una sottorete, ad esempio 192.168.1.0/24. Si consiglia di riservare l'IP 192.168.1.1 per il gateway. Il resto potrebbe essere parte della piscina. (Non dimenticare di escludere anche l'indirizzo di broadcast 192.168.1.255.)
Fino ad ora le persone hanno appena preso indirizzi casuali e l'hanno provato. Se ha funzionato lo hanno tenuto, altrimenti hanno provato un altro. Quindi oggi non abbiamo idea di quali siano utilizzati e quali sono gratuiti. Per ottenere la nostra base di riferimento potremmo fare qualsiasi numero delle cose che hai menzionato: ping, ricerche DNS, ecc. Alcuni sistemi potrebbero non rispondere ai ping (ad es. A causa di filtri di pacchetti, firewall di Windows, ecc.), Il server DNS potrebbe non essere corrente per qualsiasi motivo ("doveva essere solo un test rapido, non avevo bisogno di una voce DNS"), e così via. Probabilmente il modo più affidabile per verificare se un IP è in uso è eseguire un ping e / o una scansione delle porte. Un ping è veloce, ma una scansione delle porte è piuttosto lenta, ma fare entrambe le cose ti darà una certa sicurezza sullo stato del mondo. È possibile eseguire questa fase di scoperta per una settimana o due per tenere conto degli host temporaneamente offline, supponendo che verranno visualizzati in quel lasso di tempo. Se non lo fanno, si corre il rischio di ottenere un duplicato sulla rete. Se possibile, trova il vecchio host offline e utilizza la connessione di rete. Lascia una nota per spiegarne il motivo.
Prima di questa scansione, lascia che tutti i richiedenti IP sappiano cosa sta succedendo. Chiedigli di offrire volontariamente gli IP che stanno utilizzando e iniziare a registrare materiale. Inoltre, dì loro di registrare ogni nuovo IP che ritengono da quel giorno. Utilizza qualcosa come un foglio di calcolo di Google Documenti o qualsiasi altra cosa: supporta gli utenti simultanei, quindi sarebbe utile per questo.
Bene, alla fine la linea di base termina e ora avrai anche un foglio di calcolo peer-sourced con alcuni dati. Consolida i due e quella sarà la tua copia di verità. Ora inizia il tuo processo di business. Qualsiasi IP che è stato estratto deve essere verificato dopo l'uso. Registra tutte le informazioni necessarie per gestire in modo efficace le attività di check-out e check-in.
Un modo per eliminare gradualmente la vecchia "posta indesiderata nel bagagliaio" (ovvero gli IP acquisiti prima di questo nuovo processo) potrebbe essere la creazione di voci statiche nel server DHCP per questi. Questo insieme si ridurrebbe nel tempo man mano che escono dal contratto di locazione. Il resto degli indirizzi, quelli liberi, si troverebbe nel pool DHCP e potrebbe essere estratto e archiviato come per DHCP standard. Se qualcuno non può usare DHCP per qualsiasi motivo, devi semplicemente creare una voce statica come con i vecchi indirizzi. DHCP può anche essere integrato automaticamente con DNS in modo che vengano registrati automaticamente e gli utenti utilizzino i nomi e non gli IP per fare riferimento a essi. (pfSense esegue questa operazione con il server DHCP di riserva e il server DNS / DNS non associato.)
Puoi utilizzare qualsiasi archivio dati (incluso SQL) per gestire il check-out e il check-in, ma c'è un compromesso tra quanto metadati hai bisogno (e il lavoro richiesto) rispetto a quanto ottieni gratuitamente il server DHCP / DNS. Ma puoi certamente scrivere qualche script / programma per automatizzarlo, specialmente su Unix dato che probabilmente modificherai i file di testo e chiamerai script per ricaricare le modifiche.