All pastes #813275 Raw Edit

Mine

public text v1 · immutable
·published 2007-12-12 12:23 UTC
rendered paste body
#!/bin/sh /etc/rc.common
START=42

prep() {
        lanif=br-lan
        wanif=eth0.1

        # retrieve the public IPv4 address
        ipv4=`ifconfig $wanif | sed -r 's/^ *inet addr: *(([0-9]{1,3}\.){3}[0-9]{1,3}) +.*$/\1/;t;d' | head -n 1`

        # get the IPv6 prefix from the IPv4 address
        ipv6prefix=`echo $ipv4 | awk -F. '{ printf "2002:%02x%02x:%02x%02x", $1, $2, $3, $4 }'`

        # the local subnet (any 4 digit hex number)
        ipv6subnet=0000

        # The 6to4 relay: here are a few, use the anycast address when possible
        # For others see http://www.kfu.com/~nsayer/6to4/#list or google

        #relay6to4=144.232.8.254 #jakllsch@freenode told me
        #relay6to4=66.117.34.140 # Old Cox?

        # anycast:
        relay6to4=192.88.99.1

        # uni-leipzig.de:
        #relay6to4=139.18.25.33

        # 6to4.ipv6.bt.com
        #relay6to4=194.73.82.244

        # microsoft
        #relay6to4=131.107.33.60

        # japan kddilab.6to4.jp
        #relay6to4=192.26.91.178
}

start() {
        sleep 1
        prep

        echo "Creating tunnel interface..."
        ip tunnel add tun6to4 mode sit ttl 64 remote any local $ipv4

        echo "Setting tunnel interface up..."
        ip link set dev tun6to4 up

        echo "Assigning ${ipv6prefix}::1/16 address to tunnel interface..."
        ip -6 addr add ${ipv6prefix}::1/16 dev tun6to4

        echo "Adding route to IPv6 internet on tunnel interface via relay..."
        ip -6 route add 2000::/3 via ::${relay6to4} dev tun6to4 metric 1

        echo "Assigning ${ipv6prefix}:${ipv6subnet}::1/64 address to $lanif (local lan interface)..."
        ip -6 addr add ${ipv6prefix}:${ipv6subnet}::1/64 dev $lanif

        echo "Adding routes to other delegated subnets..."
        ip -6 route add 2002:440d:6de2:f000::/56 via 2002:440d:6de2:0:218:84ff:fe13:863c

        echo "Done."
}

stop() {
        prep

        echo "Removing $lanif (internal lan) interface IPv6 address..."
        ip -6 addr del ${ipv6prefix}:${ipv6subnet}::1/64 dev $lanif

        echo "Removing routes to 6to4 tunnel interface..."
        ip -6 route flush dev tun6to4

        echo "Setting tunnel interface down..."
        ip link set dev tun6to4 down

        echo "Removing tunnel interface..."
        ip tunnel del tun6to4

        echo "Done."
}