OVH Cloud OVH Cloud

Script pour tester qu'une station a changé de réseau

1 réponse
Avatar
Stephane Guillou
Bonjour,


Je souhaiterais cr=E9er un script qui permettrait =E0 une station qui a
chang=E9 de r=E9seau de mettre =E0 jour automatiquement sa configuration.
Ce script s'ex=E9cuterait au startup et se baserait sur un test qui
validerait que la configuration actuelle n'est plus adapt=E9e au r=E9seau
sur lequel la station vient d'=EAtre rebranch=E9e. Suivant le r=E9sultat,
le script mettrait alors =E0 jour ou non automatiquement les fichiers de
configuration r=E9seau.

Est-ce que aurait une id=E9e et pourrait m'orienter vers une commande
qui me permettrait de faire ce test?=20

Merci d'avance

Steph.

1 réponse

Avatar
Vincent Lefevre
Dans l'article ,
Stephane Guillou écrit:

Est-ce que aurait une idée et pourrait m'orienter vers une commande
qui me permettrait de faire ce test?


J'utilise le script suivant sur mon portable (pour mettre à jour
mon fichier ~/.ssh/config). L'idée est de faire une requête sur
<http://checkip.dyndns.org/>. À adapter suivant tes besoins...

#!/usr/bin/env perl

# This script should be executed every hour by root on ay.

use strict;
use POSIX;
use LWP::Simple;
use Regexp::Common qw /net/;

my ($proc) = '$Id: home_net 11154 2006-02-15 21:54:50Z lefevre $'
=~ /^.Id: (S+) / or die;

my $file = '/etc/netenv/home_net';
my $url = 'http://checkip.dyndns.org/';
my $checkip = get($url);

# We assume that a failure to get the document is not an error.
# For instance, this can happen when the machine is not connected.
# In such a case, we do not do anything, and exit silently.
defined $checkip or exit;

$checkip =~ m!<body>Current IP Address: ($RE{net}{IPv4})</body>!
or die "$proc: bad format of $urln";
print "$1n";

if ($1 eq '62.212.121.106')
{
-f $file and exit;
open FILE, '>', $file or die "$!n$proc: can't create $filen";
close FILE;
}
else
{
-f $file or exit;
unlink $file or die "$!n$proc: can't unlink $filen";
}

# Network settings have changed, reconfigure ssh on ay.
(POSIX::uname)[1] eq 'ay.vinc17.org' and exec $< ?
'ssh-reconfigure' : 'su lefevre -c ssh-reconfigure';

__END__

--
Vincent Lefèvre - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / SPACES project at LORIA