dyndomain/README

166 lines
4.9 KiB
Plaintext

Introduction
------------
dyndomain permet de contourner les limitations de votre abonnement Orange et
de sa Livebox en utilisant un nom de domaine chez OVH:
- bien que "relativement" stable, les adresses IPv4 (et IPv6) de votre Livebox
changent de temps en temps.
- les comptes de type dyndns supportés par la Livebox 4 ne supportent que
l'IPv4, sont contraignant à utiliser, et parfois payants.
- La Livebox 4 ne supporte pas les comptes dyndns OVH.
- et OVH ne supporte que l'IPv4 pour ses comptes dyndns
dyndomain surveille votre Livebox toutes les minutes récupère ses adresses
IPv4 et IPv6 ainsi que les adresses IPv6 des machines dans votre reseau
local.
Lors d'un changement, la zone dns de votre domaine chez OVH est mise à jour.
Ainsi si vous avez le domaine chezmoi.fr chez OVH, vous pourrez retrouver
les machines de votre reseau:
* la livebox elle-même:
$ host livebox.home.chezmoi.fr
livebox.home.chezmoi.fr has address 1.2.3.4
livebox.home.chezmoi.fr has IPv6 address pppp:pppp:pppp:pppp:aaaa:aaaa:aaaa:aaaa
* une machine visible en IPv6:
$ host machine1.home.chezmoi.fr
machine1.home.chezmoi.fr has IPv6 address pppp:pppp:pppp:pppp:bbbb:bbbb:bbbb:bbbb
* une machine avec une redirection IPv4:
$ host machine2.home.chezmoi.fr
machine2.home.chezmoi.fr has address 1.2.3.4
machine2.home.chezmoi.fr has IPv6 address pppp:pppp:pppp:pppp:cccc:cccc:cccc:cccc
Les enregistrements DNS sont configurés avec un TTL de 60s, donc un changement
d'adresse est au pire visible en 2 minutes (parfois plus, si vous utilisez des
serveurs qui forcent des mises en cache avec des durées minimales supérieures).
dyndomain utilise la librairie python-ovh pour la mise à jour des enregistrements DNS et
la librairie sysbus de René D. qui permet de récupérer toutes les informations de la
Livebox.
Testé avec une Livebox 4.
Installation
------------
$ git clone https://framagit.org/ggrandou/dyndomain.git
$ cd dyndomain
$ git submodule init sysbus
$ git submodule update sysbus
$ git submodule init ovh
$ git submodule update ovh
Setup - Livebox
---------------
$ ./sysbus/sysbus.py -password LIVEBOXADMINPASSWORD -config
url = http://livebox.home/
user = admin
password = LIVEBOXADMINPASSWORD
model = lb4
Verifier que la configuration est correcte:
$ ./sysbus/sysbus.py
SoftwareVersion : XG40_sip-fr-3.2.18.1_7.21.3.1
UpTime : 2 days, 10:10:12 (NumberOfReboots: 21)
ExternalIPAddress : n.n.n.n
IPv4Address : 192.168.1.1
IPv6Address : nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn
IPv6DelegatedPrefix : nnnn:nnnn:nnnn:nnnn::/56
IPv6Address : nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn:nnnn
directoryNumber : +339xxxxxxxx
Setup - OVH
-----------
Il vous faut:
- un compte chez OVH (nic-handle de la forme NN1234-OVH)
- un domaine herbergé chez OVH
* Création du fichier ovh.conf:
$ cp ovh-sample.conf ovh.conf
* Création de l'Application Token:
visitez la page https://eu.api.ovh.com/createApp/
remplir les champs:
- account id: votre compte OVH
- password
- Application Name: dyndomain ou ce que vous voulez
- Application Description: ce que vous voulez
remplissez les champs Application Key et Application Secret dans le
fichier ovh.conf
* Création du Consumer Token:
Editez le fichier register_ovh_account avec votre propre domaine
(à la place de example.com)
$ ./register_ovh_account
Visitez l'URL affichée et authentifiez-vous avec votre compte OVH.
Enregistrer la Consumer Key dans le fichier ovh.conf
Setup - Réseau local
--------------------
* Création du fichier home.conf:
$ cp home-sample.conf home.conf
* configuration [zone]:
domain: votre propre domaine
subdomain: ce que vous voulez, typiquement "home"
Toutes les machines seront nommées avec un nom du type
mypc1.home.domain.ext
* configuration [Hosts]:
Listez ici toutes les machines auquelles vous voulez ajouter un
enregistrement IPv6.
* configuration [NatHosts]:
Listez ici toutes les machines auquelles vous voulez ajouter un
enregistrement IPv4.
Comme l'adresse IPv4 est l'adresse WAN (de la livebox), pour que
ce soit utile, il faut que vous ayez ajourter une règle de redirection
pour ces machines sur votre interface Livebox
* configuration [Mail]:
Chaque mise à jour génerera un mail qui sera envoyé à cette adresse.
* configuration [MailIgnore]:
Si les mises à jour ne concernent que des entrées dans cette liste
le mail ne sera pas envoyé
Utilisation
-----------
* Pour tester que tout est correct:
$ ./dyndomain
la zone dns doit être mise à jour pour votre domaines avec les machines
enregistrées, et vous devrier recevoir un mail notifiant la mise à jour.
* Vous pouvez alors appeler ce script toutes les minutes avec une entrée
crontab.