TUTO - Edgerouter ERPro-8 pour Internet + LIVEBOX V4 DHCP pour TV et télephone
ARCHITECTURE ORANGE DHCP - PARTIE 2 IPV6 (IPV4 traité dans partie 1 du TUTO, voir lien plus bas)IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6A JOUR AU 12/08/2018--> TESTE SUR FIRMWARE 1.10.3 ET ER8PRO--> TESTE SUR FIRMWARE 1.10.5 ET ER8PRO22/05/2016 AJOUT STATIC ROUTE IPV6 SUR eth1.832pour info, commande set si vous ne modifiez pas le fichier de config en exemple :
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
IMPERATIF, AVANT D'ATTAQUER CE TUTO, AVOIR REALISE LA PREMIERE PARTIE IPV4 QUI N'EST PAS REPRISE DANS CE TUTO.
PARTIE 1 IPV4 --> https://lafibre.info/remplacer-livebox/tuto-edgerouter-erpro-8-pour-internet-livebox-dhcp-pour-tv-et-telephone/Fortement inspiré du post de geoffreyc ici
https://lafibre.info/remplacer-livebox/guide-erlite-3-ipv6-sans-livebox-dhcp/et bien entendu des travaux de Zoc, Kgersen et tous les autres contributeurs. J'ai adapté le tuto de geoffreyc afin qu'il soit dans la continuité du la première partie du TUTO et pour faciliter la vie des plus téméraires. Dans le cas contraire, je me serai contenter de faire un lien... merci beaucoup à geoffreyc pour le travail de synthèse qu'il a effectué.
RAPPEL DE LA CONFIGURATION :CABLAGE DU ROUTEUR ET ADRESSAGE RESEAU :
ETH0 --> LIVEBOX --> 192.168.2.1/24 (adresse différente de celle configurée dans la LIVEBOX) + SERVEUR DHCP
LIVEBOX cable entre ETH0 du Routeur et port Rouge Internet (fibre) de la LIVEBOX
LES BOX TV sont connectées sur la LIVEBOX tout comme le téléphone
ETH1 --> PRISE RJ45 DE L'ONT (ARRIVEE FIBRE) --> 192.168.10.x/24 + SERVEUR DHCP
ETH7 --> VERS RESEAU LOCAL (VERS SWITCH) --> 192.168.10.1 + SERVEUR DHCP
L'ON UTILISERA TOUJOURS LE USER root pour les transferts, attentions aux droits sous UNIX et aux retours chariots qui doivent être au format UNIX 1/ Installation de dibbler-client compilé par ZOC copier le fichier
dibbler.deb sous /tmp avec filezilla et user root
se connecter ensuite avec putty en root au routeur
puis :
cd /tmp
dpkg -i dibbler.deb
aux diverses questions répondre oui au lancement lors du démarrage et activer service DNS.. en fait ces choix n'ont pas beaucoup d'importance, l'on écrasera par la suite le fichier de config...
2/ Fichier de configuration dibbler Aller sous
/etc/dibbler et écraser le contenu du fichier
client.conf avec le contenu qui suit.
Remplacer le XX:XX... par la string obtenue lors de la partie 1 du tuto IPV4 chapitre 3.
Rappel --> avec le calculateur javascript fourni par kgersen (lien içi pour rappel :
https://jsfiddle.net/kgersen/45zudr15/embedded/result/)
--> faire un
chmod 755 sur
client.conf Pour rappel, ce fichier de configuration est prévu pour un ONT (WAN) branché sur eth1
# Defaults for dibbler-client.
# installed at /etc/dibbler/client.conf by the maintainer scripts
# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7
duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless
downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"
iface eth1.832 {
pd
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
option 15 hex 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
option dns-server
}
3/ script radvd.sh de ZOC
--> à copier dans même répertoire que client.conf radvd.sh sous /etc/dibbler/ --> faire un
chmod 755 sur
radvd.sh Pour rappel, ce fichier de configuration est prévu pour un LAN branché en eth7 (derrière mon eth7 se trouve un switch qui dessert l'ensemble des machines de la maison en dehors de la Livebox qui est en eth0)
#!/bin/bash
if [ "$SRV_MESSAGE" != "REPLY" ]
then
exit 1
fi
function fullPrefix () {
local input=$1
local o=""
local z=""
input=$(tr 'A-F' 'a-f' <<< $input )
while [ "$o" != "$input" ]; do
o="$input"
input="$( sed 's|:\([0-9a-f]\{3\}\):|:0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{3\}\)$|:0\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{3\}\):|0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\)$|:00\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{2\}\):|00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\):|:000\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\)$|:000\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\):|000\1:|g' <<< "$input" )"
done
grep -qs "::" <<< "$input"
if [ "$?" -eq 0 ]; then
GRPS="$( sed 's|[0-9a-f]||g' <<< "$input" | wc -m )"
((GRPS--)) # carriage return
((MISSING=8-GRPS))
for ((i=0;i<$MISSING;i++)); do
z="$z:0000"
done
input="$( sed 's|\(.\)::\(.\)|\1'$z':\2|g' <<< "$input" )"
input="$( sed 's|\(.\)::$|\1'$z':0000|g' <<< "$input" )"
input="$( sed 's|^::\(.\)|'$z':0000:\1|g;s|^:||g' <<< "$input" )"
fi
echo "$input"
}
ETH7_SUFFIX="01::1"
STATUS_FILE=/run/dibbler.lease
if [ -f "$STATUS_FILE" ];
then
source $STATUS_FILE
fi
TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}
if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
if [ "$CURRENT_PREFIX1" != "" ]
then
ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth7
fi
echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE
ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth7
service radvd restart >/dev/null 2>&1
fi
4/ script de démarrage dibbler.sh --> script
dibbler.sh à copier sous
/config/scripts/post-config.d et faire un chmod 775 --> si le répertoire
post-config.d n'existe pas, le créer et faire un
chmod 775#!/bin/bash
service dibbler-client restart
SUITE SUR POST SUIVANT...