Connaître l’adresse IP publique de votre Livebox

Connaître l'adresse IP publique de votre boxJe suis chez Orange et mon adresse IPv4 est amené à changer régulièrement, selon une cadence que j’ignore totalement. J’ai activé une prise de contrôle à distance de mon PC via OpenSSH (uniquement par clé) et Terminal Services. J’ai d’ailleurs changé les ports de ces deux services de manière à minimiser les risques d’intrusion ! ;+)

Les Services de type DynDNS

La LiveBox d’Orange propose d’utiliser différents services de type DynDNS :

Bref, rien ne me convient et, pour tout dire, je n’ai absolument pas envie de payer ce genre de services !

Le registrar pour l’IPv6

Comme les IPv6 fournies par Orange sont fixes, j’ai utilisé la zone DNS de mon domaine DSFC hébergé chez Gandi, en lui ajoutant une entrée de type AAAA.

DynDNS, un script PowerShell pour l’IPv4

Le script que je vous propose ci-dessous envoie votre adresse IP par mail. Il recourt à des API publiques qui vous permettent de récupérer votre adresse IPv4 ou IPv6 publique, au format JSON pour la plupart.  Je vous recommande de choisir des services en mode https.

Clear-Host
$ip=(Invoke-RestMethod -Uri 'https://ipinfo.io').ip
<#
#Ipv4 only
$ip=(Invoke-RestMethod -Uri 'https://api.ipify.org?format=json').ip
$ip=Invoke-RestMethod -Uri 'https://ipv4bot.whatismyipaddress.com'
$ip=(Invoke-RestMethod -Uri 'http://api.ipaddress.com/myip?format=json&callback=myCallback').ipaddress 
$ip=(Invoke-RestMethod -Uri 'http://ip-api.com/json').query
#IPv6 only
$ip=(Invoke-WebRequest -Uri 'https://ipv6bot.whatismyipaddress.com').content
#IPv4 or IPv6
$ip=(Invoke-WebRequest -Uri 'https://www.dsfc.net/ipinfo.php').content
#>
$CredUser = "votre_login"
$CredPassword = "votre_mot_de_passe"
$EmailFrom = "votre_login@gmail.com"
$EmailTo = "votre_login@gmail.com"
$Subject = "IPv4=$ip"
$Body = "IPv4=$ip"
$SMTPServer = "smtp.gmail.com"
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($CredUser, $CredPassword);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
$SMTPClient=$null
Exit

J’ai ensuite planifié ce script pour qu’il s’exécute au moins une fois tous les jours.

ipinfo.php, un script PHP

Sur mon serveur, j’ai même écrit un script PHP, vous permettant d’obtenir votre IP publique :

<?php
    echo $_SERVER['REMOTE_ADDRESS'];
?>

Réseau  / Adresse IP publique Formateur PHP Formateur Réseau IP publique Livebox Orange php Réseau 

Commentaires

Bon article, merci.

Il n’y a pas de dyndns chez Gandi ?
Chez ovh c’est dispo via le DynHOST (et ça marche bien).

@Julien

Si, il y a du DynDNS. Connexion en Http.

Parfait, dans ce cas, ne serait-ce pas plus simple de prendre un nom de domaine pas chère juste pour ta machine ?

@Julien

Ca change rien pour l’IPv4, qui n’est pas fixe chez Orange !

Ah je viens de comprendre que la livebox ne propose pas de service DynDNS « générique » dans la liste des providers.
Donc en effet c’est la mayrde.

Merci encore pour le script, je risque fortement de m’en servir quand je vais basculer chez orange bientôt.

Laisser un commentaire

(requis)

(requis)