Posté par Apo le 29 July 2014 dans
Système,
Windows
Si vous en avez marre des redémarrages intempestifs et forcés de Windows suite aux mises à jours, il existe une méthode simple pour les désactiver (il est tout de même important de redémarrer manuellement de temps en temps afin de laisser Windows finir ses mises à jours !).
Faites le raccourci “touche windows” + r ou allez dans démarrer/exécuter.
Puis tapez regedit dans l’invite d’exécution.
Rendez vous ensuite dans :
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU |
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
Si la clé WindowsUpdate et AU n’existent pas, créez-les ( clique droit, nouvelle clé )
Dans la clé AU créez un DWORD(32-bits) que vous nommerez NoAutoRebootWithLoggedOnUsers
Puis vous lui donnerez comme valeur 1 ( Pour lui donner une valeur, il suffit de double cliquer dessus )
Si cela vous parait trop compliqué, créez un document text avec comme contenu le texte ci-dessous
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001 |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAutoRebootWithLoggedOnUsers"=dword:00000001
Renommez le en nimportequoi.reg avant de l’exécuter.
Acceptez l’avertissement de sécurité et la clé sera automatiquement ajoutée.
Posté par Apo le 2 May 2014 dans
Linux,
Système
Le tuto suivant à été testé sur l’OS readynas ( qui est en réalité une Debian 7 ).
Pour commencer, si ce n’est pas déjà fait, il faut aller créer un champ DynHOST dans la zone DNS de votre domaine.
Par exemple chez OVH, il faut se loguer sur le manager, aller dans Domaine & DNS > Zone DNS > DynHOST.
En guise de destination, vous pouvez mettre n’importe quelle IP, celle-ci sera remplacée automatiquement par addns.
Laissez la case “Voulez-vous créer un identifiant DynHOST ?” cochée.
/!\ ATTENTION en choisissant le mot de passe, choisissez un mot de passe fort et unique, celui-ci sera en clair dans le fichier de configuration !
Ensuite, il faut se connecter en SSH sur votre NAS pour commencer l’installation et la configuration d’Addns, le programme qui mettra à jour automatiquement le champ DynHOST.
Installation des pré-requis ( perl ):
apt-get update
apt-get install perl |
apt-get update
apt-get install perl
On commence par se placer dans un répertoire de travail :
mkdir /tmp/addns && cd /tmp/addns |
mkdir /tmp/addns && cd /tmp/addns
On télécharge la dernière version d’Addns puis on l’extrait :
wget http://www.funtaff.com/software/addns.pl/addns-1.2a.tar.gz
tar -xzvf addns-1.2a.tar.gz
cd addns-1.2 |
wget http://www.funtaff.com/software/addns.pl/addns-1.2a.tar.gz
tar -xzvf addns-1.2a.tar.gz
cd addns-1.2
Passons maintenant à la configuration.
Créez un fichier addns.conf et collez la configuration suivante en prenant soin de changer les paramètres concernant votre domaine
[main]
{
proxy_host = "localhost"
proxy_port = 3128
use_proxy = no
}
[webcheck]
{
server_host = www.ovh.com
update_host = NOM_DE_DOMAINE_A_MAJ
detect_method = "webcheck"
ip_detect_host = "checkip.dyndns.org"
ip_detect_port = 80
username = "USERNAME"
password = "PASSWORD"
system_type = "dyndns"
}
[files]
{
cache = "/tmp/addns.db"
log = "/var/log/addns.log"
} |
[main]
{
proxy_host = "localhost"
proxy_port = 3128
use_proxy = no
}
[webcheck]
{
server_host = www.ovh.com
update_host = NOM_DE_DOMAINE_A_MAJ
detect_method = "webcheck"
ip_detect_host = "checkip.dyndns.org"
ip_detect_port = 80
username = "USERNAME"
password = "PASSWORD"
system_type = "dyndns"
}
[files]
{
cache = "/tmp/addns.db"
log = "/var/log/addns.log"
}
Ne souhaitant pas être dépendant de dyndns.org, j’ai créé une petite page web me retournant le même contenu que checkip.dyndns.org si vous souhaitez faire de même le code source est le suivant :
<!--?php
echo "<html-->Current IP Address: ".$_SERVER["REMOTE_ADDR"]."\n"; |
<!--?php
echo "<html-->Current IP Address: ".$_SERVER["REMOTE_ADDR"]."\n";
Il faut toutefois faire attention à l’endroit où vous hébergez cette page. En effet, j’ai d’abord voulu la mettre sur un mutualisé OVH, mais le keepalive en place sur leurs serveurs causaient un énorme ralentissement. Afin de pallier à cela, j’ai créé un vhost avec keepalive Off sur un de mes serveurs.
On teste notre configuration :
Si tous se passe bien, dans les logs vous devriez voir :
May 2 21:00:01 (webcheck) webcheck: performing update, ip=
May 2 21:00:07 (webcheck) webcheck: update successful |
May 2 21:00:01 (webcheck) webcheck: performing update, ip=
May 2 21:00:07 (webcheck) webcheck: update successful
Il se peut aussi que vous ayez :
May 2 20:50:01 (webcheck) webcheck: performing update, ip=
May 2 20:50:07 (webcheck) webcheck: failed update (removing from list): Host blocked for abuse |
May 2 20:50:01 (webcheck) webcheck: performing update, ip=
May 2 20:50:07 (webcheck) webcheck: failed update (removing from list): Host blocked for abuse
Pas de panique, cela peut se produire quand le champ DNS est déjà à jour.
Pour finir nous plaçons les fichiers dans leurs emplacements finals :
mkdir /etc/addns
cp addns.conf /etc/addns/
cp addns.pl /usr/bin/ |
mkdir /etc/addns
cp addns.conf /etc/addns/
cp addns.pl /usr/bin/
Et on créer une tache cron afin que le domaine soit automatiquement mis à jour à intervalle régulier.
crontab -e
*/5 * * * * /usr/bin/addns.pl -c=/etc/addns/addns.conf<br /><br /> |
crontab -e
*/5 * * * * /usr/bin/addns.pl -c=/etc/addns/addns.conf<br /><br />
Vous n’avez pas encore de readynas ? Achetez en un ici
Posté par Apo le 3 April 2014 dans
Cisco,
Réseau
Quand Cisco publie une nouvelle version d’IOS, il est conseillé de mettre à jour ses équipements réseau.
Avant de se lancer dans ce genre de manipulation potentiellement risquée, il est conseiller d’être à proximité du switch avec un accès au port console au cas ou il y aurait un problème.
Dans ce billet je décrirai la procédure pour un 3560. Celle-ci est semblable pour tous les modèles de switchs et routeurs Cisco.
Dans un premier temps, il va falloir se procurer la nouvelle version d’IOS sur le site Cisco mais je ne détaillerai pas cette partie.
Ensuite, il va falloir vérifier si il y a suffisamment de place sur la flash du switch pour uploader le nouvel IOS sans supprimer l’ancien.
Si il y a suffisamment de place tant mieux ! Sinon, il va falloir supprimer la version d’IOS actuelle avec la commande ci-dessous:
Switch# delete /f /r flash:c3560-ipbase-mz.122-35.SE5.bin |
Switch# delete /f /r flash:c3560-ipbase-mz.122-35.SE5.bin
Ensuite il faut récupérer la nouvelle version d’ISO sur la flash via tftp.
En guise de serveur TFTP, j’utilise tftp32 qui est très pratique et d’une grande simplicité pour ce genre de tâche.
Pour récupérer l’ios :
Switch# copy tftp flash
Address or name of remote host? 192.168.1.10
source filename? c3560-ipservicesk9-mz.150-2.SE5.bin
Destination filename? c3560-ipservicesk9-mz.150-2.SE5.bin |
Switch# copy tftp flash
Address or name of remote host? 192.168.1.10
source filename? c3560-ipservicesk9-mz.150-2.SE5.bin
Destination filename? c3560-ipservicesk9-mz.150-2.SE5.bin
Dans le cas ou vous seriez en train de mettre à jour un stack de switch répétez l’opération sur toutes les flash des switchs de la stack.
Si vous avez le md5 de l’IOS, il est conseillé de vérifier son intégrité après le transfert tftp
Switch#verify /md5 flash:c3560-ipservicesk9-mz.150-2.SE5.bin
02:35:39: %SYS-5-CONFIG_I: Configured from console by console
...[...]...Done!
verify /md5 (flash:c3560-ipservicesk9-mz.150-2.SE5.bin) = f73e32e66719fb48b11c849deee958e1 |
Switch#verify /md5 flash:c3560-ipservicesk9-mz.150-2.SE5.bin
02:35:39: %SYS-5-CONFIG_I: Configured from console by console
...[...]...Done!
verify /md5 (flash:c3560-ipservicesk9-mz.150-2.SE5.bin) = f73e32e66719fb48b11c849deee958e1
Puis on configure le switch pour qu’il boot sur le nouvel IOS
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system flash:/c3560-ipservicesk9-mz.150-2.SE5.bin |
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#boot system flash:/c3560-ipservicesk9-mz.150-2.SE5.bin
Avant de reboot, on verifie notre configuration
Switch#show boot | include BOOT
BOOT path-list : flash:/c3560-ipservicesk9-mz.150-2.SE5.bin |
Switch#show boot | include BOOT
BOOT path-list : flash:/c3560-ipservicesk9-mz.150-2.SE5.bin
Puis on reboot
Après le reboot, on vérifie que le switch à bien booter sur le nouveau binaire.
Switch#sh ver
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 9 WS-C3560-8PC 15.0(2)SE5 C3560-IPSERVICESK9-M
Configuration register is 0xF |
Switch#sh ver
Switch Ports Model SW Version SW Image
------ ----- ----- ---------- ----------
* 1 9 WS-C3560-8PC 15.0(2)SE5 C3560-IPSERVICESK9-M
Configuration register is 0xF
On peux maintenant supprimer l’ancien
Switch# delete /f /r flash:c3560-ipbase-mz.122-35.SE5.bin |
Switch# delete /f /r flash:c3560-ipbase-mz.122-35.SE5.bin
Dans un prochain article j’expliquerai comment remettre un IOS sur un switch en mode “rommon” particulièrement utile si il y a eu un problème pendant l’upgrade.
Posté par Apo le 16 March 2014 dans
Cisco,
Réseau
Si vous avez oublié le mot de passe enable d’un routeur CISCO, il y a un moyen très simple de le changer, pour cela il faut un accès physique au routeur et plus précisément au port console.
Pour commencer, il faut démarrer le switch en mode «rommon».
Pour cela il faut se connecter sur le port console, redémarrer le switch et appuyer simultanément sur le bouton mode en façade du switch.
Selon les modèles, il faut garder le bouton pressé plus ou moins longtemps (cf tableau ci-dessous)
Une fois en mode rommon, il faut initialiser la flash du switch
Using driver version 1 for media type 1
Base ethernet MAC Address: 00:27:0c:e6:31:80
Xmodem file system is available.
The password-recovery mechanism is enabled.
The system has been interrupted prior to initializing the
flash filesystem. The following commands will initialize
the flash filesystem, and finish loading the operating
system software:
flash_init
boot
switch: flash_init
Initializing Flash...
mifs[2]: 0 files, 1 directories
mifs[2]: Total bytes : 3870720
mifs[2]: Bytes used : 1024
mifs[2]: Bytes available : 3869696
mifs[2]: mifs fsck took 0 seconds.
mifs[3]: 456 files, 6 directories
mifs[3]: Total bytes : 27998208
mifs[3]: Bytes used : 9352704
mifs[3]: Bytes available : 18645504
mifs[3]: mifs fsck took 7 seconds.
...done Initializing Flash.
!--exemple de retour fait par un 3560 |
Using driver version 1 for media type 1
Base ethernet MAC Address: 00:27:0c:e6:31:80
Xmodem file system is available.
The password-recovery mechanism is enabled.
The system has been interrupted prior to initializing the
flash filesystem. The following commands will initialize
the flash filesystem, and finish loading the operating
system software:
flash_init
boot
switch: flash_init
Initializing Flash...
mifs[2]: 0 files, 1 directories
mifs[2]: Total bytes : 3870720
mifs[2]: Bytes used : 1024
mifs[2]: Bytes available : 3869696
mifs[2]: mifs fsck took 0 seconds.
mifs[3]: 456 files, 6 directories
mifs[3]: Total bytes : 27998208
mifs[3]: Bytes used : 9352704
mifs[3]: Bytes available : 18645504
mifs[3]: mifs fsck took 7 seconds.
...done Initializing Flash.
!--exemple de retour fait par un 3560
Selon les modèles il faut également effectuer “load_helper”
Sur les 3560 cette commande n’existe pas.
Il faut maintenant trouver le nom du fichier de configuration. Pour cela on effectue un « dir flash: »
Il ne faut pas oublier les « : » apres flash !
switch: dir flash:
Directory of flash:/
2 -rwx 796 vlan.dat
3 -rwx 934 config.text
4 -rwx 5 private-config.text
5 drwx 512 c3560-ipbase-mz.122-35.SE5
18645504 bytes available (9352704 bytes used) |
switch: dir flash:
Directory of flash:/
2 -rwx 796 vlan.dat
3 -rwx 934 config.text
4 -rwx 5 private-config.text
5 drwx 512 c3560-ipbase-mz.122-35.SE5
18645504 bytes available (9352704 bytes used)
Ensuite on va renommer le fichier de configuration du switch config.text
switch: rename flash:config.text flash:config.old |
switch: rename flash:config.text flash:config.old
Puis on démare le switch avec la commande “boot”
Le switch va booter sans prendre en compte le fichier de configuration.
Une fois le switch redémarré, on passe en mode enable et on redonne le bon nom à notre fichier de configuration
Switch>enable
Switch#rename flash:config.old flash:config.text |
Switch>enable
Switch#rename flash:config.old flash:config.text
Puis on la charge en mémoire
Switch#copy flash:config.text system:running-config |
Switch#copy flash:config.text system:running-config
Ensuite il ne reste plus qu’à changer le mot de passe
Sw#conf t
!—Pour le mot de passe enable
Sw(config)#enable secret <nouveau_mot_de_passe>
!-- Pour le mot de passe telnet
Sw(config)#line vty 0 15
Sw(config-line)#password <new_vty_password>
Sw(config-line)#login
!-- Pour le mot de passe console
Sw(config-line)#line con 0
Sw(config-line)#password <new_console_password> |
Sw#conf t
!—Pour le mot de passe enable
Sw(config)#enable secret <nouveau_mot_de_passe>
!-- Pour le mot de passe telnet
Sw(config)#line vty 0 15
Sw(config-line)#password <new_vty_password>
Sw(config-line)#login
!-- Pour le mot de passe console
Sw(config-line)#line con 0
Sw(config-line)#password <new_console_password>
Et pour finir on enregistre la configuration
Sw#>write memory
Building configuration...
[OK]
Sw# |
Sw#>write memory
Building configuration...
[OK]
Sw#
Posté par Apo le 5 February 2012 dans
Linux
Régler les désynchronisations d’horloge
Depuis quelques temps, je me suis aperçu que sur les VM d’un de mes dédié, l’horloge n’était jamais à l’heure, ce qui peut être relativement gênant, surtout pour tout ce qui est monitoring.
Afin de régler ce problème, il suffit d’installer ntp et de lancer le daemon, après ça, plus de problèmes
aptitude update
aptitude install ntp |
aptitude update
aptitude install ntp
Avant le lancement du daemon :
root@testing:~# date
dimanche 5 février 2012, 19:00:12 (UTC+0100) |
root@testing:~# date
dimanche 5 février 2012, 19:00:12 (UTC+0100)
On lance le daemon ntpd :
L’heure est de nouveau ok :
root@testing:~# date
dimanche 5 février 2012, 18:52:33 (UTC+0100) |
root@testing:~# date
dimanche 5 février 2012, 18:52:33 (UTC+0100)
Posté par Apo le 15 January 2012 dans
Cisco,
Réseau
Si vous avez oublier le mot de passe enable d’un routeur cisco, il y a un moyen très simple de le changer, pour cela il faut un accès physique au routeur et plus précisément au port console.
Pour commencer, il faut démarrer le routeur en mode rommon.
Pour cela il faut se connecter sur le port console, redémarrer le routeur et appuyer simultanément sur CTRL+pause pendant les 60 premières secondes du démarrage.
Une fois en mode rommon, on modifie le registre du routeur
rommon 1 > confreg 0x2142
rommon 2 > reset |
rommon 1 > confreg 0x2142
rommon 2 > reset
Confreg 0x2142 indique au routeur de ne pas prendre en compte la configuration enregistrée au démarrage.
Le routeur va rebooter normalement.
Une fois le router redémarrer, on passe en mode enabble et on restaure l’ancienne configuration
Router>en
Router#copy startup-config running-confi |
Router>en
Router#copy startup-config running-confi
Il ne nous reste plus qu’a changer le mot de passe
Router#conf t
Router(config)#enable secret <nouveau_pass>
Router(config)#end
Router#write mem
Building configuration...
[OK] |
Router#conf t
Router(config)#enable secret <nouveau_pass>
Router(config)#end
Router#write mem
Building configuration...
[OK]
puis à remettre la valeur initial das le registre afin de ne pas avoir de surprise au prochain reboot.
Router#conf t
Router(config)#config-register 0x2102
Router(config)#end |
Router#conf t
Router(config)#config-register 0x2102
Router(config)#end
Au prochain démarrage, la configuration avec le nouveau mot de passe enable sera chargée.
Posté par Apo le 15 January 2012 dans
Asterisk
Pour commencer, nous installons le serveur asterisk depuis les dépots ubuntu.
# aptitude update
# aptitude install asterisk |
# aptitude update
# aptitude install asterisk
Ensuite, il faut créer les utilisateurs dans le fichier de configuration, pour cela, il suffit
d’ajouter quelques lignes dans le fichier /etc/asterisk/sip.conf par exemple, pour créer un utilisateur
qui s’appelle nico, qui a comme mot de passe bonjour et comme numéro 200
[nico]
secret=bonjour
type=friend
host=dynamic
callerid="nico" |
[nico]
secret=bonjour
type=friend
host=dynamic
callerid="nico"
Ensuite, il faut ajouter les extensions dans /etc/asterisk/extensions.conf . Le contenu de ce
fichier permet à asterisk de savoir comment router les appels. Nous créons une zone local et nous
ajoutons une ligne par compte SIP
[local]
exten => 200, 1, Dial(SIP/ivan, 10)
exten => 300, 1, Dial(SIP/nico, 10)
exten => 666, 1, Dial(SIP/bob, 10)
exten => 1664, 1, Dial(SIP/jerome, 10) |
[local]
exten => 200, 1, Dial(SIP/ivan, 10)
exten => 300, 1, Dial(SIP/nico, 10)
exten => 666, 1, Dial(SIP/bob, 10)
exten => 1664, 1, Dial(SIP/jerome, 10)
Ensuite, il faut informer asterisk que la zone local a été créée, pour cela, il faut l’ajouter dans la
zone [default] :
[default]
include => local |
[default]
include => local
Afin d’appliquer la configuration, on redémarre le serveur
root@user-desktop:~#/etc/init.d/asterisk restart
Stopping Asterisk PBX : asterisk.
Starting Asterisk PBX : asterisk |
root@user-desktop:~#/etc/init.d/asterisk restart
Stopping Asterisk PBX : asterisk.
Starting Asterisk PBX : asterisk
grâce à rasterisk, on peut voir qui est connecté au serveur ainsi que l’ip des clients avec la
commande sip show peers
user-desktop*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
bob/bob (Unspecified) D 0 Unmonitored
ivan/ivan 148.60.210.67 D 5060 Unmonitored
jerome/jerome 148.60.210.38 D 5060 Unmonitored
nico/nico 148.60.210.68 D 5070 Unmonitore |
user-desktop*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
bob/bob (Unspecified) D 0 Unmonitored
ivan/ivan 148.60.210.67 D 5060 Unmonitored
jerome/jerome 148.60.210.38 D 5060 Unmonitored
nico/nico 148.60.210.68 D 5070 Unmonitore