samedi 14 septembre 2013

Ce billet n'existe pas.

O_O

ruliane@testsrv01:~$ cat /etc/debian_version
7.1
ruliane@testsrv01:~$ head -1 /etc/udev/links.conf
# This file does not exist. Please do not ask the Debian maintainer about it.
ruliane@testsrv01:~$

mardi 25 juin 2013

Mise à jour Squeeze -> Wheezy

Ce billet porte mal son nom. En effet, il est censé recueillir mes notes prises lors de la mise à jour de mes serveur de Debian 6 (Squeeze) à Debian 7 (Wheezy) et surtout les surprises que j'ai eues. En fait, les cinq paragraphes ci-dessous traitent de Munin, car tout le reste a fonctionné ou, au moins, était documenté (en amont ou lors de la migration).

Munin : racine en double sur le plugin df

La racine apparaît deux fois sur le plugin df. Pour corriger, éditer le fichier /etc/munin/plugin-conf.d/munin-node et, dans la section [df*], exclure le rootfs :

[df*]
env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs rootfs
env.warning 92
env.critical 98


Munin : erreur du plugin apt_all

Le plugin apt_all ne fonctionne plus. La tâche cron de mise à jour renvoie des messages d'erreur :

E: The value 'testing' is invalid for APT::Default-Release as such a release is not available in the sources
E: The value 'unstable' is invalid for APT::Default-Release as such a release is not available in the sources


Après investigation, il s'agit apparemment d'un problème similaire à celui-ci : Bug#702442: munin-node: apt_all uses different state files for cron job and as a plugin.

Pour corriger, éditer le fichier /usr/share/munin/plugins/apt_all et modifier la variable "@releases" :

#my @releases = ("stable", "testing","unstable");
my @releases = ("stable");

Puis définir dans /etc/munin/plugin-conf.d/munin-node la variable d'environnement MUNIN_PLUGSTATE :

[apt_all]
env.MUNIN_PLUGSTATE /var/lib/munin-node/plugin-state/root/


Munin - alertes Munin et plugin ntp_states

Certains plugins Munin se traînent lamentablement, à tel point que le timeout expire, comme le signale le journal :

2013/06/11-09:10:59 [30489] Service 'ntp_states' timed out.
2013/06/11-09:11:01 [30489] Service 'open_files' timed out.
2013/06/11-09:11:02 [30489] Node side timeout while processing: 'fetch open_files'
[...]
2013/06/11-09:15:59 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:01 [30772] Service 'postfix_mailvolume' timed out.
2013/06/11-09:16:02 [30772] Node side timeout while processing: 'config proc_pri'

On se retrouve avec des graphiques en pointillés.
Explication du problème :
J'avais désactivé IPv6 sur mon serveur mail. (Ou je croyais l'avoir fait.) Lors de la mise à jour, IPv6 a été réactivé et le démon NTP a choisi comme serveurs de référence des serveurs en IPv6. Il faut savoir aussi que le plugin Munin ntp_state part de l'adresse IP des serveurs et effectue une requête DNS pour obtenir son nom. Et cette requête prenait beaucoup de temps et échouait ; je ne sais pas exactement pourquoi.
Pour contourner ce problème, deux possibilités. La première est simplement de désactiver de nouveau IPv6 :

  • sysctl net.ipv6.conf.all.disable_ipv6=1

Il est aussi possible de ne pas résoudre les adresses en modifiant le plugin. Dans /usr/share/munin/plugins/ntp_state, commenter les lignes 116 à 123 :

#        if ($packet) {
#                my @answer = $packet->answer;
#                foreach my $rr (@answer) {
#                        if ("PTR" eq $rr->type) {
#                                $host = $rr->ptrdname;
#                        }
#                }
#        }


Munin - erreurs "Use of uninitialized value ..."

Au passage, je me suis rendu compte que mes logs étaient remplis de cette erreur :

Use of uninitialized value in pattern match (m//) at /usr/share/perl5/Net/Server.pm line 600.

C'est le package libnet-server-perl qui est en cause. Il est encore en version 2.006 et ce bug n'est donc pas encore résolu : libnet-server-perl: Uninitialized value in pattern match spam. On peut appliquer le patch ou attendre que la version 2.007 soit mise sur les dépôts.

Munin - Erreur 404 lors de la consultation des graphiques

Après mise à jour de Munin (tout court, pas -node), je ne pouvais tout simplement plus accéder à l'interface de Munin : erreur 404. Pour cause, le lien vers le fichier de configuration avait sauté. Il m'a donc suffit de le refaire :

  • ln -s /etc/munin/apache.conf /etc/apache2/conf.d/munin.conf

vendredi 21 juin 2013

Windows Update : merci qui ?

2013-06-21 08:33:38:916   AU client reboot notification: user clicked Restart Later
2013-06-21 08:33:49:432   AU received handle event
2013-06-21 08:33:53:932   AU scheduling auto reboot check since no user is logged on and reboot is required.
2013-06-21 08:35:53:930   WARNING: Initiating reboot since no user logged on

Merci Microsoft...

EDIT (26/06/2013) : Vous en voulez encore ? http://support.microsoft.com/kb/970605

lundi 10 juin 2013

Configurer Asterisk avec Free

Activation du compte SIP

Avant toute chose, se connecter sur le site de Free et aller dans Téléphonie > Paramétrer mon compte SIP. Activer le compte SIP et rediriger les appels entrant vers le "téléphone SIP". Choisir un mot de passe, puis valider. Redémarrer la box (en Freebox v5).

Configuration d'Asterisk en interface web

On commence par configurer les informations classiques :
Type : SIP
Provider name : Un nom pour le trunk, par exemple "Freephonie"
Hostname : le serveur d'en face. Dans notre cas, "freephonie.net"
Username : l'identifiant, qui est le numéro de téléphone assigné par Free (souvent en 09xxxxxxxx)
Password : le mot de passe renseigné dans la première étape.

Une fois le trunk créé, il faut l'éditer pour remplir les champs suivants :
FromDomain : pour les appels sortants, doit être défini à "freephonie.net"
FromUser : pour les appels sortants, doit être votre numéro de téléphone au format international. Quelque chose comme "00339xxxxxxxx".
AuthUser : votre numéro de téléphone ("09xxxxxxxx")
insecure : very (recommandé)

Attention : sans FromUser et FromDomain, vous pourrez recevoir les appels mais pas en émettre.

Configuration d'Asterisk en CLI

Éditer /etc/asterisk/users.conf et ajouter une section :

[09xxxxxxxx]
host = freephonie.net
username = <numéro de téléphone>
secret = <mot de passe>
trunkname = Freephonie
context = <nom de votre contexte (p.ex : default) >
hassip = yes
registersip = yes
trunkstyle = voip
fromuser = <numéro au format international. ex : 00339xxxxxxxx>
authuser = <numéro de téléphone>
insecure = port,invite


Augmentation du "defaultexpiry"

Le temps d'expiration du REGISTER est par défaut à 120 secondes alors que Free refuse le ré-enregistrement avant 30 minutes. Pour éviter d'avoir plein de warnings dans les logs, on peut l'augmenter : éditer /etc/asterisk/users.conf et dans la section du trunk, ajouter :

[09xxxxxxxx]
[...]
defaultexpiry = 3600

vendredi 29 mars 2013

Adobe Flash Player

Voici les liens pour télécharger directement les exécutable du plugin flash depuis le site d'Abobe :

Windows
Mac OsX
Linux (ce sera la dernière version stable)

Voici le lien pour vérifier les dernières versions en date.

EDIT : Voici la page de téléchargement direct du site d'Abobe. Trouvé après la création de ce billet ... T.T

lundi 21 janvier 2013

Remplacer la Freebox par un modem Alcatel Speed Touch Home

Comme avec le SOHO97, le but ici est de configurer un modem Alcatel Speed Touch Home (STH dans la suite) pour se connecter à une ligne dégroupée chez Free. Notons qu'il est nécessaire d'avoir passé le STH en Speed Touch Pro.

Avant de commencer, il faut savoir que Free utilise de l'IPoA, c'est-à-dire où IP est encapsulé directement dans ATM. L'encapsulation utilisée est VC-MUX. Or, même si le STH support l'IPoA et le VC-MUX, il ne permet pas d'utiliser les deux à la fois. Heureusement, il existe une version patchée du firmware qui remédie à ce problème. Originalement posté sur Forpage, il est devenu difficile à trouver et il figure en pièce jointe de ce billet.
Attention, deux remarques concernant ce firmware :
- il s'adresse à la version K du STH, pas la version G ;
- il fait disparaître le mode "EXPERT" du STH. Je recommande donc de conserver en passif une version qui autorise ce mode.

La première étape consiste donc à envoyer le nouveau firmware. La manière la plus simple est de passer par l'interface web du modem (http://10.0.0.138/) ; si cela échoue, il reste la méthode du telnet/FTP.

Ensuite, il faut configurer le VP/VC : sur la page "phonebook", supprimer le VP/VC 8/36 et le recréer de type "CIP".
Puis, sur la page CIP, ajouter une interface avec l'adresse IP publique et un masque de 255.255.255.0. Ajouter une connexion CIP utilisant le canal (8/36) créé précédemment, avec comme destination l'adresse IP de la passerelle Free, généralement la dernière adresse du sous-réseau (x.x.x.254)
Il convient ensuite d'ajouter la route suivante :
Destination : 0.0.0.0/0
Source : any
Passerelle : <adresse_IP_passerelle>
Le NAT doit être configuré depuis telnet :

nat enable addr=<adresse_ip_publique> type=pat


D'ailleurs, toute la configuration décrite précédemment est réalisable par telnet :

phonebook delete name=Br2
phonebook add name=cip1 addr=8*36 type=cip
cip ifadd addr=<addresse_IP_publique> netmask=255.255.255.0
cip pvcadd dest=8*36 destaddr=<adresse_IP_passerelle>
ip rtadd dst=0.0.0.0 gateway=<adresse_IP_passerelle>

mercredi 19 décembre 2012

Configurer l'authentification SSH par clé sous CentOS/Redhat 6.*

Il est généralement utile de configurer une machine pour accepter l'authentification SSH par clé. Ce genre d'authentification est assez simple à mettre en place mais dans le cas des dernières versions de Redhat et CentOS, versions 6 et supérieures, il y a quelques petits pièges qui peuvent vite vous faire péter une pile.

Lire la suite...

mardi 18 septembre 2012

Les logiciels Adobe en standalone

Puisque chaque fois que j'en ai besoin je dois faire une recherche Google, voici une bonne fois pour toutes l'emplacement des logiciels Adobe en version offline (standalone) :

ftp://ftp.adobe.com/pub/adobe/reader/

mardi 4 septembre 2012

Désactiver IPV6 sur Debian/Ubuntu

Il arrive que l'on ne souhaite pas avoir d'ipv6 sur une machine ou que ce dernier nous pose des soucis, car un service l'utilise au lieu de l'ipv4. 

Lire la suite...

mardi 28 août 2012

dns2tcp

Petit tutoriel rapide pour installer et configurer un environnement dns2tcp. Juste rapidement, le but de cet environnement est d'utiliser les requêtes DNS pour établir une connexion TCP entre un client et un serveur (très pratique quand seul le DNS est autorisé ... ).

/!\ Ce tuto par d'un VKS tout fraichement installé, mais peut être adapté à tout type d'environnement. /!\

-- Parenthèse

Je passe la configuration du système lui-même mais en profite pour rappeler que pouvoir se connecter en root sur un serveur, c'est pas top, et que laisser des clés SSH d'OVH, ben c'est pas top non plus :

bash ~# cat /etc/ssh/sshd_config
[...]
PermitRootLogin no

bash ~# rm ~/.ssh/authorized_keys2

-- Fin parenthèse

-- Pré-requis

<< un serveur accessible sur Internet (évidemment)

<< un nom de domaine (pour l'exemple : poney.net)

<< le port 53 disponible sur le serveur (si bind est installé par défaut, il faudra arréter le service ou le désinstaller, et certainement modifier la configuration dans /etc/resolv.conf)

-- Fin pré-requis

1) Déjà, un petit update du système ne fait pas de mal

bash ~# aptitude update && aptitude dist-upgrade
[...]

2) Récupérer et compiler dns2tcp

bash ~# aptitude install build-essential
bash ~$ wget http://hsc.fr/ressources/outils/dns2tcp/download/dns2tcp-0.5.2.tar.gz
bash ~$ tar xzf dns2tcp-0.5.2.tar.gz && rm dns2tcp-0.5.2.tar.gz
bash ~$ cd dns2tcp-0.5.2
bash ~$ ./configure && make
bash ~# make install

3) Configuration du DNS

<< Nouvelle entrée pour poney.net.

dnstcp  NS      dnstcp.poney.net.
dnstcp  A       @IP_Serveur

<<

4) Confiugration et lancement du service

Plusieurs mode de fonctionnement sont configurables avec dns2tcp, nous allons voir comment configurer un tunnel SSH (pour plus d'informations : http://hsc.fr/ressources/outils/dns2tcp/download/README).

bash ~# mkdir /var/dns2tcp

bash ~# cat /etc/dns2tcp.conf
# listen = 0.0.0.0
port = 53
user = nobody
domain = dnstcp.poney.net
chroot = /var/dns2tcp
key = macleavecpleindecaracteresquiveulentriendiredjizeojzeoi23E3EZDKJoczhir
ressources = ssh:127.0.0.1:22

bash ~# /usr/local/bin/dns2tcpd -f /etc/dns2tcp.conf -d 1

-- Script à appeler depuis un cron pour vérifier que le service tourne bien

bash ~# cat test_services.sh
if [ `pidof dns2tcpd` ]
then
echo "[+] dns2tcp OK"
else
echo "[-] dns2tcp KO"
echo "[-]  * kill processus (just to be sure)"
killall dns2tcpd
echo "[-]  * laucnh daemon"
/usr/local/bin/dns2tcpd -f /etc/dns2tcp.conf -d 1
echo "[+] dns2tcp OK"
fi

bash ~# crontab -l
*/1 * * * *     /bin/bash /root/test_services.sh &> /dev/null

-- Fin script

5) Configuration du client

<< Même étape que la 2) pour la compilation

bash ~$ dns2tcpc -z dnstcp.poney.net -r ssh -k macleavecpleindecaracteresquiveulentriendiredjizeojzeoi23E3EZDKJoczhir -l 4443 &
bash ~$ ssh -D 1234 -p 4443 user@localhost

L'option -D 1234 permet de créer un proxy SOCKS4/5 en local sur le port 1234, qui utilisera automatiquement la connexion SSH comme tunnel.

lundi 20 août 2012

Cntlm Authentication Proxy

Cntlm est un utilitaire permettant de s'authentifier auprès d'un proxy.

Une fois l'utilitaire installé (téléchargeable ici), il faut modifier le finir cntlm.ini :

Username	identifiant_AD
Domain		nom_domaine
Auth		mode_auth
PassNTLMv2	hash_trouvé
Proxy		ip_proxy:port_proxy
Listen		3128
SOCKS5Proxy	8010

Il est possible de remplir le fichier cntlm.ini avec votre mot de passe de domaine en clair, mais il est préférable de le laisser vide et d'utiliser cntlm pour récupérer la méthode d'authentification de votre AD ainsi que le hash de votre mot de passe. Il suffit d’exécuter la commande suivante dans le dossier de cntlm

cntlm -I -M http://test.com
Config profile  1/11... OK (HTTP code: 200)
Config profile  2/11... OK (HTTP code: 200)
Config profile  3/11... OK (HTTP code: 200)
Config profile  4/11... OK (HTTP code: 200)
Config profile  5/11... OK (HTTP code: 200)
Config profile  6/11... Credentials rejected
Config profile  7/11... Credentials rejected
Config profile  8/11... OK (HTTP code: 200)
Config profile  9/11... OK (HTTP code: 200)
Config profile 10/11... OK (HTTP code: 200)
Config profile 11/11... OK (HTTP code: 200)
----------------------------[ Profile  0 ]------
Auth            NTLMv2
PassNTLMv2      4AC6525378DF8C69CF6B6234532943AC
------------------------------------------------

Il suffit alors de rajouter les 2 lignes dans le fichier cntlm.ini.

On peut ensuite configurer Putty pour utiliser cntlm :
Dans l'onglet Connexion/proxy :
proxy type : SOCKS 5
proxy hostname : 127.0.0.1
port : 8010

jeudi 2 août 2012

Linux Mint Live en PXE par NFS

Il est possible, très simplement, de démarrer la distribution Linux Mint depuis un serveur PXE. Cette façon de faire peut être adaptée à d'autres distributions, elle est d'ailleurs inspirée de celle d'Ubuntu (d'où est tirée Mint).

mount -o loop linuxmint-13-mate-dvd-64bit.iso /media/imagecd
mkdir /tftpboot/mint
cp -r /media/imagecd/casper /tftpboot/mint/
umount /media/imagecd
  • Rendre ce répertoire accessible en NFS. Pour cela, installer le serveur NFS et ajouter une ligne d'export au fichier /etc/exports :
apt-get install nfs-kernel-server
echo '/tftpboot/mint *(ro,no_root_squash,no_subtree_check,async)' >> /etc/exports
/etc/init.d/nfs-kernel-server restart
  • Ajouter une entrée dans le fichier <racine TFTP>/pxelinux.cfg/default. Pour ma part j'ai aussi passé l'OS en français :
LABEL mint
     MENU LABEL Mint Live (NFS)
     KERNEL mint/casper/vmlinuz
     APPEND initrd=mint/casper/initrd.lz boot=casper netboot=nfs nfsroot=192.168.1.1:/tftpboot/mint locale=fr_FR keymap=fr console-setup/layoutcode=fr



Mise à jour (21/11/2012) : le réseau fonctionne sous Linux Mint 13, mais plus sous Mint 14. Il faut alors redemander une IP :

sudo dhclient eth0

samedi 7 juillet 2012

Installer Windows depuis un serveur PXE Linux

Voyons comment installer Windows depuis un démarrage PXE. Ceci revient en fait à lancer l'installation de Windows (7 par exemple) depuis un environnement WinPE personnalisé de la manière suivante :
- intégration du pilote Realtek Gigabit PCIe, de plus en plus répandu et indispensable pour lancer l'installation par le réseau ;
- une fois WinPE chargé, montage du media en CIFS contenant le répertoire "source" du média d'installation et lancement de l'assistant.

Lire la suite...

jeudi 5 juillet 2012

Utilisateurs et domains virtuels avec Postfix et Dovecot

Dans un article précédent, j'ai expliqué comment mettre en place un serveur de messagerie. Nous allons ici ajouter un support MySQL pour profiter des alias et domaines virtuels; mais aussi de l'authentification basée dessus.

Lire la suite...

lundi 2 juillet 2012

Serveur mail avec Postfix et dovecot

Nous allons mettre en place un serveur mail relativement basique avec pour MTA Postfix et MDA Dovecot. L'accès à la boite mail se fera par un client lourd (genre thunderbirds) via IMAP/IMAPS avec une authentification sasl/Plain/TLS pour s'y connecter de n'importe où. Les utilisateurs seront les utilisateurs du serveurs de messagerie.

Lire la suite...

jeudi 28 juin 2012

Vmware tools pour Ubuntu (et d'autres systèmes :p)

Installer les vmwares tools sur un host linux se résume généralement à monter l'iso fournis avec l'hyperviseur et faire l'installation à la main. Mais il existe une autre solution : les paquets :)

Lire la suite...

vendredi 13 avril 2012

Remplacer la Freebox par un routeur Cisco SOHO 97

Voici une configuration possible du Cisco SOHO97 pour se connecter sur une ligne ADSL Free en dégroupage total (donc en IPoA). On y voit la configuration de l'encapsulation des VP/VC 8/36, l'adressage fixe (le DHCP ne fonctionne qu'avec certaines versions d'IOS) et le NAT. On peut aussi ajouter des redirectiosn de ports.

Attention toutefois, le SOHO97 ne fait pas d'ADSL2+, seulement de l'ADSL. Sur une ligne de piètre qualité (2,5 km), je perds environ 26 % de débit en download, 14 % en upload et 20 ms de ping, ce qui est énorme.

interface Ethernet0
 ip address 192.168.1.254 255.255.255.0
 ip nat inside
 hold-queue 100 out
!
interface ATM0
 no ip address
 no atm ilmi-keepalive
 no atm address-registration
 no atm ilmi-enable
 dsl operating-mode auto
!
interface ATM0.1 point-to-point
 ip address <adresse_ip_publique> 255.255.255.0
 ip nat outside
 pvc 8/36
  encapsulation aal5mux ip
 !
!
ip nat inside source list 1 interface ATM0.1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 ATM0.1
ip http server
no ip http secure-server
!
access-list 1 permit 192.168.1.0 0.0.0.255

Débit montant : 107,6 ko/s avec la Freebox ; 92,7 ko/s avec le SOHO97. (envoi en FTP de 32768.rnd vers un FTP Free)
Débit descendant : 380 ko/s avec la Freebox ; 281 ko/s avec le SOHO97. (wget http://test-debit.free.fr/32768.rnd)
Ping : 20,4 ms avec la Freebox, 39,6 ms avec le SOHO97. (ping -f <ip_passerelle> pendant une minute)

jeudi 2 février 2012

Serveur VPN PPTP

Ce mécanisme se base sur un tunnel GRE au travers de TCP pour encapsuler des paquets PPP dans le but de former un réseau virtuel privé. Pour ce faire, le client ouvre un tunnel avec le serveur sur le port 1723. Une fois la liaison établie, il ouvre un second tunnel dans le premier en utilisant le protocole GRE (port 47) pour faire transiter les informations.

Assez ancien et non standardisé, il est reconnu comme vulnérable, mais il a l'avantage d'être utilisable nativement dans la plupart des OS (plus d'information sur cette page).

Donc tenez vous le pour dit, ce n'est pas ce qui se fait de mieux en VPN, mais ça peut servir.

Lire la suite...

vendredi 20 janvier 2012

Ouvrir une session sous Windows 7 sans mot de passe

Le saviez-vous ? Il est possible de créer un compte administrateur sur Windows 7, sans avoir à ouvrir de session (donc sans connaître le mot de passe admin).
En effet sur l'écran d'ouverture de session figure un bouton "Options d'ergonomie" qui démarre %windir%\system32\utilman.exe en administrateur. Il suffit donc, depuis un liveCD, de remplacer cet exécutable par cmd.exe puis redémarrer, pour qu'un clic sur le bouton "Options d'ergonomie" démarre une invite de commande à partir de laquelle on peut exécuter une MMC pour aller créer un deuxième compte administrateur.

mardi 6 septembre 2011

Webmin

Webmin est l’une des plus connues des interfaces web d’administration.

Elle s’installe facilement sous Debian puisqu’il existe des dépots APT.

Ainsi, il suffit d’ajouter les dépots au fichier "/etc/apt/sources.list":

deb http://download.webmin.com/download/repository sarge contrib

deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

puis d’ajouter la clé GPG du créateur de Webmin :

wget http://www.webmin.com/jcameron-key.asc

apt-key add jcameron-key.asc

et ensuite d’installer le paquet :

apt-get update

apt-get install webmin

L’interface d’administration est alors disponible à : https://serveur:10000. Seul l’utilisateur « root » à accès au début, mais il est possible d’aller dans les paramètres de Webmin et d’ajouter des utilisateurs, voir de synchroniser automatiquement la création d’utilisateurs Webmin lors de la création d’utilisateurs Linux.

- page 2 de 4 -