IPv6 over IPv4 on Linux using 6to4
Written by BiRU Sunday, 20 November 2016 08:11
#/bin/bash # set the interface name if=wlan0 # calculate the IPv6 address ipv4=`/sbin/ifconfig $if | grep "inet addr" | sed -e 's/^. *inet addr://' | sed -e 's/ .*$//'` ipv4s=`echo $ipv4 | tr "." " "` ipv6=`printf "2002:%02x%02x:%02x%02x::1" $ipv4s ` case "$1" in start) /sbin/ip tunnel add tun6to4 mode sit ttl 128 remote any local $ipv4 /sbin/ip link set dev tun6to4 up /sbin/ip -6 addr add $ipv6/16 dev tun6to4 /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1 # configure firewall /sbin/ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/ip6tables -A INPUT -j DROP ;; stop) /sbin/ip -6 route flush dev tun6to4 /sbin/ip link set dev tun6to4 down /sbin/ip tunnel del tun6to4 # clear firewall /sbin/ip6tables -F INPUT ;; *) echo "usage: ipv6 {start|stop}" exit 1 esac exit 0
This will create a new interface ‘tun6to4’ which will be used for IPv6.