mercredi, 12 mai 2010

SSVNC : VNC avec support SSH

Voila quelques temps que j'utilisais mon serveur SSH pour faire passer un peu tout et n'importe quoi à travers un flux chiffré. Pour le cas des sessions VNC (comme présenté dans un article précédent) l'action était quelque peu laborieuse car necessitant la redirection port par port.

C'est donc avec plaisir que je suis tombé aujourd'hui sur ce merveilleux utilitaire; j'ai nommé SSVNC. Il s'agit d'un client VNC supportant des configurations telles que les proxies HTTP/SOCKS4 et SOCKS5. Je vous laisse donc imaginer toutes les choses merveilleuses que l'on peut faire avec.

à titre d'exemple voici la configuration à mettre en oeuvre pour un usage via un proxy socks5:

  • dans le champ VNC Host:Display; saisissez l'adresse de la machine que vous souhaitez contacter.
  • dans le champs proxy gateway; saisissez l'adresse du proxy à utiliser.

S'agissant d'un proxy socks5 et au regard de la documentation fournie la ligne à saisir est la suivante:

socks5://127.0.0.1:1080

Il faut ensuite décocher l'option :

None

Voila en espérant avoir pu vous apprendre un p'tit truc sympa, enjoy !

Liens connexes

vendredi, 16 avril 2010

Xorg 1.8 et drivers Nvidia 195.36.15

A l'heure ou j'écris ce billet, je viens tout juste de migrer vers la version 1.8 de Xorg et j'ai rencontré quelques petits soucis. Voici donc la configuration fonctionnelle chez moi.

Noyau : 2.6.33-gentoo

Xorg-server : 1.8

NVidia-drivers : 195.36.15

Dans le fichier /etc/X11/xorg.conf, ajouter la ligne suivante dans la section ServerFlags (Merci Rosiel ;))

Option "IgnoreABI" "On"

Actuellement aucun pilote propriétaire NVidia n'est disponible pour xorg-server-1.8

flopc ~ # emerge -pv nvidia-drivers

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     UD] x11-apps/xinit-1.2.1 [1.2.1-r1] USE="minimal pam -debug" 0 kB
[ebuild     UD] x11-base/xorg-server-1.7.6 [1.8.0] USE="nptl sdl%* xorg -debug% -dmx -hal -ipv6 -kdrive -minimal -tslib (-doc%*) (-static-libs%) (-udev%*)" 0 kB
[ebuild   R   ] x11-drivers/nvidia-drivers-195.36.15  USE="acpi gtk -custom-cflags (-multilib)" 0 kB

Total: 3 packages (2 downgrades, 1 reinstall), Size of downloads: 0 kB
flopc ~ #

Il faut donc éditer l'ebuild afin de supprimer la dépendance gênante et remplacer la ligne <x11-base/xorg-server-1.7.99 par <x11-base/xorg-server-1.9.

flopc ~ # sed -i -e 's/1.7.99/1.9/' /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-195.36.15.ebuild

On reconstruit l'empreinte de l'ebuild modifié:

flopc ~ #ebuild /usr/portage/x11-drivers/nvidia-drivers/nvidia-drivers-195.36.15.ebuild digest
>>> Creating Manifest for /usr/portage/x11-drivers/nvidia-drivers
flopc ~ #

Sans cela, chaque nouvelle compilation de votre pilote nvidia (du moins pour la version 195.36.15) forcera un downgrade de votre serveur graphique. Voila à présent le problème de dépendance résolut. Enjoy

flopc ~ # emerge -pv nvidia-drivers
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-drivers/nvidia-drivers-195.36.15  USE="acpi gtk -custom-cflags (-multilib)" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
flopc ~ #

mercredi, 31 mars 2010

Synchronisation de l'heure

Plutôt un mémo qu'autre chose étant donné que l'information traîne partout sur le net; voici comment synchroniser votre machine avec un serveur de temps. La configuration du temps sur une machine se fait à deux niveaux:

  • Le niveau système
  • Le niveau matériel

Synchronisation au coup par coup

Voyons à présent comment mettre rapidement à jour notre machine.

1ère méthode

la commande ntpdate vise à synchroniser l'heure système. La syntaxe est ainsi:

flopc ~ # ntpdate unserveur.de.temps.com

Vous trouverez ici une liste de serveur de temps français http://www.cru.fr/services/ntp/serveurs_francais

La commande hwclock quand à elle, permet de fixer l'heure système. La syntaxe est :

flopc ~ # hwclock --systohc

Cette commande vise à synchroniser l'heure matérielle sur l'heure système que nous venons tout juste de mettre à jour. Voila, votre machine est à présent synchronisée.

2ème méthode

Je place en deuxième position cette méthode car je ne suis pas parvenu à trouver la commande sous Ubuntu par exemple voici donc la méthode de faignant qui regroupe les deux actions en une seule commande :-)

flopc ~ # ntpclockset unserveur.de.temps.com

exmple:

flopc ~ # ntpclockset 192.168.10.1
>>> Current clock sync:
before: 2010-03-31 22:43:40.040632000000000000
after:  2010-03-31 22:43:40.072847596892498433

>>> Now setting clock ...   [ok]
>>> Writing time to hardware clock ...   [ok]

>>> New clock sync:
before: 2010-03-31 22:43:42.515547000000000000
after:  2010-03-31 22:43:42.515603280360944568
flopc ~ # 

Synchronisation au quotidien

C'est bien joli tout ça mais on envisage mal aller régulièrement sur le serveur pour effectuer la synchronisation. c'est maintenant qu'entre en jeu le daemon ntp, j'ai nommé ntpd. Cette méthode est bien évidement la plus pratique et recommandée à mettre en œuvre.

Il vous suffira donc d'installer le package correspondant à votre distribution. D'une manière générale j'ai pu observer que les installations par défaut définissaient des serveurs de temps à interroger. La configuration du serveur de temps est définie dans le fichier ntp.conf dans le répertoire /etc. C'est dan ce même fichier que vous allez préciser les serveurs de temps que votre client devra interroger afin de se synchroniser.

Si le fonctionnement du protocole NTP ainsi que la mise en œuvre de son architecture vous intéresse, je ne peux que vous conseiller l'excellent article présentant ce dernier sur Wikipédia.

Liens connexes:

mardi, 4 août 2009

[awk] parser /etc/services

Je cherchais un moyen de mettre en forme un script qui interrogeais mon fichier /etc/services voila donc une petite ébauche. Ce script utilise la commande awk d'une façon primaire mais introduit une syntaxe relativement pratique au quotidien.
on distingue, dans notre cas, deux parties. La première délimitée par des // contient une occurrence que nous cherchons. il est à noter que ce champ supporte les expressions régulières et est donc hautement configurable en fonction de votre besoin.
La deuxième partie de la commande permet de mettre en forme la sortie de la commande.
Maintenant que nous avons vu un peu comment était constitué la sytanxe de la commande awk passons au script.

#!/bin/sh
 
# emplacement du fichier services
FILE="/etc/services"
 
# numéro du port ou nom du service
PORTNUMBER="$1"
 
awk '/\t'$1'\/|^'$1'/{print "service = "$1; print "port/type = "$2;$1 = "";$2 = "";print "Description = "$0;print ""}' $FILE

me reste a régler quelques petits truc mais ça fonctionne plutôt bien :

flopc sh # ./services_parser.sh ssh
service = ssh
port/type = 22/tcp
Description =   # SSH Remote Login Protocol

service = ssh
port/type = 22/udp
Description =  

flopc sh # ./services_parser.sh 21 
service = ftp
port/type = 21/tcp
Description =   # File Transfer [Control]

service = ftp
port/type = 21/udp
Description =   fsp fspd

Il est bien sûr évident que ceci ne constitue qu'une infime partie de la puissance d'awk qui est à lui seul un véritable langage de développement. En espérant que ce petit aperçu vous aura donné envie d'approfondir la connaissance de ce merveilleux outil.

liens connexes:

http://www.linux-pour-lesnuls.com/gawk.php
http://www.waterproof.fr/products/PHPEdit/manual/fr/module.FindRegExp.html
http://www.wagoneers.com/UNIX/AWK/awk.html
http://www.info.univ-angers.fr/aides/tutawk.html

vendredi, 6 mars 2009

Utiliser la RAM pour stocker vos fichiers d'échange.

Présentation

L'objectif ici est d'optimiser les temps d'accès aux données pour les fichiers temporaires en utilisant la RAM pour stocker ces fichiers. Nous allons donc allouer une partie de la RAM présente sur notre machine, un système de fichiers permettant cela: tmpfs.

Lire la suite...

dimanche, 1 février 2009

Une connexion à distance SSH ?

"Dis Flo, je voudrais me connecter à distance sur mes VM, j'ai bien réussi à installer un VPN via OpenVPN, mais pas toujours pratique, tu connaitrais pas un moyen pour le faire ? Quoi ? SSH ? Oula qu'est-ce que c'est donc ! Et sur du Linux ?! Mince alors... va falloir que j'installe une VM Linux alors ! Bon bah c'est partit !"

Lire la suite...

samedi, 13 décembre 2008

[ VLC ] Streaming de Bureau

Une petite méthode sympa afin d'afficher de façon distante un bureau via VLC

Lire la suite...

mardi, 21 octobre 2008

Tips & tricks

Tips & tricks supprimer les fichiers les plus gros d'un répertoire /// for i in `du -a /media/data | sort -n -r | head -n 20 | cut -d'/' -f2-`; do if [ ! -d /$i ]; then ls -l /$i;rm -i /$i; fi; done /// Suite au commentaire de lone wolf voici une commande beaucoup plus élégante /// find ./ -maxdepth 1 -type f -printf "%b\t%p\n" \ | sort -n -r | head -n 20 | cut -f 2 | xargs rm -v ///

mardi, 26 août 2008

recuperer les fichiers les plus gros d'un système linux

Il est souvent utile de récupérer la liste des fichiers les plus gros dans une arborescence linux. Voici donc une commande permettant d'afficher les 10 fichiers les plus gros d'un système.

du -a / | sort -n -r | head -n 10

Afin d'obtenir un affichage plus facile à interpréter on peut utiliser la commande suivante.

du -ks /var | sort -n -r | head -n 10

Liens connexes

lundi, 19 mai 2008

SSH et authentification forte

Aujourd'hui au cours d'un entretien pour un stage en entreprise on m'a demandé si j'avais déjà mis en place un serveur ssh avec un système d'authentification dite forte; basé sur une passphrase...

Lire la suite...

mercredi, 9 avril 2008

Packager depuis les sources d'un fichier

Un petit rappel sur comment générer un fichier .deb à partir des sources d'un fichier

Lire la suite...

lundi, 17 mars 2008

Ethernet Bonding ou comment rendre votre serveur plus disponible

Voila comment mettre en place un bonding d'interfaces sous linux avce un switch supportant les Port trunk

Lire la suite...

mardi, 11 mars 2008

VirtualBox et VM bridgés

Après moultes recherches; la réponse m'est tombé du ciel (un grand merci à piti ) donc pour mémoire je m'empresse de poster cette config qui a fonctionné chez moi.

Alors voici la procédure à suivre pour créer une interface virtuelle bridgée sur l'interface réseau de votre machine hôte.

Cas de figure

Vous venez de vous lancer dans la fabuleuse aventure qu'est la virtualisation et vous souhaitez connecter vos machines virtuelles à votre réseau local et à internet par la même occasion.

Un peu de recul

Bon nous venons donc brièvement d'évoquer nos besoins. Pour simplifier considérons nos machines virtuelles comme des machines à part entière. Pour interconnecter de vraies machines entre elles nous avons en premier lieu besoin d'un switch, sur lequel nous allons raccorder et le cable de notre connexion internet, et les differents cables reliant les différentes machines de notre réseau local.
Ce qui sans dire trop de bétises a de grande chances de donner quelque chose de ce genre Situation initale Nous venons ici de grandement préciser nos besoins. alors maintenant comment "faire un switch dans mon linux" et "câbler mes VM".
Nous y voici.

rappel de la situation

Nous avons une machine hôte connectée à internet via eth0 dont la configuration fixée dans le fichier /etc/network/interfaces est la suivante :

 auto eth0
 iface eth0 inet manual
 address 192.168.3.2
 netmask 255.255.255.0
 gateway 192.168.3.135

Sur cette machine hôte nous souhaitons lancer un outil de virtualisation et émuler des machines faisant partie du même réseau 192.168.3.0/24

Nous allons pour cela créer des interfaces virtuelles en mode bridged que nous utiliserons ensuite dans VirtualBox. Ces interfaces se nommeront tap1 et tap2. pour se faire; éditez à nouveau le fichier /etc/network/interfaces et ajoutez y les lignes suivantes :

 auto tap1
 iface tap1 inet manual
         tunctl_user florent
 auto tap2
 iface tap2 inet manual
         tunctl_user florent
 auto bridge0
 iface bridge0 inet static
     post-up chmod ugo+rw /dev/net/tun
     address 192.168.3.2
     netmask 255.255.255.0
     gateway 192.168.3.135
     bridge-ports eth0 tap1 tap2
     bridge-ageing 7200
     bridge-fd 0

Nous créons ainsi un pont nommé bridge0 auquel nous allons lier les interfaces Ethernet virtuelles tap1 et tap2

Voici ce que nous avons foncièrement fait : final.png

dimanche, 2 mars 2008

wake-on-lan

Et si on commençait à faire quelques économies d'énergie ... Voici une méthode simple pour démarrer à distance votre machine

La collocation c'est bien... Mais quand votre colocataire a cette fâcheuse manie d'éteindre tout ce qui est allumé (ceci inclus le serveur qui est chez vous...) ça devient vite un peu chiant.

La solution c'est wake-on-lan , ou comment réveiller votre machine à coup d'paquet.

dans un premier temps vérifions que le mode est activé sur la carte : sudo ethtool eth0

si ce n'est pas encore activé

ethtool -s eth0 wol g

Sous linux il semblerait que cela ne soit pas très bien pris en charge et qu'il faille rappeler constamment à la machine de "penser à ne pas éteindre la carte réseau".

Par défaut les paquets sont wake-on-lan sont de type UDP et transitent sur le port 9. ceci est bien évidement variable, ajustable et configurable.

Liens connexes

mercredi, 13 février 2008

firewall piercing

Aujourd'hui nous allons voir comment mettre en place une méthode pour traverser un firewall et ainsi se connecter à son salon irc préféré.

Aujourd'hui nous allons voir comment mettre en place une méthode pour traverser un firewall et ainsi se connecter à son salon irc préféré.

les utilitaires à installer :

tor et privoxy

La version de tor proposée dans les dépôts n'étant pas la dernière on peut cependant la récupérer en ajoutant cette ligne à vos dépôts :

deb     http://mirror.noreply.org/pub/tor <DISTRIBUTION> main
deb-src http://mirror.noreply.org/pub/tor <DISTRIBUTION> main

NOTE : prenez soin de remplacer le champ <DISTRIBUTION> par votre distribution ( gutsy dans mon cas)

récupérez ensuite la clé propre au dépôt :

gpg --keyserver subkeys.pgp.net --recv 94C09C7F
gpg --fingerprint 94C09C7F
gpg --export 94C09C7F | sudo apt-key add -

mettez ensuite la liste de vos dépôts a jour

sudo apt-get update

puis installer les paquets désirés :

sudo apt-get install tor privoxy

Configuration:

Bon et bien en terme de configuration pas grand chose a faire si ce n'est renseigner sur quel port doit ecouter privoxy ainsi que le client pour qu'il utilise le serveur socks local

Editez donc le fichier /etc/privoxy/config et decommentez la ligne :

listen-address  127.0.0.1:8118

décommentez également la ligne

forward-socks4a / localhost:9050 .

Ainsi dans X-Chat par exemple : "Paramètres ⇒ Préférences ⇒ Réseau ⇒ Configuration réseau ⇒ Serveur proxy" et rentrez les parametres suivants

Nom d'hôte : localhost
Port : 9050
Type: Socks5

freenode ayant banni les utilisateurs utilisant tor la parade consiste à se connecter à ce serveur plutôt qu'à irc.freenode.net

/server mejokbp2brhw4omd.onion

Voila vous pouvez maintenant surfer en toute liberté sans vous soucier du pare-feu

L'utilitaire tsocks quand a lui permet d'utiliser les serveur socks de façon plus souple

après avoir édité le fichier /etc/tsocks.conf et remplacer les valeurs comme indiqué :

server = 127.0.0.1
# Server type defaults to 4 so we need to specify it as 5 for this one
server_type = 5
# The port defaults to 1080 but I've stated it here for clarity 
server_port = 9050 

vous pourrez ensuite lancer des commandes du genre

tsocks ssh user@ip

Vous voila a présent totalement libéré du méchant pare-feu

Liens connexes

mercredi, 23 janvier 2008

Parlez moi de températures

Ou comment surveiller les températures, voltage,... de composants comme votre processeur, disques,...

Lire la suite...