Come posso "immergere le dita dei piedi" nell'indirizzamento dinamico della rete IPv6?


14

Esiste un modo in IPv6 per abilitare l'indirizzamento dinamico e la configurazione per un sottoinsieme di host su una rete identificata da specifici indirizzi mac?

Ho lavorato lentamente alla configurazione di IPv6. Tutti i miei router hanno indirizzi e percorsi statici e alcuni server critici sono indirizzati staticamente. Ora voglio iniziare a testare alcuni client, ma non voglio semplicemente abilitarlo per un'intera rete in una volta. Vorrei poterlo abilitare solo per alcuni host.

Nel mondo IPv4 avrei impostato un server DHCP con 0 indirizzi liberi nell'ambito, e solo impostato le prenotazioni. Nel mondo IPv6 questa non sembra essere un'opzione poiché non riesco a impostare un gateway predefinito tramite DHCPv6, che apparentemente può essere appreso solo tramite gli annunci del router.

Come viene affrontato questo? Semplicemente non è possibile abilitare selettivamente IPv6 su una rete?

I miei router sono basati su Linux e il server DHCPv6 funzionerebbe su Linux se è importante, e sto cercando di abilitare client di ogni tipo (Windows / Linux / OSX).


Perché non è possibile effettuare prenotazioni DHCPv6? Anche il mio router di casa può farlo.
Michael Hampton

@MichaelHampton, Sì DHCPv6 dovrebbe essere in grado di fornire un indirizzo al client, ma come faccio a far sì che il client abbia una route predefinita?
Zoredache,

Sul server DHCP, è possibile creare alcune regole iptables che bloccano DHCPv6 da alcuni indirizzi MAC e consente a quelle che si desidera abilitare IPv6.
Atle,

@Zoredache: la route predefinita viene sempre comunicata dai messaggi Router Advertisement (RA). DHCPv6 non scambia informazioni di routing.
Sander Steffann,

Risposte:


7

Non vedo perché non puoi farlo sostanzialmente allo stesso modo con IPv6 come con IPv4 (anche se ti consiglierò di implementarlo da sottoreti piuttosto che da singoli host; ti farà risparmiare un sacco di tempo e mal di testa in seguito).

Ecco come funziona IPv6 qui (molto semplificato; vedi RFC 4861 per i dettagli cruenti):

Il router predefinito invia periodicamente un annuncio router o quando riceve una richiesta router da un nuovo host. L'AR contiene l'indirizzo del router, ovviamente, e vari flag. Di interesse per noi qui sono la bandiera M (gestita) e la bandiera O (altro). Questi flag specificano che l'host dovrebbe ottenere il resto delle informazioni di configurazione da un server DHCPv6:

  • Quando è impostato il flag M, tutte le informazioni di configurazione (tranne gli indirizzi del router) sono fornite da DHCPv6.
  • Quando è impostato il flag O, l'host configura il proprio indirizzo IPv6 con SLAAC; tutte le altre informazioni di configurazione (tranne gli indirizzi del router) sono fornite da DHCPv6.

A quel punto, è solo una questione di utilizzo, ad esempio fixed-address6nella dhcpd.confconfigurazione per impostare le prenotazioni; la configurazione DHCPv6 sarà sostanzialmente simile alla configurazione DHCP per IPv4.

Ho anche saltato il caso in cui una sottorete potrebbe avere due o più router che gestiscono il percorso "predefinito"; in questo caso, esaminare le preferenze del router IPv6 per la configurazione di questo aspetto.


Ok, sembra giusto. La sfida è che attualmente sto sperimentando l'utilizzo di DnsMasq per gli annunci di percorsi. Che sembra mancare delle funzionalità richieste per abilitare questo. Immagino che dovrò passare all'uso di radvd.
Zoredache,

1
@Zoredache dnsmasq è piuttosto minimale in questo senso, e non credo che abbia tutte le funzionalità necessarie. Sto usando me stesso il radvd. Se hai bisogno di qualcosa di minimalista, ad esempio per un sistema incorporato, considera 6relayd . Questa è una pubblicità router combinata / server DHCPv6 e relay che è stato originariamente scritto per OpenWrt.
Michael Hampton

1

È possibile impostare un server DHCPv6 (come WIDE o ISC) per la configurazione con stato o radvd per la configurazione automatica senza stato. IPv6 specifica l'intervallo FC00 :: / 7 per indirizzi locali univoci (simile agli intervalli di indirizzi privati ​​in IPv4).


E non dovresti usare fc00 :: o fd00 :: come vedo fare alcune persone. Dovresti scegliere un casuale / 48 all'interno di quell'intervallo.
Michael Hampton
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.