#acl All:read
<<TableOfContents>>

= IPv6 configuration on Ubuntu (dapper) systems =
== How can I enable/disable IPv6 globally? ==
Ubuntu dapper default supports IPv6, so you have to do nothing to enable IPv6. If you want do disable IPv6 globally, please read [[IPv6hostslinux_disableIPv6|our section]] on how to do it.

== How can I enable forwarding between IPv6 enabled interfaces? ==
In {{{/etc/sysctl.conf}}} add the line

{{{
net/ipv6/conf/all/forwarding=1}}}
and run

{{{
# sysctl -p /etc/sysctl.conf}}}
Please note, you cannot enable/disable IPv6 forwarding per interface as in the IPv4 case. If you want to disable IPv6 forwarding for some interfaces, use netfilter/p6tables.

== How can I enable/disable autoconfiguration on all interfaces? ==
Autoconfiguration is enabled by default. If you want to disable it for all interfaces, add the line

{{{
net/ipv6/conf/all/autoconf=0}}}
to {{{/etc/sysctl.conf}}} and reload the file by {{{sysctl}}} as it is shown above.

== How can I enable/disable router behaviour (i.e not to accept router advertisements) on all devices? ==
The kernel default accepts router advertisements. You can disable it on all interfaces by adding the line

{{{
net/ipv6/conf/all/accept_ra=0}}}
to {{{/etc/sysctl.conf}}} and reloading it by {{{sysctl}}}.

== How can I configure an interface statically with global IPv6 address? ==
Use the standard {{{/etc/network/interfaces}}} file on Debian/Ubuntu systems:

{{{
    iface eth0 inet6 static
        address dead:beef::1
        netmask 64}}}
If you set your system to ignore router advertisements then you have to add a static default gateway as well:

{{{
    iface eth0 inet6 static
        address dead:beef::1
        netmask 64
        gateway dead:beef::}}}
Please note, you cannot bring up just the IPv6 settings of an interface, so in order your changes take effect you have to issue the commands

{{{
# ifdown eth0
# ifup eth0}}}
which first brings down IPv4 on your interface.

== How can I set up a default gateway via an interface instead of an IPv6 address? ==
You can use the {{{post-up}}} and {{{pre-down}}} options to call {{{ip}}} and set the default gateway in {{{/etc/network/interfaces}}}:

{{{
    iface eth0 inet6 static
        address dead:beef::1
        netmask 64
        post-up ip -6 route add ::/0 dev eth0
        pre-down ip -6 route del ::/0 dev eth0}}}
== How can I setup an IPv6 over IPv4 tunnel? ==
This is also quite simple. In {{{/etc/network/interfaces}}} write

{{{
    iface eth0 inet6 v4tunnel
        address dead:beef::1
        netmask 64
        endpoint 192.168.0.1    # Address of other tunnel endpoint}}}