Windows 2003 Server can be configured as both ISATAP client and server.
Windows 2003 Server as ISATAP Client
Configuring a .NET/2003 server as an ISATAP client works just like with Windows XP either manually with the command netsh or automatically by resolving the name “ISATAP”. The only difference is that once ISATAP is installed the 6to4 configuration is deleted.
Windows 2003 Server as ISATAP Server
For a host running Windows 2003 server to become an ISATAP router it is of course necessary for the advertised ISATAP prefix to be routed to the server. Additionally the default route of the host needs to be configured to be published. Otherwise Windows clients will not automatically set their default route to their ISATAP interface.
To configure the default route to be published the following command is used:
C:\>netsh interface ipv6 set route ::/0 \\
“<name or number of default interface>“ publish=yes
If the Windows server is a dual stack host integrated in a native IPv6 subnet, the default interface will most likely be the normal LAN interface (4). Otherwise it might be a configured tunnel or 6to4 interface.
C:\> netsh interface ipv6 set interface \\
“<interface name or number>“ forwarding=enabled
Now the ISATAP interface has to be configured. In order to do so however it first needs to be enabled. This is achieved by configuring the Windows server as an ISATAP client for itself:
C:\> netsh interface ipv6 isatap set router <IPv4 address>
The IPv4 address refers to the physical interface used for the tunnelling.
The ISATAP interface now also has to be set to forward packets. Additionally it has to be configured do send out router advertisements:
C:\>netsh interface ipv6 set interface 2 forwarding=enabled \\
advertise=enabled
At last the route and thus the prefix to be advertised on the ISATAP interface is configured. Like the default route this route has to be explicitly configured to be published.
C:\> netsh interface ipv6 add route <ISATAP prefix/64> 2 \\
publish=yes validlifetime=<valid lifetime of route> \\
preferredlifetime=<period for which this route is preferred>
The time periods can be specified in seconds (s), minutes (m), hours (h) or days (d) (e.g. 1d2h3m4s). The default for validlifetime is eternity. If no preferredlifetime is given, the default is the value for validlifetime.
