Level Up til IPv6 med Ubuntu 10.10 på Comcast

Comcast har startet IPv6 prøvelser. Hvis Comcast er din ISP, kan du komme i gang med IPv6 på Linux med en gang, med bare noen få enkle trinn. Klar til å bli med neste generasjons nettverk? Vi viser deg hvordan du får Ubuntu 10.10 på Comcast IPv6 på kort tid.

Alle på Comcast nettverk kan delta om de er offisielt i rettssaken eller ikke. I fase en av sine prøvelser de er å stole på tunneling mekanismer 6to4 og mer nylig 6RD (Rapid Deployment). Comcast har " åpne hentet " sin løsning basert på OpenWRT hvis du tilfeldigvis har en router som støttes av OpenWRT. Jeg vet ikke, så liker noen selvrespekt Linux geek, jeg satt ut for å gjøre det med en Linux-boks. Jeg fant dokumentasjon for å gjøre det vanskelig å finne. Den 6RD dokumentasjon, inkludert mannen sidene for iproute2 kommandoer, synes å mangle.

Først litt bakgrunnsinformasjon.

Hvorfor skal jeg bry meg om IPv6?

Den nåværende generasjonen av IP, IPv4, har rundt 4,3 milliarder adresser og bare om lag 3,7 milliarder kroner er brukbare. Den estimerte forbruket satsen er flere /8 blokker per år som det er bare 5 prosent som gjenstår. Hver blokk inneholder mer enn 16 millioner adresser. De nåværende estimater legge alle IPv4-adresser blir tildelt 2 juni 2011, om lag 230 dager fra skrivingen av denne artikkelen. Lenge før IPv4 adresserommet er oppbrukt, kan det bli kost uoverkommelige for bedrifter å skaffe nye IPv4 adresse plass på grunn av tilbud og etterspørsel.

IPv6 har eksistert siden 1990-tallet. IPv6 har en adresse plass for 2 ^ 128, et astronomisk antall for å matche den astronomiske vekst av Internett tilkoblede enheter. Problemet er IPv6 er ikke bakoverkompatibel med IPv4. De er to helt forskjellige protokoller. Så en innfødt IPv4 stack kan ikke kommunisere med en innfødt IPv6 stabelen uten noen intervensjon i mellom. Dette har vært den høna og egget problem å hindre store nettverk fra å migrere til IPv6. Når du vandrer som du har tilkobling med? Inntil vi alle vandrer, de første adopters er isolert.

Tiden for å implementere IPv6 har vært her i et par tiår. Som Ars Technica si det, det er ingen plan B.

Tunneling Mekanismer

På grunn av mangel på bakoverkompatibilitet med IPv4, IPv6 adopsjon har vært treg. Det er der de tunneling mekanismer kommer til å få ballen rullende og tillate IPv6 gjennomføring for å få litt fart. Comcast plan er en god en: Fase én, tunnel IPv6 enn innfødte IPv4; Fase to, dual stack både IPv6 og IPv4; Fase tre, tunnel IPv4 enn native IPv6.

Tunnel IPv4 over IPv6

Alt tunneling avhenger av IP innen IP. Det er her, i vårt tilfelle, er IPv6 pakke dataene nyttelast på en IPv4 pakke. Hvis du noen gang har satt opp en VPN ved hjelp av GRE, er dette det samme konseptet. I 6to4 tilfellet blir tunnelen avsluttes på en IPv4 /IPv6 grensen router som kan være på noen ISP nettverk ikke nødvendigvis ISP-nettverket.

Tunneled IPv6-trafikk sendes innkapslet i IPv4-pakker til 192.88.99.1. Alle ISPer med boarder reléer annonsere 192.88.99.0/24 nettverket. Så din tunnel trafikken vil gå til nærmeste (færrest hopp eller minst kostnad) grensen relé uavhengig av hvilken ISP kjører den.

Opp av dette er at du kan begynne å bruke IPv6 selv om din ISP ikke ruten IPv6. Ulempen er ISPene med 6to4 boarder releer har ingen kontroll over hvem som bruker sine releer. Også du har ingen kontroll over hvor grensen relé trafikken bruker. Dette i teorien * senker kvaliteten på tjenesten som leveres av disse releer. 6to4 bruker prefikset 2002 :: /3 og ser ut til å native IPv6 stabler som tunnel

Rapid Deployment

6RD, eller rask distribusjon, er et spesialtilfelle av 6to4 utviklet av R é. Mi Despr è s og først utplassert av freebox.fr den franske leverandøren. 6RD tillater en ISP å bruke produksjons IPv6 adresseområdet 2 001 :: /3 og angi sin egen IPv4 /IPv6 boarder stafett. Dette tillater dem å begrense trafikken til sine egne kunder og i teorien * gi en høyere kvalitet på tjenesten. 6RD bruker produksjonen IPv6 adresseområdet 2001 :: /3 og ser ut til å native IPv6 stabler som native IPv6.

Linux og IPv6

IPv6 er gjennomført til en viss grad eller en annen så langt tilbake som de 2.2.x kjerner og 6to4 tunneling for nesten like lenge. 6RD er en nyere ankomst som kernel 2.6.33. Enhver Linux-distribusjon med et 2.6.33 eller nyere kernel kompilert med CONFIG_IPV6_SIT_6RD aktivert og iproute2-2.6.33 eller høyere installert kan kjøre 6RD tunneler.

Som timing ville ha det, Ubuntu 10.10 Maverick har nylig blitt løslatt og har disse funksjonene aktivert takket være denne feilrapporten fra Nathan Lutchansky som også er en Comcast prøvebetatester. Så dette er fordelingen jeg valgte for 6RD oppsett. Nathan har en side om hvordan bli 6RD arbeider i Lucid.

Sette opp 6RD Tunnel

Dette vil lede deg gjennom å sette opp en Linux-maskin som en router og brannmur tunneling IPv6-trafikk via IPv4 ved hjelp av en ISP 6RD boarder router

Eksempel Configuration.

Comcast 6RD konfigurasjon:
 6RD prefix = 2001: 55c6rd prefikslengde = 326rd BR FQDN = 6rd.comcast.netIPv4 maskelengde = 0 
konfigurasjon Eksempel hjemmenettverk:
 Offentlig Interface: eth0Public IPv4 DHCP-adr: 10.10.10.10Private Interface: eth1 


skritt for å bygge tunnelen:
Bestem din offentlige IPv4-adresse

I vårt eksempel har vi tenkt å bruke en RFC 1918 private adresse. Men vil du bruke offentlig rutbare IPv4-adresse som din ISP hendene ut via DHCP. Her er en automatisert måte å gjøre det som skal håndtere mottar en annen DHCP IPv4-adresse når pubilc grensesnittet kommer opp:

 sudo echo $ (ip -4 adr showet dev eth0 | awk '/inet /{skrive $ 2 } '| cut -d /-f1) 10.10.10.10 
Basert på din offentlige IPv4-adresse og din ISP IPv6 prefix bestemme din lokale IPv6 prefikset
 sudo echo $ (printf " 2001: 55c:% 02x% 02x:% 02x% 02x " $ |) 2001: 55c: 0a0a: 0a0a 
Ta opp 6RD tunnel: product: (ekko 10.10.10.10 tr ''.)

" ip tunnel 6RD " kommandoen med 6RD-prefiks argument er det magiske nesten udokumentert 6RD saus. Dette gjør det en 6RD tunnel ved specifiying den ISPer PREFIX heller enn 2002 :: /16 " generiske " 6to4 prefiks

 sudo ip tunnel legge 6rdtun modus sitte lokal 10.10.10.10 ttl 64 sudo ip tunnel 6RD dev 6rdtun 6RD-prefikset 2001:. 55c :: /32 sudo ip lenken sett 6rdtun opp 
Deretter tilordne IPv6-adresser til ruterens grensesnitt:

Angi tunnelen grensesnitt med din lokale prefiks og en " subnet " fra 0 bruker ISP prefikset lengde.
 sudo ip -6 adr legge 2001: 55c: 0a0a: 0a0a: 0 :: 1/32 dev 6rdtunAssign den interne grensesnitt med din lokale prefiks og en " subnet " av en ved hjelp av full /64 prefiks lengde. 
 sudo ip -6 adr legge 2001: 55c: 0a0a: 0a0a: 1 :: 1/64 dev eth1 
Legg rute til IPv6 adresseområdet via tunnel grensesnitt:
 sudo ip -6 route add 2 000 :: /3 via :: 69.252.80.66 dev 6rdtun 
Ønsker ikke å gjøre dette hver gang du starter? Her er et skript for å automatisere prosessen ovenfor for å få opp IPv6 6RD tunnel.
 #! /Bin /bashWANIF = eth0LANIF = eth1SIXRDTUNIF = 6rdtunSIXRDTUNMTU = 1280SIXRDTUNTTL = 64WAN4IP = $ (ip -4 adr showet dev $ WANIF | awk '/inet /{print $ 2}' | cut -d /-f1) ISP6RDPREFIX = '2001: 55c'ISP6RDPREFIXLEN =' 32'ISP6RDBR = `grave + kort 6rd.comcast.net`WAN4MASKLEN = '0 'LOCAL6PREFIX = $ (printf " $ ISP6RDPREFIX:% 02x% 02x:% 02x% 02x " $ (echo $ WAN4IP | tr.' ')) LOCAL6PREFIXLEN = 64 # Setup tunnelen interfaceip tunnel legge $ SIXRDTUNIF modus sitte lokal $ WAN4IP ttl $ SIXRDTUNTTL # Dette er den magiske nesten udokumentert 6RD saus # Dette gjør det til et 6RD tunnel ved specifiying den ISPer PREFIX # snarere enn 2 002 :: /16 " generiske " 6to4 prefixip tunnel 6RD dev $ SIXRDTUNIF 6RD-prefikset $ ISP6RDPREFIX :: /$ ISP6RDPREFIXLEN # Sett ip linken MTU satt $ SIXRDTUNIF MTU $ SIXRDTUNMTU # Ta opp lenken tunnel interfaceip satt $ SIXRDTUNIF opp # Sett tunnelen grensesnittet IPv6 addressip -6 adr legge til $ LOCAL6PREFIX: 0 :: 1 /$ ISP6RDPREFIXLEN dev $ SIXRDTUNIF # Sett LAN-grensesnitt IPv6 addressip -6 adr legge $ LOCAL6PREFIX: 1 :: 1 /$ LOCAL6PREFIXLEN dev $ LANIF # Angi standard IPv6 ruten til ISP IPv4 /IPv6 boarder routerip -6 rute legge 2 000 :: /3 via :: $ ISP6RDBR dev $ SIXRDTUNIF 


Steps etter at du har IPv6 Routing konfigurerte

Autoconfigure interne nettverk med Linux IPv6 Router Advertisement Daemon (radvd). Ruteren er nå ruting IPv6-trafikk. Men du vil at alle enhetene på det interne nettverket til å være IPv6 aktivert. radvd er en enkel daemon å tildele alle dine IPv6 klar enheter på det interne nettverket med en IPv6-adresse på din nye lokale subnettet.

Installer radvd og sette opp /etc/radvd.conf

sudo apt-get install radvd

Sett inn følgende i /etc/radvd.conf. Sørg for å endre prefikset for å matche din som bestemt ovenfor.

 interface eth1 {AdvSendAdvert på; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; AdvLinkMTU 1280; prefix 2001: 55c: 0a0a: 0a0a :: /64 {AdvOnLink på; AdvAutonomous på; AdvRouterAddr på; AdvValidLifetime 86400; AdvPreferredLifetime 86400; };}; # /etc/init.d/radvd Start 

Sjekk dine andre IPv6 bevisste enheter, og du vil finne at de har fått en IPv6-adresse basert på ditt lokale prefikset og enhetens MAC-adresse. Prøver å pinge ruteren fra en av disse enhetene

 # ping6 2001: 55c: 0a0a: 0a0a: 1 :: 1 

Brannmur Din IPv6 Trafikk

Du kan brukes til det interne nettverket være på private RFC 1 918 adresseområdet. Brannmur er fortsatt nødvendig ved bruk av NAT, men noen mennesker unnlater å gjøre det forutsatt at NAT er beskyttelse nok. Nå er det du bruker offentlig rutbare IPv6-adresser og brannmur er ikke lenger et alternativ. Alle datamaskiner på IPv6 kan komme rett inn i nettverket uten. Hvis du er kjent med iptables, vil ip6tables være enkelt å impliment.

Her er et eksempel script av en naken Mininum ip6tables brannmur.

 # /bin /bashPUBIF = eth0PRIVIF = eth1 # Clean Startip6tables -F # Definer Policyip6tables -P INPUT DROPip6tables -P FORWARD DROPip6tables -P OUTPUT ACCEPT # Innspill til ruteren # Tillat alle loopback trafficip6tables -A INPUT! - Jeg lo -s 0/0 -d 0/0 -j ACCEPT # Tillat unrestircted tilgang på interne networkip6tables -A INPUT -i $ PRIVIF -j ACCEPT # Tillat ubegrenset utgående connectionsip6tables -A INPUT -i $ PUBIF -m state --state relatert, ETABLERT -j ACCEPT # Slipp alt elseip6tables -A INPUT -i $ PUBIF -j DROP # Forwarding gjennom til det interne nettverket # For nå tillate unrestircted tilgang ut fra de interne networkip6tables -A FORWARD -i $ PRIVIF j GODTAR # Tillat ubegrenset utgående connectionsip6tables -A FORWARD -i $ PUBIF -m state --state relatert, ETABLERT -j ACCEPT # Slipp alt elseip6tables -A FORWARD -i $ PUBIF -j DROP 

Nå teste oppsettet og liker å bruke IPv6! Sjekk ut noen av de følgende områder for å teste din IPv6 oppsett:

http://whatismyv6.com/http://ismyipv6working.com/http://ipv6-speedtest.net/http://ipv6.wcclan.net/bandwidthmeter/initialmeter.php

Bruke noen av dine favoritter nettsteder via IPv6

 http: //ipv6.google.comhttp: //ipv6.netflix.comhttp: //www.v6.facebook.com 

IPv6 kommer sakte, men sikkert. Hvorfor vente? Kom i gang nå, og du kan nyte IPv6 nettverkstjenester, og hjelpe teste applikasjoner for IPv6 kompatibilitet, i dag.