Hi,
My Current set-up works fantastic. But due to progress I am being forced to change my cable modem to a cable modem / hub combination.
My Current setup is :
Internet -> Cable Modem (public ipv4) > Router (DD-WRT with the IPv6 Tunnel) (192.168.0.x) > Devices.
Router is running DD-WRT and has the following in the startup script.
#!/bin/sh
#sleep 30
logger -t www.startup Startup script started.
HE_tunnel () {
#***************************
#Settings start here
#***************************
#basic connection settings
SERVER_IP4_ADDR="216.66.80.26"
CLIENT_IPV6_ADDR="2001:470:xxxx:xxxx::2/64"
ROUTED_64_ADDR="2001:470:xxxx:xxxx::/64"
#account info to auto update endpoint
USERID="IamNOTgoingTOshowYOUthis"
PASSWD="Password"
TUNNELID="12345"
#####Optional/Advanced Settings######
#logging settings (set to /dev/null for no logging)
STARTUP_SCRIPT_LOG_FILE="/tmp/ipv6.log"
CRON_STATUS_LOG_FILE="/tmp/lastHEUpdate.log"
#Generated files paths
CRON_JOB_FILE="/tmp/report.sh"
RADVD_CONFIG="/tmp/radvd.conf"
#***************************
#Settings end here
#***************************
#insmod ipv6
#sleep 10
#get a hash of the plaintext password
MD5PASSWD=`echo -n $PASSWD | md5sum | sed -e 's/ -//g'`
#cut out the "/64" if user typed it in
ROUTED_64_ADDR=`echo $ROUTED_64_ADDR|cut -f1 -d/`
SERVER_IP4_ADDR=`echo $SERVER_IP4_ADDR|cut -f1 -d/`
CLIENT_IPV6_ADDR=`echo $CLIENT_IPV6_ADDR|cut -f1 -d/`
#update HE endpoint
echo -e wget -q "\042http://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=$MD5PASSWD&user_id=$USERID&tunnel_id=$TUNNELID\042" -O $CRON_STATUS_LOG_FILE >$CRON_JOB_FILE
chmod +x $CRON_JOB_FILE
wget -q "http://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=$MD5PASSWD&user_id=$USERID&tunnel_id=$TUNNELID" -O $STARTUP_SCRIPT_LOG_FILE
#get wan ip for our own use
RETRIES=3
while [ -z ${WANIP} ]; do
# PPPoE devices are on ppp0, all others are on vlan1 or eth1; we try all
for DEV in "eth1" "ppp0" "vlan1"; do
WANIP=`ip -4 addr show dev ${DEV} | grep inet | awk '{print $2}' | cut -d/ -f1`
if [ -n "$WANIP" ]; then
logger -st HE_tunnel "External IP ${WANIP} found on device ${DEV}"
break 2
fi
done
let RETRIES-=1
if [ "$RETRIES" -gt 0 ]; then
logger -st HE_tunnel "No external IP found; trying again in 10 secs..."
sleep 10
else
logger -st HE_tunnel "No external IP found after 30 seconds; quitting"
exit 1
fi
done
echo "External IP:" $WANIP >> $STARTUP_SCRIPT_LOG_FILE
if [ -n $WANIP ]
then
echo "configuring tunnel" >> $STARTUP_SCRIPT_LOG_FILE
# The following commands are straight from HE's website
modprobe ipv6
ip tunnel add he-ipv6 mode sit remote $SERVER_IP4_ADDR local $WANIP ttl 255
ip link set he-ipv6 up
ip addr add $CLIENT_IPV6_ADDR/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr
TEMP_ADDR=`echo $ROUTED_64_ADDR'1'`
# These commands aren't on HE's website, but they're necessary for the tunnel to work
ip -6 addr add $TEMP_ADDR/64 dev br0
ip route add 2000::/3 dev he-ipv6
#Enable IPv6 forwarding
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# make sure to accept proto-41
iptables -I INPUT 2 -p ipv6 -i vlan1 -j ACCEPT
#make sure to not NAT proto-41
iptables -t nat -A POSTROUTING --proto ! 41 -o eth0 -j MASQUERADE
echo "starting radvd" >> $STARTUP_SCRIPT_LOG_FILE
#creating radvd.conf
echo "#generated by startup script" > $RADVD_CONFIG
echo "interface br0 {" >> $RADVD_CONFIG
echo "AdvSendAdvert on;" >> $RADVD_CONFIG
echo "prefix "$ROUTED_64_ADDR"/64 {" >> $RADVD_CONFIG
echo "AdvOnLink on;" >> $RADVD_CONFIG
echo "AdvAutonomous on;" >> $RADVD_CONFIG
echo "AdvRouterAddr on;" >> $RADVD_CONFIG
echo "};" >> $RADVD_CONFIG
echo "};" >> $RADVD_CONFIG
radvd -C $RADVD_CONFIG &
fi
}
#################################################################
###################### Start Running Here #######################
#################################################################
######## IPv6 Config ########
HE_tunnel
#############################
logger -t www.startup Startup script DONE.
The Future set-up :
Internet -> Cable Modem/SuperHub (192.168.10.x) > Router (DD-WRT with the IPv6 Tunnel) (192.168.0.x) > Devices.
Currently this does not work. I think it may be down to the Virgin SuperHub blocking protocol 41.
I have read on other forums that Virgin dont block protocol 41...
Any help would be great!
Thanks in advance.
DAVE