#!/bin/sh # # Estrae l'indirizzo IPv4 associato all'interfaccia esterna # del router Conexant, utilizzando l'utenza "user" e la # parola d'ordine "password", conoscendo l'indirizzo MAC # esterno del router. # TEMP=`wget --output-document=- \ http://user:password@192.168.1.254/doc/home.htm\ | grep "00:D0:41:01:1B:F7"` TEMP=`echo $TEMP | sed "s/^//"` TEMP=`echo $TEMP | sed "s/<\/TD>.*//"` IPV4_ADDR=$TEMP # # Trasforma l'indirizzo IPv4 in due indirizzi IPv6, mettendo # i risultati nelle variabili di ambiente IPV6_ADDR_1 e # IPV6_ADDR_2. # TEMP=`echo $IPV4_ADDR | tr "." " "` TEMP=`printf "%02x%02x:%02x%02x" $TEMP` IPV6_ADDR_1=2002:$TEMP:7::1 IPV6_ADDR_2=2002:$TEMP:7::2 # # Annulla la configurazione IPv6 precedente. # ip -6 route flush dev t6to4 ip link set dev t6to4 down ip tunnel del name t6to4 ip -6 address flush to 2002::/16 ip -6 address del local 2002::/16 dev eth0 # # Crea e attiva il tunnel. # ip tunnel add name t6to4 mode sit remote any local \ 192.168.1.1 ip link set dev t6to4 up ip -6 address add $IPV6_ADDR_1/48 dev t6to4 ip -6 route add to 2000::/3 via ::192.88.99.1 dev \ t6to4 metric 1 # # Ricrea il file di configurazione di Radvd. # echo > /etc/radvd.conf echo interface eth0 >> /etc/radvd.conf echo \{ >> /etc/radvd.conf echo AdvSendAdvert on\; >> /etc/radvd.conf echo MaxRtrAdvInterval 30\; >> /etc/radvd.conf echo prefix $IPV6_ADDR_2/64 >> /etc/radvd.conf echo \{ >> /etc/radvd.conf echo AdvOnLink on\; >> /etc/radvd.conf echo AdvAutonomous on\; >> /etc/radvd.conf echo AdvValidLifetime 120\; >> /etc/radvd.conf echo AdvPreferredLifetime 60\; >> /etc/radvd.conf echo \}\; >> /etc/radvd.conf echo \}\; >> /etc/radvd.conf /etc/init.d/radvd stop /etc/init.d/radvd start # # Aggiunge l'interfaccia verso la rete locale. # ip -6 address add local $IPV6_ADDR_2/64 scope global \ dev eth0 # # Abilita l'attraversamento dei pacchetti IPv6. # echo 1 > /proc/sys/net/ipv6/conf/all/forwarding