HANDLEIDING IPv6 implementatie op een DirectAdmin server met CentOS
Geschreven door Alexander Knoth / Knoth Hosting Versie 1.2 / 22 fe februari 2013
In deze handleiding wordt besproken: -
Hoe voorzie je een server van zowel een IPv4 als een IPv6 adres. Hoe configureer je DirectAdmin voor gebruik van IPv6. Hoe laat je al je domeinen op IPv4 en IPv6 draaien.
Benodigdheden: -
Minimaal 1 IPv6 adres. Root toegang tot uw server. Basiskennis van het beheren van een Linux server. Basiskennis van programmeren (om de code te begrijpen).
In deze handleiding gaan we er vanuit dat je weet wat IPv6 is en hoe je het kunt gebruiken. Voor de beginners onder ons die dit niet weten raad ik aan om eerst dit te lezen: http://nl.wikipedia.org/wiki/Internet_Protocol_versie_6 Het gebruik ebruik van deze handleiding is volledig op eigen risico! Je bent zelf verantwoordelijk voor alles wat je uitvoert op je server server. . Indien je de basis van het beheren van een server nog niet beheerst is het mogelijk verstandiger om zelf geen dergelijke handelingen uit te voeren en het over te laten aan een expert. Ga nooit dingen “uitproberen” op een productieserver, gebruik altijd e een test omgeving. Verder bevat deze handleiding links naar bash scripts die verzameld zijn op internet en waar geen rechten aan zijn verleend. Gebruik deze alleen als je weet wat je doet en vooral: wat de scripts zelf doen. Een foute configuratie kan fataal aal zijn.
Laat het over aan de experts Indien u over onvoldoende kennis beschikt adviseren wij u de implementatie over te laten aan een expert. Knoth Hosting kan dit eventueel voor u uitvoeren. De kosten van IPv6 implementatie zijn 60,00 euro excl. 19% btw.
Het configureren van een IPv6 IP adres Voor u kunt beginnen met de implementatie van IPv6 heeft u eerst een IPv6 adres nodig. Deze kunt u opvragen bij Knoth Hosting, wij kennen per dedicated server in beginsel 2 IPv6 adressen toe, meer adressen kunt u kostenloos op aanvraag verkrijgen. Een IPv6 adres ziet er anders uit dan een IPv4 adres, de opbouw van een IPv4 adres ziet er als volgt uit: xx.xx.xx.xx De opbouw van een IPv6 adres ziet er als volgt uit: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx Hieronder leggen we uit hoe je een IPv6 adres instelt op een CentOS server.
Het instellen van een IPv6 adres op CentOS 1. Om te beginnen passen we het IP configuratiebestand aan: Console: nano /etc/sysconfig/networking/devices/ifcfg-eth0
2. In het scherm zie je nu het geconfigureerde IPv4 adres, dit ziet er ongeveer als volgt uit: DEVICE=eth0 BOOTPROTO=none BROADCAST=xx.xx.xx.xx HWADDR=xx:xx:xx:xx:xx:xx IPADDR=xx.xx.xx.xx NETMASK=255.255.255.0 NETWORK=xx.xx.xx.xx
ONBOOT=yes GATEWAY=xx.xx.xx.xx TYPE=Ethernet 3. Nu plaats je boven de regel ONBOOT=yes de onderstaande regels. Vervang het IPv6 ip adres met jou IPv6 ip adres. IPV6INIT=yes IPV6ADDR=xxxx:xxxx:xxxx::xxxx IPV6_DEFAULTGW=xxxx:xxxx:xxxx::xxxx 4. Vervolgens passen we het modprobe configuratie bestand aan indien dit noodzakelijk is: Console: nano /etc/modprobe.conf Mogelijk staan de volgende regels in dit bestand: alias net-pf-10 off alias ipv6 off options ipv6 disable=1 Indien dit het geval is kunt u deze middels een comment (#) uitschakelen. U sluit nano af en slaat het bestand op. 5. Hierna voert u het volgende uit: Console: nano /etc/sysconfig/network U treft hier de volgende regel: NETWORKING_IPV6=no Deze regel past u aan naar: NETWORKING_IPV6=yes 6. Nu gaan we de netwerk instelling herstarten: Console: service network restart
Testen van IPv6 Voor we verder gaan, gaan we eerst kijken of het IP adres goed geconfigureerd is. Als je thuis al IPv6 hebt kun je het heel gemakkelijk testen door het IP dres te pingen, of door het in te voeren in je webbrowser. Let op IPv6 vereist haakjes om het IP adres (bijv. http://[xxxx.xxxx.xxxx.xxxx::xxxx]). Een andere en misschien wel betere manier is om het IP adres te testen via een dienst als deze: http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php
Als zij je IPv6 ip adres kunnen pingen is dit voor jou een teken dat het werkt.
DirectAdmin configureren met IPv6 DirectAdmin draait standaard alleen op IPv4. Bij een nieuwe installatie wordt DirectAdmin tegenwoordig wel meteen met IPv6 geconfigureerd, maar dit werkt alleen als er een IPv6 IP op het systeem aanwezig is. Aangezien we deze nu hebben geconfigureerd gaan we DirectAdmin laten draaien op IPv6. Het configuratie bestand van DirectAdmin bevind zich in /usr/local/directadmin 1. Console: nano /usr/local/directadmin/conf/directadmin.conf 2. Kijk of je ergens ipv6=0 kunt vinden. En zet deze op 1. Als je dit niet kunt vinden voeg de regel dan onderaan het bestand toe en sla het op. 3. Vervolgens herstarten we DirectAdmin: Console: service directadmin restart 4. Als je thuis IPv6 hebt, test dan in je browser of je DirectAdmin kunt bereiken via IPv6 (bijv. http://[xxxx.xxxx.xxxx.xxxx::xxxx]:2222).
Alle applicaties laten werken op IPv6 Alle applicaties ondersteunen IPv6 hiervoor moet straks de server een reboot krijgen. Alleen Bind (onderdeel van Named) draait hier nog niet op. Daarom gaan we deze nog even configureren:
1.Console: nano /etc/named.conf 2. Voeg nu in het gedeelte van “optuins(“ de volgende 3 regels toe. Vervang het IPv6 adres door je eigen IPv6 adres: query-source-v6 address xxxx:xxxx:xxxx::xxxx port 53; listen-on-v6 { any; }; notify-source-v6 xxxx:xxxx:xxxx::xxxx; 3. Je bestand ziet er dan ongeveer zo uit. Het kan best zijn dat er nog veel meer regels bijstaan, laat deze gewoon met rust. Deze dienen niet voor IPv6 en hebben we dus niet nodig. options { directory "/var/named"; query-source-v6 address xxxx:xxxx:xxxx::xxxx port 53; listen-on-v6 { any; }; notify-source-v6 xxxx:xxxx:xxxx::xxxx; allow-transfer { none; }; allow-recursion { localnets; }; //listen-on-v6 { any; }; }; 4. Nu moeten we de server nog even opnieuw starten: Console: reboot De server zal nu rebooten, dit kan enkele minuten duren.
IP adres toevoegen in DirectAdmin In DirectAdmin gaan we nu het IP adres invoeren. Let er goed op dat dit IP adres al correct geconfigureerd is. In het hoofdstuk “Testen van IPv6” staat al uitgelegd hoe je dit kunt testen. 1.Ga naar DirectAdmin naar “Admin level” en kies hier “IP Management”. 2. Vul het IPv6 adres in als volgt: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx u kunt hierbij de 0000 notaties afkorten tot 0, echter niet verwijderen omdat DirectAdmin
het adres anders niet meer als IPv6 adres zal herkennen en kies als subnetmask /48 Klik vervolgens op “Add ip”. * LET OP: in de vorige handleiding werd als subnetmast het IPv4 adres 255.255.255.0 vermeld, echter kan sinds versie 1.42 van directadmin een IPv6 netmask worden meegegeven. Let er op dat uw directadmin versie is geupdate!
IPv4 en IPv6 adres automatisch aan gebruikers en websites toewijzen Om alle websites volledig beschikbaar te stellen over zowel IPv4 als IPv6 moeten we een beetje creatief zijn. DirectAdmin biedt namelijk standaard (nog) niet de mogelijkheid om 2 IP’s aan 1 domeinnaam te koppelen. LET OP! -
-
Gebruik deze scripts alleen als je weet hoe je een bash script moet uitvoeren! Gebruik het script ipv6.sh om alle domeinnamen een IPv4 en IPv6 adres toe te wijzen (let op, dit script verwijderd alle eerdere toegewezen IP adressen) Gebruik ipv6_dns.sh om alle domeinnamen te voorzien van IPv6 DNS records (de zogenaamde AAAA records) Voet het ipv6_dns.sh script noot meer dan 2 keer uit. Dan worden de ipv6 records namelijk dubbel aangemaakt.
1.Download de bash bestanden: Console: wget http://www.knoth.nl/ipv6/ipv6.sh Console: wget http://www.knoth.nl/ipv6/ipv6_dns.sh 2. Pas de 2 IP’s in ipv6.sh en ipv6_dns.sh aan. Vervang “JOU-IPv4ADRES” en “JOU-IPv6-ADRES” door je eigen IP adressen. 3. Voer het script uit op je server door het rechten te geven en vervolgens uit te voeren: Console: chmod 777 ipv6.sh Console: chmod 777 ipv6_dns.sh Console: ./ipv6.sh Console: ./ipv6_dns.sh
4. Nu moet je bij alle domeinnamen de IPv6 records kunnen zien en na een paar uur wachten zal op het IPv6 adres te zien zijn bij alle domeinnamen “Show All Users” in het “Admin level”.
Standaard IPv6 ip adres toewijzen Pas de DNS en vhost templates aan van DirectAdmin Download de volgende templates: wget http://www.knoth.nl/ipv6/custom/virtual_host2.conf wget http://www.knoth.nl/ipv6/custom/virtual_host2_secure.conf wget http://www.knoth.nl/ipv6/custom/virtual_host2_secure_sub.conf wget http://www.knoth.nl/ipv6/custom/virtual_host2_sub.conf Vervang in deze bestanden “JOU-IPv6-ADRES” aan naar jou IPv6 adres. Plaats daarna de bestanden in: /usr/local/directadmin/data/templates/custom