All pastes #2030334 Raw Edit

Someone

public text v1 · immutable
#2030334 ·published 2010-12-27 07:42 UTC
rendered paste body
#!/sbin/runscript

	interface=${RC_SVCNAME#ipv6to4.}

	start_d="ipv6to4 tunnel on $interface up"
	stop_d="ipv6to4 tunnel on $interface down"

	[ "$interface" = "tmpl" ] && exit 0

	tunnel="tun6to4"
	real_ipv4=`ip addr show $interface|grep inet|awk '{print $2};'|grep -Po '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'`
	calc_ipv6=`ipv6calc --ipv4_to_6to4addr $real_ipv4`
	ipv6=`echo "$calc_ipv6"0101:0101:0101/128`
	gateway="192.88.99.1" # AnyCast ipv6to4/ipv4to6 gateway

depend() {
	need netif.$interface
}

start() {
	ebegin "$start_d"
		ip tunnel add $tunnel mode sit remote any local $real_ipv4 ttl 64
		ip link set dev $tunnel up
		ip -6 addr add $ipv6 dev $tunnel
		ip -6 route add 2000::/3 via ::"$gateway" dev $tunnel metric 1
	eend $?
}

stop() {
	ebegin "$stop_d"
		ip -6 route del 2000::/3 via ::"$gateway" dev $tunnel
		ip -6 addr del $ipv6 dev $tunnel
		ip link set dev $tunnel down
		ip tunnel del $tunnel
	eend 0
}