Availability
This implementation of NAT-PT was developed by ETRI using Linux kernel 2.4.0-test9 but should work on any kernel 2.4.x or above (it has been tested successfully on RedHat7.3, 8.0, 9.0 and various USAGI kernels). It includes both DNS and FTP ALGs functionality and is available from the following link:
http://www.ipv6.or.kr/english/natpt-overview.htm
Install and Configuration
To install NAT-PT, the files must be unzipped/untarred into an appropriate directory and some minor configuration must be done.
The primary configuration option for NAT-PT is the IPv4_addresses.list file which must be populated with the IPv4 address pool to be used and a static binding made for the DNS. This file takes the form of a basic list shown as follows:

Additionally, minor changes may be made to the nat-pt_global.h and nat-pt.c files to configure the network prefix and the IPv4 and IPv6 network interfaces respectively though in our case this was unnecessary.
The application is compiled using ‘make’ or ‘make clean’ and run using nat-pt. DNS must als be properly configured in order for NAT-PT to create dynamic address bindings.
Host Configuration
No major changes are needed for host configuration however the DNS may need setting up. The resolvers (DNS clients) on the IPv6 hosts must be configured to send DNS requests to an IPv6 address. This can either be the ‘real’ address of a native IPv6 DNS server, or the mapped address of an IPv4 DNS server.
Issues
A number of issues were encountered when compiling the NAT-PT device, primarily due to a missing‘include’ file, bpf.h. This file appears in 5 files; nat-pt_global.h, nat-pt.c, alg_manager.c, utils.c and dns_alg.c and each reference must be updated in order to make the compile successful. Additionally, in nat-pt.c a constant from the ‘clock’ library CLK_TCK is used erroneously and should be replaced with an appropriate value such as 100.
As a note of warning, this implementation is no longer being developed and it has been noted that the service is some way off a production quality service. As such, we recommend it should be used as an experimental service only.
