How to prepare your webserver for IPV6
You must say to the webserver that you want to use IPv6 adresses and install the necessary software.
Nowadays all the modern system operatives come with IPv6 support, but you need to enable and configure the IPv6 addresses for each part of the server.
Linux
DNS Server: BIND
- The most popular DNS server for Linux server is “Bind”. Bind implemented IPV6 supports ipv6 sinve the version 3.
- The last version is BIND 9.
- The first step is to enable IPv6 adding to /etc/namedb/named.conf:
options { directory "/etc/namedb"; listen-on-v6 { any; }; }; logging { category lame-servers { null; }; category cname { null; }; }; zone "." { type hint; file "named.root" ; }; zone "your_domain_here.abc " { type master; file "your_domain_here.abc"; }; zone "b.0.e.f.f.3.ip6.int" { type master; file "b.0.e.f.f.3.ip6.int"; };
- Then you can add the DNS zones with IPv6 addresses (/etc/namedb/named.root):
- Important: Don't use aA6 records if the BIND version used is lower than 9.
3600000 in ns localdomain. client. 3600000 in AAAA fe80::20c:29ff:fe77:6d21%4 client. 3600000 in a6 0 fe80::20c:29ff:fe77:6d21%4
- Configuration of the DNS zone file: /etc/namedb/your_domain_here.abc
$TTL 3D $ORIGIN your_domain_here.abc. @ IN SOA host.your_domain_here.abc. postmaster. your_domain_here.abc. ( 2001012501 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN MX 10 mail.your_domain_here.abc. ; ; www IN AAAA 3ffe:b00:c18:3000::abcb mail IN AAAA 3ffe:b00:c18:3000::abcd test IN AAAA 3ffe:b00:c18:1::10
Webserver: Apache
- In order to accept IPv6 connections you can configure apache to receive them together with IPv4 adresses.
- You only need to think to add it as a new IP address.
- To listen an ipv4 adress you set it:
Listen 74.86.48.99:80
- In a similar way, an ipv6 would be like this:
Listen [2001:db8::a00:20ff:fea7:ccea]:80
- A common task is to create virtualhosts. The concept continues being the same, but you just need to work with the new format for the address:
<VirtualHost [2001:db8::a00:20ff:fea7:ccea]> ServerAdmin webmaster@host.example.com DocumentRoot /www/docs/host.example.com ServerName host.example.com </VirtualHost>
Manuals
Building a Linux IPv6 DNS Server
Build an IPv6 package to run a IPv6-only workstation
Windows Server
Windows Server 2003
- To install the IPv6 protocol for Windows Server 2003, perform the following steps:
- Click Start, click Control Panel, and then double-click Network Connections.
- Right-click any local area connection, and then click Properties.
- Click Install.
- In the Select Network Component Type dialog box, click Protocol, and then click Add.
- In the Select Network Protocol dialog box, click Microsoft TCP/IP version 6, and then click OK.
- Click Close to save changes to your network connection.
- Alternately, from the Windows Server 2003 desktop, click Start, point to Programs, point to Accessories, and then click Command Prompt.
- At the command prompt type:
netsh interface ipv6 install
Windows Server 2008
- The IPv6 protocol for Windows Server 2008 is installed and enabled by default.
- It appears as the Internet Protocol Version 6 (TCP/IP) component on the Configure tab when you obtain the properties of a connection or adapter in the Network Connections folder (available from the Network and Sharing Center).
IPv6 address assignment
- As with IPv4, you can assign IPv6 addresses either statically or dynamically, but the implications and implementation of automatic address assignment are very different from IPv4. First look at automatic address assignment.
- To configure IPv6, click the Properties button of the local area connection you want to configure IPv6 on and the following screen will appear:
Autoconfiguration
- IPv6 doesn’t require the use of a configuration protocol such as DHCP to assign addresses automatically, although IPv6 supports automatic assignment through DHCPv6 servers. Automatic configuration without a DHCPv6 server is called stateless autoconfiguration. With this method, the host configures its address using router advertisement messages received from the routers on its link. The result is similar to IPv4 address assignment with APIPA (Automatic Private IP Addressing), which allows Windows platforms to derive a valid IP address from the private 169.254.x.x/16 address space (class B with subnet mask 255.255.0.0). Windows Server 2008 supports stateless autoconfiguration.
- IPv6 also gives for stateful autoconfiguration, which relies on a DHCPv6 server to allocate the address. However, Windows Server 2008 does not at this point support stateful autoconfiguration, nor does the DHCP service included with Windows Server 2008 support DHCPv6 address allocation. Therefore, you need to either rely on stateless autoconfiguration or configure the address and other properties manually.
Static configuration (TCP/IP Properties)
- Use the following IPv6 address:
Type here your IPv6 address.
- Subnet prefix length:
Type here the subnet prefix length, for example 64.
- Default gateway:
Type here the IPv6 address of your default gateway, for example the IPv6 address of your router/firewall.
- Use the following DNS server addresses:
Type here to IPv6 address(es) of your local/ISP's DNS server(s).
- Click on OK to save the modifications.
Static configuration (CLI)
- Open a command console and issue the following commands to initiate a Netsh session to configure IPv6:
netsh interface ipv6
- Next, add the interface and address using the following command:
- (Replace String with the string that identifies the IPv6 interface; IP-address specifies the IPv6 address.)
add address interface=String address=IP-address
- Generally, even if you assign the address statically in this way, the computer will determine the default router from router advertisements; however, you can assign the default router statically if required. Still in the netsh IPv6 interface, execute the following command:
- (Replace IPv6Address with the valid IPv6 address, and Integer with the prefix length. Replace String with the interface name on which to add the route.)
add route prefix=IPv6Address/Integer interface=String
- If you need to remove a route, use the following commands:
- (Use the results of the show routes command to determine the route prefix and interface index for the route to be deleted.)
- (Then replace the IPv6Address, Integer, and String values accordingly.)
show routes delete route prefix=IPv6Address/Integer interface=String
Links
(Reverse) DNS lookup IPv6
IPv6 Network tools
IPv6 for Microsoft Windows FAQ
Next Generation TCP/IP Stack
Configuring IPv6 in Windows server 2008 R2 – video tutorial