Catégorie : Réseau

3 novembre 2015 /

Voici une petite commande pour débugger un serveur Apache. Elle fait un strace sur tous les processus Apache qui tournent sur la machine. Vous pourrez facilement identifier les nœuds d’étranglement avant une mise en production, ou détecter une procédure qui bloque.

Pour une distribution RPM :

ps awux | grep sbin/httpd | awk '{print"-p " $2}' | xargs strace -f

Pour une distribution Debian, (« apache » au lieu de « httpd »):

ps awux | grep sbin/apache | awk '{print"-p " $2}' | xargs strace -f

 

28 octobre 2015 /

On se retrouve assez souvent dans des environnements utilisant des proxy avec authentification pour encadrer la façon dont les utilisateurs du réseau local (donc moi du coup) vont sur le net.

Cela peux poser un problème notamment pour Yum qui ne pourra pas accéder aux différents miroirs sur internet, Up2date pour enregistrer son RedHat sur le RHN ou encore Wget.

 

Pour Up2date, il faut éditer le fichier /etc/sysconfig/rhn/up2date:

vi /etc/sysconfig/rhn/up2date

Puis on change la valeur de ce paramètre:
enableProxy=0

en ça:
enableProxy=1

On renseigne l’Url du serveur faisant office de proxy, dans le format « machine:port »:

httpProxy=serveur.proxy:8080

Si le proxy demande une authentification, on place le paramètre « enableProxyAuth » à 1:

enableProxyAuth=1

Il faudra alors renseigner les paramètres suivants:
proxyPassword=
proxyUser=

Une fois cela terminé on sauvegarde son fichier (:wq!).

 

Pour Yum, il faut aller modifier son fichier de configuration /etc/yum.conf:

vi /etc/yum.conf

Et on y ajoute cela:

proxy=http://nom_ou_adresse_ip_du_proxy:port/
proxy_username=login #si besoin d'authentification
proxy_password=pwd #idem

Vous devriez maintenant pourvoir faire un « yum update ».

 

Pour Wget, il faut aller modifier son fichier de configuration /etc/wgetrc et renseigner/décommenter les champs proxy suivant:

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
https_proxy = "http://nom_ou_adresse_ip_du_proxy:port/"
http_proxy = "http://nom_ou_adresse_ip_du_proxy:port/"
ftp_proxy = "http://nom_ou_adresse_ip_du_proxy:port/"

Si le proxy demande un mot de passe, on le déclare comme ça:
http_proxy="http://login:password@nom_ou_adresse_ip_du_proxy:port"

Pour finir, on va mettre l’option suivante sur on:

# If you do not want to use proxy at all, set this to off.
use_proxy = on

Wget est maintenant opérationnel derrière le proxy.

Vous pouvez aussi le déclarer dans son ~/bashrc:

http_proxy=http://nom_ou_adresse_ip_du_proxy:port
export http_proxy

22 octobre 2015 /

Lsof (List Open file) est une commande Unix/Linux qui permet de lister les fichiers actuellement ouverts sur le système.

Utilisation de commande lsof :
lsof /chemin/d'un/fichier (pour voir qui ou quoi ouvre actuellement le fichier)
lsof +D /chemin/répertoire/ (pour voir qui ou quoi ouvre actuellement les fichiers d'un répertoire )
lsof -i (tous services internet TCP/UDP)
lsof -i tcp (tous services TCP)
lsof -i udp (tous services UDP)
lsof -i tcp:80 (services TCP sur port 80)
lsof -i @192.168.2.10 (liaison internet de mon poste avec 192.168.2.10)

Afficher les fichiers ouverts par un processus (uid):

lsof -p 75014

Afficher les connexions internet ouvertes par un processus :

lsof -i -p 75014

Pour connaître tous les ports réseau ouvert par le processus qui a le pid 75014 (-a est interprété comme AND)

lsof -i -a -p 75014

La forme suivante de la commande permet de connaître tous les fichiers ouverts par l’utilisateur starmate:

lsof -u starmate

La même chose mais cette fois cela concerne tous les utilisateurs sauf starmate:

lsof -u ^starmate

L’option « -t » permet de retourner dans la sortie standard uniquement l’uid du/des processus ouvrant le/les fichier(s), il est simple par la suite de l’exploiter avec une petite boucle:

for i in `lsof -t -u starmate`; do kill -9 $i; done

Pour identifier les processus en cours d’exécution qui ont gardés ouvert des fichiers qui ont été supprimés:

lsof +L1

Les processus qui n’ont pas libérés les fichiers supprimés sont identifiés avec l’argument (deleted) en fin de ligne.

12 octobre 2015 /

Pour copier le fichier /home/starmate/message.txt de la machine Starwold dans mon répertoire courant:

scp starmate@starworld:/home/starmate/message.txt .

Pour déposer le fichier messages.txt sur la machine Starwold dans /home/starmate/:

scp message.txt starmate@starworld:/home/starmate/

Pour déposer le répertoire Messages sur la machine Starwold dans /home/starmate/:

scp -r Messages starmate@starworld:/home/starmate/

Pour copier un fichier d’un ordinateur vers un autre tout en étant sur un troisième ordinateur:

scp starmate@starworld:/home/starmate/message.txt lamnam@starfky:home/lamnam/

Pour changer le port SSH si le port par défaut a été changé (22):

scp -P 1234 message.txt starmate@starworld:/home/starmate/

9 octobre 2015 /

Un bug est présent sur Ubuntu, vous faisant perdre votre connexion réseau lors d’une sortie de mise en veille.
Pour résoudre ce problème, il suffit de redémarrer le service network-manager:

sudo service network-manager restart