====== Pseudo DynDNS ======
Si l'on possède un nom de domaine et espace web on peut réaliser un pseudo DynDNS pour héberger un serveur sur votre réseau domestique.
Le problème provient du fait que l'adresse IP peut varier et qu'un DNS ne peut pas localiser le réseau domestique. La solution est de sauvegarder automatiquement l'adresse IP attribué sur un endroit accessible en permanence. Une page web si vous pouvez en stocker sur Internet. Le serveur se charge de tester régulièrement l'adresse IP attribuée. En cas de changement, il l'enregistre sur le web.
===== Installation sur le serveur =====
* Installer le client FTP (ftp) sur le raspberry
apt-get install ftp
* Créer un dossier /var/redirect et l'autoriser à tous
mkdir /var/redirect
chmod 777 /var/redirect
* Copier le script redirect.sh dans le dossier et le personnaliser en fonction de votre serveur FTP
nano /var/redirect/redirect.sh
#!/bin/sh
# constantes
HOST=ftp.xxxxxxx.yy
LOGIN=lllllllll
PASSWORD=pppppppp
PORT=21
# Script de controle
cd /var/redirect
IP1=$(wget http://checkip.dyndns.org -O - -o /dev/null | cut -d : -f 2 | cut -d \< -f 1)
IP2=$(cat /var/redirect/index.html | cut -d / -f 4 | cut -d \' -f 1)
if [ "$IP1" = "$IP2" ]
then
echo IP inchangé > /dev/null
else
echo IP changée > /dev/null
DD=$(date)
echo "$IP1 $DD" >> /var/redirect/modif.log
IP1=$(echo $IP1 | cut -c 1-15)
echo "Redirection" > /var/redirect/index.html
# le transfert lui même (-v pour verbose)
ftp -i -n $HOST $PORT << END_SCRIPT
quote USER $LOGIN
quote PASS $PASSWORD
cd /public/raspberrypi
bin
passive
put index.html
put modif.log
quit
END_SCRIPT
#echo "Mise à jour faite"
fi
[CTRL]+[X]; [Y]
* Ajouter les autres fichiers et attribuer les droits
touch /var/redirect/modif.log
touch /var/redirect/index.html
chmod 666 /var/redirect/*
chmod +X /var/redirect/redirect.sh
* Installer dans CRONTAB un cron qui lance le script à intervalle régulier (0h et 12h)
crontab -e
5 0,12 * * * /var/redirect/redirect.sh
[CTRL]+[X]; [Y]
===== Installation sur le site web =====
Créer un site virtuel ou un dossier sur un site existant pour stocker les informations
===== Installation sur la box =====
* Sur la page d'administration de la box, aller à l'onglet "Règles NAT"
* Définir l'IP et le port du serveur en local ainsi que le port utilisé en externe.
===== Utilisation =====
* Aller sur l'URL raspberrypi
* Noter l'adresse de redirection si le serveur n'est pas disponible par défaut
==== TODO =====
* Gérer la redirection en PHP pour rediriger aussi le port
* Exécuter le script sous un compte neutre.