Suite à tous mes petits joujoux avec IPv6, voici que j'essaie de mettre en place
à la maison un point d'accès WiFi complètement v6.
Pour réaliser cela rien de tel qu'un Unix :-)
Il me faut donc implémenter un routeur capable de répondre aux RA (Router Advertisement),
un serveur DHCPv6, et un serveur de nom v6.
Ce dernier fera simplement forwarder vers du v4, mais bon on verra à faire mieux plus tard.
Mon seul problème, c'est qu'à la maison quid d'adresse IPv4 publique __statique__.
Il me faut donc mettre à jour mon tunnel chez
Hurricane Electric, lorsque le BAS me coupe la session ou bien que ma livebox reboote.
Pour ce faire, rien de tel qu'un petit script :
[...] function whatismyip { curl -s "http://whatismyip.com/automation/n09230945.asp" } [...] ${IP} tunnel add ${TUNNEL_IFACE} mode sit remote ${INET_REMOTE_ENDPOINT} \ local ${INET_LOCAL_ENDPOINT} ttl 255 ${IP} link set ${TUNNEL_IFACE} up ${IP} addr add ${INET6_LOCAL_ENDPOINT} dev ${TUNNEL_IFACE} ${IP} route add ::/0 dev ${TUNNEL_IFACE} [...] TMPFILE=`mktemp -q -t ${SCRIPT_NAME}.XXXXX` INET_LOCAL_ENDPOINT=`whatismyip` ${WGET} -O /dev/null --keep-session-cookies \ "--post-data=f_user=${USER}&f;_pass=${PASSWORD}&clearpass;=" \ --save-cookies=${TMPFILE} \ http://ipv4.tunnelbroker.net/login.php 2>/dev/null ${WGET} -O /dev/null --load-cookies=${TMPFILE} \ "--post-data=ipv4b=${INET_LOCAL_ENDPOINT}&tunnel;_id=${TUNNEL_ID}&update;=Submit" \ http://ipv4.tunnelbroker.net/ipv4_update.php 2>/dev/null ${RM} -f ${TMPFILE}Le script complet est disponible ici. Ce script provient du billet ci.
Néanmois, j'ai un peu modifié le script original. En effet, pour pouvoir faire des choses intéressantes en dehors du NAT, j'ai dû mettre une machine sur une DMZ depuis ma livebox.
Donc l'adresse IP à mettre dans le 'ip tunnel...' en tant que 'local' est l'adresse IP privée de votre machine, et non l'adresse IP publique de votre accès à Internet (Logique, mais bon...).
Les dernières lignes avec ${WGET} permettent de mettre à jour l'adresse IPv4 publique de fin du tunnel sur le site de HE.
Mon fichier de configuration :
vmsplice:/etc/bind# cat ~/.tunnelconfig IFACE=br0 # User USER=clucas # MD5 Password (echo -n 'votre pass' | openssl md5 PASSWORD=XXXXXXXXXXXXXXXXXXX TUNNEL_ID=22215 PREFER_SUDO= TUNNEL_IFACE=he-ipv6 INET_REMOTE_ENDPOINT=216.66.84.42 INET6_REMOTE_ENDPOINT=2001:470:1f12:6bc::1/64 INET6_LOCAL_ENDPOINT=2001:470:1f12:6bc::2/64 INET_LOCAL_ENDPOINT=br0Et un script Shell dans le crontab pour voir si le tunnel se casse la tronche :
vmsplice:~# crontab -l # m h dom mon dow command */5 * * * * /root/bin/cron_tunnel.sh vmsplice:~# cat /root/bin/cron_tunnel.sh #!/bin/bash ping -6 -c 3 www.crihan.fr > /dev/null 2>&1 if [ $? -ne 0 ]; then # On ne pingue pas en v6 ping -c 3 www.mcom.fr > /dev/null 2>&1 if [ $? -eq 0 ]; then # Ok on pingue en v4. Donc suremnet endpoint pas bon ip link set he-ipv6 down ip tunnel del he-ipv6 /bin/bash /root/bin/setup-he.sh fi fiPassons maintenant à nos amis nommés bind9, radvd et wide-dhcpv6-server.
Un petit apt-get install plus tard...
Mes fichiers de configurations :
vmsplice:~# cat /etc/radvd.conf interface ath0 { # (Send advertisement messages to other hosts) AdvSendAdvert on; #(Fragmentation is bad(tm)) AdvLinkMTU 1280; MaxRtrAdvInterval 300; #(IPv6 subnet prefix we've been assigned by our PoP) prefix 2001:470:1F12:6BC::/64 { AdvOnLink on; AdvAutonomous on; }; }; vmsplice:~# cat /etc/bind/named.conf.options options { directory "/var/cache/bind"; forwarders { 192.168.1.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; vmsplice:~# cat /etc/wide-dhcpv6/dhcp6s.conf option domain-name-servers 2001:470:1f13:6bc::1; interface ath0 { address-pool pool1 3600; }; pool pool1 { range 2001:470:1f13:6bc::1000 to 2001:470:1f13:6bc::2000; }; vmsplice:~#La suite un peu plus tard...
LES COMMENTAIRES (1)
posté le 01 avril à 23:27
Moi j'ai un serveur privée metin2 mais malheuresement mon IPv4 est dynamique et change toutes les 10 minutes du coup mon serveur se ferme se qui est désagréable pour moi ainsi que pour les joueurs merci de vos réponses