IPv6 with Swisscom

  • Hello,

    My ISP is Swisscom (Switzerland) and they offer a IPv6 preview.

    Here is the page : http://labs.swisscom.ch/fr/trial/ipv6-sneak-preview

    I installed Pfsense 2.1 preview to configure the tunnel but I don't know how to do it.
    Can you help me to activate it ?

    Thanks you

  • Rebel Alliance Developer Netgate

    I'm not sure how their setup works, but if it's a gif tunnel the instructions should be the same as those for he.net or any other tunnel broker.

    Check the doc wiki for specifics.

  • Sorry, looks like I'm not allowed to view that page.

  • quick copy/paste:

    (missing images attached)

    IPv6 sneak preview

    What is IPv6?

    IPv6 is a version of the Internet Protocol that provides much more addresses than the currently used IPv4. It will eventually supersede IPv4. Right now, IPv4 is the prevalent protocol, and IPv6 will be run in parallel to it for a long time. Swisscom uses 6rd to offer IPv6 to its residential customers.

    How does 6rd work?

    A home router that supports 6rd sends all(*)upstream IPv6 packets to a 6rd Border Relay, using normal IPv4 as transport. This 6rd Border Relay is a router that is connected to the IPv6 internet. In the opposite downstream direction, towards the home router, packets arrive at the 6rd Border Relay.

    (Figure 1: Network topology of a 6rd deployment)

    Now the 6rd-trick comes into play: The IPv6 addresses of the customer’s devices are constructed in such a way that they contain the IPv4 address of the home router. Therefore, the 6rd Border Relay can read out the IPv4 address from the IPv6 destination address of the packet, and send it to the home router using normal IPv4.

    (Figure 2: IPv6 address containing an embedded IPv4 address)

    But 6rd does not save any IPv4 addresses, right?

    The pool of free IPv4 addresses is almost empty, so saving IPv4 addresses is important indeed. However, IPv6 is not a short term solution to the IPv4 address shortage. The two protocols are not compatible with each other: If you had just an IPv6 address, you would not be able to speak with the vast majority of Internet hosts that only have IPv4.

    So, saving IPv4 addresses means to employ Network Address Translation (NAT) at the level of the Internet Service Provider (ISP), which means handing out private IPv4 addresses (RFC 1918) to end customers. 6rd will also work if private addresses are used.

    What do I need to use IPv6 right now?

    If you have a 6rd-capable modem such as the FritzBox 7390, you can start using IPv6 on your Swisscom DSL line right now! We will also explain you how to set up a Linux PC as IPv6 router. If you like, you may also download a VMware image of such an IPv6-Linux-router that is ready to run.

    To configure a 6rd-capable router, you need to know three elements:

    * The IPv4 address of the 6rd Border Relay: 6rd.swisscom.com (
        * The 6rd IPv6 prefix: 2a02:1200::/28
        * The IPv4 mask length: 0 (default)

    IPv6 on the FritzBox 7390

    To enable IPv6, navigate to Settings > Advanced Settings > Internet > Account Information > IPv6. Then make the following changes:

    1. Tick the “Enable support for IPv6” box
      2. Select “Always use a tunnel protocol for the IPv6 connection”
      3. Select “6RD” as tunnel protocol, and configure its parameters:
            1. IPv4 address of the tunnel end-point: 6rd.swisscom.com (
            2. IPv6 prefix: 2a02:1200::  /  28
            3. Optional: Set MTU manually to 1480 Bytes

    Hit apply, and enjoy IPv6 on your home devices!

    Linux as IPv6 router

    Recent versions of Linux support 6rd, for example Ubuntu 10.10. Conditions are a kernel version 2.6.33 or later with the CONFIG_IPV6_SIT_6RD option enabled, and iproute2 2.6.33 (sometimes known as ss100224) or later.

    To check if your kernel supports 6RD, run:

    $ grep 6RD /boot/config-$(uname -r)

    If grep returns CONFIG_IPV6_SIT_6RD=y , then your kernel supports 6RD.

    To check if iproute2 supports 6RD, run:

    $ ip tunnel help

    Your iproute2 supports 6RD if 6rd is shown on the first line:


    ip tunnel { add | change | del | show | prl | 6rd } [ NAME ]

    [ mode { ipip | gre | sit | isatap } ] [ remote ADDR ] [ local ADDR ]

    Follow this procedure to configure your Linux box as an IPv6 router:


    Download the script (in the IPv6 .zip file) to /etc/init.d, and make it executable:
          $ sudo chmod a+x /etc/init.d/6rd

    create runlevel links:
          $ sudo update-rc.d 6rd defaults

    Create the file /etc/6rd.conf with this content, adapting the interface names to suit your setup:
          glob_6rd_net="2a02:1200::/28"    # 6rd prefix of your ISP (IPv6 prefix)
          glob_6rd_br="6rd.swisscom.com"    # 6rd border relay of your ISP (IPv4 address)

    glob_6rd_iface="6rd"        # name of 6rd tunnel interface
          glob_lan_iface="eth0"        # your LAN IPv4/6 interface
          glob_wan_iface="eth0"        # your WAN IPv4 interface

    You can now enable 6rd on the Linux device, and test IPv6:
          $ sudo /etc/init.d/6rd start
          $ ping6 ipv6.google.com

    If this works fine, you can advertise the IPv6 prefix to the devices of your LAN, so that they can use IPv6, too.  First, we need to enable IPv6 routing, by adding/uncommenting the following line to /etc/sysctl.conf:

    Then, create the file /etc/radvd.conf, adapting the interface to suit your setup:
                AdvSendAdvert on;
                MaxRtrAdvInterval 30;
                AdvOtherConfigFlag on;
                AdvLinkMTU 1480;
                prefix ::/64
                        AdvOnLink on;
                        AdvAutonomous on;
                        AdvRouterAddr on;
                        AdvValidLifetime 300;
                        AdvPreferredLifetime 60;
          and start advertising the local IPv6 prefix with

    $ sudo /etc/init.d/radvd start

    On Windows XP, IPv6 must be activated first. Open a command line, and type:
          ipv6 install
      8. Now try IPv6 on a LAN device, by browsing to http://ipv6.google.com!

    Using the pre-configured virtual machine

    All of the above has already been configured on a virtual machine (6rd.zip) that is in the IPv6 .zip file and run with a VMware product. The free-of-charge VMware player is sufficient for this, which can be downloaded at http://vmware.com/download/player/.

    1. Download and install the VMware player
      2. Unpack the 6rd.zip file
      3. Start the virtual machine by doubleclicking Ubuntu.vmx file (the .vmx file extension may be hidden)

    That’s all! The virtual machine will act as IPv6 router and provide IP addresses to all devices in your LAN!

    To log into the virtual machine, use username: ipv6-6rd and password: swisscom.

    Note: If you close the VMware player, do not put the virtual machine into standby, but shut it off completely. The scripts that configure 6rd are only run during startup and will not notice any changes in your network setup that may happen during the VM’s suspension.

    ![Network topology of a 6rd deployment.jpg](/public/imported_attachments/1/Network topology of a 6rd deployment.jpg)
    ![Network topology of a 6rd deployment.jpg_thumb](/public/imported_attachments/1/Network topology of a 6rd deployment.jpg_thumb)
    ![IPv6 address containing an embedded IPv4 address.jpg](/public/imported_attachments/1/IPv6 address containing an embedded IPv4 address.jpg)
    ![IPv6 address containing an embedded IPv4 address.jpg_thumb](/public/imported_attachments/1/IPv6 address containing an embedded IPv4 address.jpg_thumb)

  • Hello,

    Thanks you everybody for your answers.

    The technology behind Swisscom is 6rd.

    For now I use an alix board with voyage linux on it.

    As I've seen on my searches, freebsd doesn't support 6rd now, is it right ?

  • Sorry, there is currently no proper working 6RD implementation in FreeBSD so that feature is added with a priority of low.

    I have sent a email to Swisscom requesting information on their production rollout and if this would be DHCP-PD which seems to be the common theme from ISPs I am talking to.

  • Thanks you  :)

  • Galphanet, Would you mind giving me access to your pfSense installation so I can test our 6RD support?

    I have images with 6RD support, but I need to have a actual 6RD enabled connection to verify it actually works.

    If there are other 6RD users out there that are willing to give me access to their 6RD connection and willing to run 2.1 please contact me.

  • Hello,

    Sure I will, you have my email in my forum profile.

    Note that my PfSense is an Alix board with 1Go CF card.

    Many thanks !

  • @databeestje:

    Galphanet, Would you mind giving me access to your pfSense installation so I can test our 6RD support?

    I have images with 6RD support, but I need to have a actual 6RD enabled connection to verify it actually works.

    If there are other 6RD users out there that are willing to give me access to their 6RD connection and willing to run 2.1 please contact me.


    I run the 2.1  on my home gateway and tried the 6RD config on  the WAN.
    The log say:  rtadvd[1996]: <getconfig>inet_pton failed for 2001:2002:5ae0:xxxx::/64
    I’m not a  Swisscom user, but you can use my  PfSense box if you wish to test my ISP’s 6RD connection.
    Regards // Jallee</getconfig>

  • sorry, the 6rd settings on the wan don't do anything yet. I have not written back end code for it yet. Hoping to get round to that soon. We might need to release 2.1 without 6rd.

    We also need more work on the 6rd patch for freebsd to make it work.

    at this point we have access to a test box we can work on so we're good for now.

Log in to reply