The 6to4 script can be used to setup IPv6 on your home machine and net-
work for exploring IPv6 without any registrations. 6to4 is a mechanism by
which your IPv6 address(es) are derived from an assigned IPv4 address,
and which involves automatic tunnelling to one or more remove 6to4 hubs,
which will then forward your v6 packets on the 6bone etc. Replies are
routed back to you over IPv4 via (possibly) other 6to4 capable remote
gateways. As such, IPv6-in-IPv4-encapsulated packets are accepted from
From your (single) IPv4 address, you get a whole IPv6 /48 network, which
allows you to split your network in 2^16 subnets, with 2^64 hosts each.
You need to setup routing for your internal network properly, help is
provided for setting up the border router here.
This script takes the burden to calculate your IPv6 address from existing
IPv4 address and runs the commands to setup (and tear down) automatic
6to4 IPv6 tunnelling. In a seperate step, router advertisement for the
inside network can be started and stopped.
Possible options are:
-n Do not. Only print the commands that would be run, but do not exe-
-v Verbose operation. Print the commands that are about to be run,
before running them. Displays some additional information.
-h Show usage.
Possible commands are:
start Configure 6to4 IPv6. The stf(4) interface is configured,
and a default route to a remote 6to4 gateway is estab-
lished. In addition, the internal network interface is
assigned an address.
stop Stops 6to4 IPv6. All addresses are removed from the stf(4)
device, and the default route is removed.
rtadvd-start Starts router advertizement and IPv6 packet forwarding,
turning the machine into a IPv6 router. rtadvd(8) is
invoked with a custom config file created under /var/run.
Clients just need to be told to accept router advertize-
ments, i.e. the `net.inet6.ip6.accept_rtadv' sysctl needs
to be set to `1'. You can arrange that by setting
``ipv6_gateway_enable="NO"'' in /etc/rc.conf.
rtadvd-stop Stops router advertizement and IPv6 packet forwarding.
rtadvd(8) is stopped, and the rtadvd.conf(5) config file is
removed from /var/run.
running the following command before calling the 6to4 script:
ifconfig stf0 create
No special values are needed in /etc/rc.conf to run this script, but see
comment on setting up IPv6-clients `behind' your 6to4 router for the
The 6to4 script reads its configuration from a config file named
6to4.conf. The 6to4.conf file is in perl(1) syntax, and contains several
variables that can be tuned to adjust your setup. Default values should
work for use on a modem dialup.
out_if The outbound interface that has a valid IPv4 address
assigned, that can be used to derive the IPv6 addresses
from. Usually ``ppp0'' for a modem setup, or your ethernet
interface if you have IPv4 connectivity via LAN. This can't
be empty, and is assigned the IPv6 address
2002:x:x:v6_net:hostbits6, see below.
in_if The inside interface. If non-empty, this interface is
assigned the IPv6 address 2002:x:x:v6_innernet:hostbits6,
see below. This is only useful on machines that have more
than one network interfaces, e.g. with a modem and a local
v6_net The subnet address you want to use on the address of your
outbound interface. Defaults to ``1''.
v6_innernet The subnet address you want to use on the address of your
inbound interface. Defaults to ``2''.
hostbits6 The lower 64 bits of both the inbound and outbound inter-
peer Name of the remote 6to4 server that'll take our IPv6-in-IPv4
encapsulated packets and route them on via IPv6. A special
value of ``6to4-anycast'' can be used for the anycast ser-
vice defined in RFC 3068. Other possible values are given
in the example config file.
If the peer variable is set to the relay router's name, DNS
lookups for A and AAAA records will be made to determine
it's IPv4 and IPv6 address. To avoid these lookups, the
variables remoteadr4 and remoteadr6 can be set to strings
containing the numerical IPv4 and IPv6 numbers directly.
The 6to4 script can be run automatically by pppd(8) when a connection is
made. For this, put the following into /etc/ppp/ip-up:
The 6to4 utility and manpage were written by Hubert Feyrer
On systems running past-1.5 NetBSD-current, the ``ifconfig stf0 create''
should be run automatically.
FreeBSD 4.8 July 3, 2002 FreeBSD 4.8
Man(1) output converted with