Your company here — click to reach over 10,000 unique daily visitors

6tunnel - Man Page

tunnelling for application that don't speak IPv6


6tunnel [ -146dhfv ] [ -u username ] [ -i password ] [ -I password ] [ -l local_host ] [ -L limit ] [ -p pid_file ] [ -m map_file ] local_port remote_host [ remote_port ]


6tunnel allows you to use services provided by IPv6 hosts with IPv4-only applications and vice-versa. It can bind to any of your IPv4 (default) or IPv6 addresses and forward all data to IPv4 or IPv6 (default) host. For example

6tunnel -1 6668 irc6.net 6667

will be enough to connect to IPv6 irc server with

irc foobar localhost:6668

If you don't wish to run 6tunnel every time you want to show your :c001: or :dead: IPv6 address on IRC, you can use -i parameter, which makes 6tunnel ask your client for specified password. Just run

6tunnel -i dupa.8 31337 irc6.net 6667

and then type

irc foobar localhost:31337:dupa.8

If your IRC server requires you to send password, specify it with -I parameter -- after successful proxy authentication 6tunnel will send it to the server.

6tunnel can also be used as a tunnel for all other combinations of IPv4 and IPv6 endpoints. If remote host doesn't have any IPv6 addresses, 6tunnel will use the IPv4 one. In other cases, use -4 parameter which makes IPv4 address the preferred one. For IPv6-to-any tunnels use -6 which makes 6tunnel bind to IPv6 address.



Exit after first connection.


Prefer IPv4 endpoint if the machine has both address types.


Listen on IPv6 address (IPv4 is default).


Don't detach.


Force tunneling even if remote host is not resolvable at the execution time.


Print hex dump of every packet received or sent.

-u username

Change UID and GID after bind().

-i password

Act as an IRC proxy and require user to authenticate.

-I password

If you are using 6tunnel as an IRC proxy and the IRC server requires you to send password, place it right here.

-l local_host

Listen on specified address (IPv4, or IPv6 if -6 used).

-L limit

Limit simultaneous connections.

-p pid_file

Write down pid to specified file.

-s source_host

Connect to the remote host using specified source address.

-m map_file

Binds to specified IPv6 addresses on basis of source IPv4 address. The file contains one mapping per line with IPv4 source address and corresponding IPv6 address. Only listed hosts are allowed to connect. If you want to allow any host, add mapping for default or address. Example: 3ffe:8010:18::1000:2 3ffe:8010:18::1000:3

Be verbose and don't detach.


Option -H to disable all resolver hints has been removed since proper combination of -4 and -6 will yield in any combination of IPv4 and IPv6 sources and destinations.


Sending SIGHUP forces map file reload.


#ipv6 crew, Lam.


Terrible man page. Hex dump doesn't include IRC proxy authentication. IRC proxy requires your client to send password first (don't worry ircii, EPIC, BitchX, mIRC and many more will work). No logging except debug output.


Wojtek Kaniewski (wojtekka@toxygen.net), Dariusz Jackowski (ascent@linux.pl), Ramunas Lukosevicus (lukoramu@parok.lt), Roland Stigge (stigge@antcom.de)

See Also



Oct 19, 2019