If All Else Fails...
In some cases you may use software that simply does not support
IPv6. In some cases this software can be made to effectively operate
over IPv6 using port forwarding. We use the
nc6 program, available from
http://www.deepspace6.net/projects/netcat6.html,
and inetd to do port forwarding.
The nc6 program allows you to make
a connection to a network service and copies its input/output to that
network service. For example, you could say nc6 mail.example.com smtp to get a connection to the SMTP server
on mail.example.com
.
Tip
There are other more sophisticated solutions using programs,
such as ssh
. Examples of clever
port forwarding tricks can be found in SSH, The Secure
Shell by Barrett and Silverman (O'Reilly). These tricks
work over IPv4, IPv6, and a mix of both.
So let's consider the example of cvsup. This is a program used by the FreeBSD project for replicating source code trees. cvsup is written in Modula 3 and the version of Modula 3 used does not yet support IPv6. This means that the client and server parts of cvsup can neither make nor receive IPv6 connections.
However the protocol used by cvsup does not care about what it is transported over, thus on a cvsup server we can add a line to /etc/inetd.conf saying:
cvsup stream tcp6 nowait nobody /usr/local/bin/nc6 nc6 127.0.0.1 cvsup
This causes inetd to listen
for TCP connections on the cvsup port, and if it gets a connection
then nc6 is started and it forwards
the connection to 127.0.0.1
, where it can be served by ...
Get IPv6 Network Administration now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.