Well i figured i'd write some instructions or documentation here in this blog on how i went ahead to implement NAT64 and DNS64 on a ArchLinux system. Or any Linux distro for that matter. Package managers might differ etc between them but fairly similar.
First of all you'd want to have the latest BIND for the DNS64 component, support for DNS64 was added quite recently to BIND in 9.8.0 so a recent package is necessary to use the support.
on Archlinux this was simply:
sudo pacman -S bind
then grab an un-used IPv6 prefix that you aren't using. in my sample net i have 2001:16d8:ccfc::/48 for my Subnet.
so i grab 2001:16d8:ccfc:ffff::/96 for the NAT64/DNS64 range where IPv4 hosts will be mapped into.
So now i configured bind's config file which is /etc/named.conf with the following contents within the options section
dns64 2001:16d8:ccfc:ffff::/96 {};
You'll note the {}; which could contain something?. and yes it can but i haven't investigated what options are provided but likely just tunables for certain cases which i will not research for now.
That is all that is to the DNS64 component, obviously later you'd want your clients configured to use that DNS server. but in this post i'm assuming this is done on some primary or secondary DNS of yours that you are using. or some DNS server that is only configured on some IPv6 lab clients.
Now lets goto the NAT64 bit which is the lynchpin pretty much that enables this all to work properly.
I choosed the software Ecdysis initially for my first DNS64/NAT64 installs, but being a kernel-module that is in my view experimental, stability became an issue and finding a NAT64 router kernel paniced when i'm not watching is not what i want. So i sacrificed the potential performance benefits of using Ecdysis and replaced it with a user-space implementation by the name Tayga.
So here goes the steps to install and use tayga.
I went to the
Tayga Website and grabbed the tayga tar.bz2 file.
In my case i just copied the link to the file and ran
wget http://www.litech.org/tayga/tayga-0.9.1.tar.bz2
on my to-be NAT64/DNS64 host. (Note: Technically you can have a different host doing NAT64 and DNS64 work. but i choosed to have them on the same host, so i have not documented how to have seperate hosts for the 2 services. And since my use-case represented a fairly small SOHO network i didn't take into consideration the need to seperate these for either reliability/redudancy or performance reasons.). If interest is for documenting a setup with it seperatly drop a comment and i'll consider that.
Anyhow. after having downloaded the tayga.tar.bz2 file using wget i went ahead and extracted it with the usual.
tar xvjf tayga-0.9.1.tar.bz2
command.
Then i cd'ed into the resulting directory and ran ./configure && make && sudo make install
The rest is pretty much a direct copy of the TAYGA Quick-Start guide
Except for replacing the IPs with the relevant one's for my network and all.
One addition that is outside the Quick-Start guide is that i added everything after the EOD part into my /etc/rc.local so that the NAT64 service on ArchLinux is auto-started. I might consider making a proper init script for it later but not now since i consider it Lab/Semi-Production use so far.
That is all i figured i'd write. If anyone thinks it's too poorly detailed or written. Please leave a constructive comment and i'll look at it.
To the English Readers directed here by google or other referal. I have written a related post in english about the subject at: http://anirev.net/archives/62-My-NAT64DNS64-documentationhowto.html Har nyligen äntligen fått igång DNS64/NAT64 i nätet hemm
Tracked: May 13, 11:14