ISATAP client for Linux

isatapd creates and maintains an ISATAP tunnel (rfc5214) in Linux.

It uses the in-kernel ISATAP support first introduced in linux-2.6.25. It does NOT operate the tunnel or handle any IPv6 traffic other than router solicitations and router advertisements.

This is NOT isatapd from miredo which was removed in miredo-1.1.6.

WHAT IT DOES

  1. Creating an ISATAP tunnel device based on an IPv4 interface
  2. Periodically querying and adding router addresses to the potential router list
  3. Periodically sending router solicitation messages to potential routers to maintain IPv6 connectivity
  4. Receiving and parsing router advertisements to adjust the router solicitation interval
  5. Trying to detect link changes and maintain the tunnel

USAGE

complete man page

Usage: isatapd [OPTIONS] [ROUTER]...
       -n --name       name of the tunnel
                       default: is0
       -l --link       tunnel link device
                       default: auto
       -m --mtu        set tunnel MTU
                       default: auto
       -t --ttl        set tunnel hoplimit.
                       default: 64
       -N --nopmtudisc disable ipv4 pmtu discovery.
                       default: pmtudisc enabled

       -r --router     set potential router.
                       default: 'isatap'.
       -i --interval   interval to perform router solicitation
                       default: auto
       -D --check-dns  interval to perform DNS resolution and
                       recreate PRL.
                       default: 3600 seconds

       -d --daemon     fork into background
       -p --pid        store pid of daemon in file
          --user       drop privileges to this user
                       default: 'nobody'

       -v --verbose    increase verbosity
       -q --quiet      decrease verbosity

       -h --help       display this message
          --version    display version

DOWNLOAD

Development:
https://github.com/shlusiak/isatapd (GitHub repository)

Current:
isatapd-0.9.7.tar.gz (latest source)
isatapd-0.9.7.ebuild (gentoo ebuild)
Debian Unstable
Ubuntu Karmic

Berni's PPA (inofficial Ubuntu repository)

Old:
isatapd-0.9.6.tar.gz
isatapd-0.9.5.tar.gz
isatapd-0.9.4.tar.gz
isatapd-0.9.3.tar.gz
isatapd-0.9.2.tar.gz
isatapd-0.9.1.tar.gz
isatapd-0.9.0.tar.gz

CHANGELOG

0.9.7:

0.9.6 (mostly rewritten):

0.9.5:

0.9.4:

0.9.3:

0.9.2:

0.9.1:

0.9.0:

AUTHORS

(c) by Sascha Hlusiak <mail (at) saschahlusiak (dot) de>

LICENSE

The source code is distributed under the terms of the GPLv2.


Setting up an ISATAP router with Linux

An ISATAP router is easily set up with linux command line tools. Just statically set up an ISATAP tunnel device, configure a global address and start radvd on it:

# ip tunnel add name is0 mode isatap local 10.0.0.1
# ip link set is0 up
# ip -6 addr add 2001:db8:1234:5:0:5efe:a00:1/64 dev is0

radvd.conf

interface is0
{
        AdvSendAdvert on;
        UnicastOnly on;

        prefix 2001:db8:1234:5::/64
        {
                AdvOnLink on;
                AdvRouterAddr on;
        };
};

You should now be able to connect to this ISATAP router using the isatapd tool introduced above. For ease of configuration just set up a DNS A record for isatap.DOMAIN.TLD.


isatapd (c) by Sascha Hlusiak, 2009-2010.