lundi 25 juin 2012

OpenVZ Ubuntu Iptables problèmes de modules

Je rencontre toujours ce problèmes lorsque j'utilise Iptables sur un VE avec les templates Ubuntu, pas avec les Debian.
Il manque les modules nécessaires.

Starting Shorewall....

FATAL: Could not load /lib/modules/2.6.32-4-pve/modules.dep: No such file or directory
FATAL: Could not load /lib/modules/2.6.32-4-pve/modules.dep: No such file or directory
FATAL: Could not load /lib/modules/2.6.32-4-pve/modules.dep: No such file or directory
done.

C'est normal puisqu'on ne peut pas charger de modules dans un container mais comment faire ?


Tout d'abord et passer les modules au VE, soit en modifiant le fichier de configuration /etc/vz/conf/100.conf pour le VE 100 soit en passant les paramètres
IPTABLES="ip_tables iptable_filter iptable_mangle ipt_limit ipt_REJECT ipt_length ip_conntrack ipt_state "
ou 
vzctl set 100 --iptables iptable_filter --iptables ipt_length --iptables ipt_limit --iptables iptable_mangle --iptables ipt_REJECT--iptable ipt_state --iptables ipt_conntrack --save


Quelque soit votre choix, il faudra redémarrer le VE.


Ensuite revérifier les modules
depmod -a 


Après je sais pas si c'est très orthodoxe je crée les répertoires manquants :
mkdir /lib/modules/2.6.32-4-pve


Je redemarre iptables et ça fonctionne.

mercredi 20 juin 2012

Zabbix 2.0 modification du script initialisation

Je viens d'installer Zabbix 2.0, sympa.
Je l'ai pas encore tester, l'interface est un peu plus sympa.

Juste un petit souci au démarrage de zabbix_server et zabbix_agent.

Au démarrage ils ne se réfèrent pas au fichier de conf placé dans c:\etc\zabbix\ et utilise les paramètres par défaut particulièrement le fait de mettre les logs dans /tmp

Pour utiliser son fichier de configuration modifier le fichier init.

Ajouter au /etc/init.d/zabbix-server

CONF="--config /etc/zabbix/zabbix_server.conf"

case "$1" in
  start)
    log_daemon_msg "Starting $DESC" "$NAME"
        start-stop-daemon --oknodo --start --pidfile $PID \
          --exec $DAEMON -- $CONF < /dev/null &> /dev/null 
    case "$?" in
        0) log_end_msg 0 ;;
        *) log_end_msg 1; exit 1 ;;
    esac
        ;;

Idem pour le zabbix-agent.

Attention il y a bien un espace entre -- et $CONF

lundi 18 juin 2012

Nginx reverse proxy avec SSL


Nginx est toujours plus populaire et est utilisé comme : serveur HTTP bien sûr, reverse proxy avec ou sans cache, réécriture d’URL, de protéger et masquer son infrastructure.

Dernièrement, je l'ai utilisé comme reverse proxy afin de regrouper sur un même adresse IP plusieurs sites web (plusieurs serveurs et technos : IIS, Apache, Tomcat) et de préparer une future migration de data center.

Utilisé comme reverse proxy la config est très simple.

Sous Debian télécharger la dernière version.


Ajouter à  /etc/apt/sources.list
deb http://nginx.org/packages/debian/ squeeze nginx 
deb-src http://nginx.org/packages/debian/ squeeze nginx


Puis installer nginx et openssl
apt-get install nginx openssl

Configurer nginx

/etc/nginx/nginx.conf

user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
server_names_hash_bucket_size 64;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
send_timeout 5m;
}

Créer le site 

dans /etc/nginx/sites-available
server {
listen 80;
server_name www.nomdusite.com *.nomdusite.com nomdusite.com;
access_log /var/log/nginx/nomdusite .com.log;
error_log /var/log/nginx/nomdusite .com.error.log notice;
location / {
proxy_pass http://www.nomdusite.com;
}
}

J'ai déclarer dans le /etc/hosts l'adresse privée de nomdusite.com
192.168.0.1 www.nomdusite.com

Utiliser SSL

Pour gérer le reverse proxy avec SSL

Créer  une répertoire contenant le certificat SSL.
mkdir -p /etc/nginx/ssl/nomdusite
cd /etc/nginx/ssl/nomdusite

Générer le certificat SSL à faire signer par une autorité de confiance.
openssl req -new -newkey rsa:2048 -nodes -keyout nomdusite.com.key -out nomdusite.com.csr

Copier le contenu du fichier nomdusite.com.csr au près de votre CA, dans mon cas Godaddy.

Récupérer le certificat nomdusite.com.crt et déclarer le dans la configuration de Nginx avec la clé nomdusite.com.key obtenue lors de la génération du fichier csr.

server {
listen 443;
ssl on;
server_name www.nomdusite.com *.nomdusite.com nomdusite.com;
ssl_certificate /etc/nginx/ssl/nomdusite/nomdusite.com.crt;
ssl_certificate_key /etc/nginx/ssl/nomdusite/nomdusite.key;
access_log /var/log/nginx/nomdusite .com.log;
error_log /var/log/nginx/nomdusite.com.error.log notice;
location / {
proxy_pass https://www.nomdusite.com:443;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Il est parfois nécessaire de chaîner les certificats, je vous renvoi à la documentation de Nginx.


Pour tester la syntaxe de la configuration de nginx :
nginx -t

Pour activer le site, créer un alias dans /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/nomdusite.com /etc/nginx/sites-enabled/nomdusite.com

Puis ensuite pour appliquer la nouvelle configuration :

/etc/init.d/nginx reload

vendredi 15 juin 2012

Nobel pour Linux


Nobel de technologie pour Linus Torvalds, partage avec Shinya Yamanaka pour son travail sur les cellules souches.

Je trouve ca formidable et remercie Linus sans qui beaucoup de choses n'aurait pas été possible, l’informatique moderne, mon métier et ma passion.
Je me souviens de mon premier Mandrake puis Debian et de Ubuntu, hedgedog je crois.

Incroyable d'avoir crée tout ce pan de l'informatique d'aujourd'hui.
Bravo aussi bien a Andrew Tanenbaum et a son Minix qui reprit par Linus donne naissance a Linux et inaugure ce fameux gout pour les jeux de mots douteux que l'on retrouve avec Linux, les commandes : cat/tac, more/less et j'en oublie.
Merci aussi a Richard Stallman et a la philosophie du libre : nous ne voulons pas des free beer ! Quoique.

Sans être un gourou ou un fanatique de Linux, je suis content de voir Linux récompensé cela prouve que l'on peut faire de grande chose sans un avoir a payer des $$$ en marketing ou en certifications... (même si Redhat et consort, bof bof, d'ou le débat Linux/Open source, ....)

Merci d'avoir ouvert une porte et laisser entrer qui veut.
Je pense toujours que les autres finiront par s’effondrer, on ne peut pas tout emprisonner.


Un entretien a la BBC

Pour Linux et Linus, hip hip hip. Hourra.

lundi 4 juin 2012

Convertir Windows physique vers Windows virtuel


Comment convertir un Windows physique vers une machine virtuel KVM, avec Proxmox, bien évidement.

C'est simple mais réserve quelques surprises.

J'ai suivi la procédure Selfimage car cela évite d'immobiliser le serveur.

Appliquer le patch mergeide.reg pour mettre à jour les drivers auparavant.

Mais malgré tout au 1er boot, blue screen of the death erreur 0x07B signifiant que Windows n'a pas les drivers pour accéder au disque.

Solution : la toolbox de l'adminsys : Hiren'CD Boot.

Boot dessus et mise à jour de Windows à l'aide l'utilitaire fix_hdc.
Parfait ça fonctionne Windows, boot et ............. autre BOD 0x000000CE

Oups !!!

En fait c'est simple Windows essaye de charger les pilotes d'un dispositif qui n'existe plus.
Regarder bien le driver mentionné lors du BOD.
Par exemple  : processr.sys

Redémarrer le Windows en mode sans échec, ouvrer regedit aller chercher la valeur correspondante :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Processor

Et changer la valeur start à 4 pour ne pas le charger.

http://msdn.microsoft.com/en-us/library/windows/hardware/ff560226(v=vs.85).aspx