Auteur/autrice : starmate

5 mars 2017 /

Un petit mémo pour mettre en place une connexion Openvpn, avec reconnexion auto.

On commence par stocker ses identifiants de connexion ici:

vi /etc/openvpn/starmate.pass

login
passwd

On sécurise le fichier:

chmod 700 /etc/openvpn/starmate.pass

On télécharge les fichiers de configuration de HMA:

mkdir /etc/openvpn/hma
wget -t 3 -T 20 -r -A.ovpn -nd --no-parent -e robots=off https://vpn.hidemyass.com/vpn-config/UDP/ -P /etc/openvpn/hma

On declare où se trouve le couple login/passwd dans les fichiers de configuration openvpn :

sed -i 's/auth-user-pass/auth-user-pass \/etc\/openvpn\/starmate.pass/g' /etc/openvpn/hma/*ovpn

On relance le service

service openvpn stop
service openvpn start

On peut tester la connexion avec cette commande

openvpn /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn

Pour automatiser cela, nous allons faire un petit script pour cron:

vi /etc/openvpn/vpn.sh

#!/bin/bash
VPN=`ifconfig | grep tun0 > /dev/null 2>&1 ; echo $?`
if [ "$VPN" -eq "1" ];
then
openvpn /etc/openvpn/hma/Netherlands.Amsterdam_LOC2S5.UDP.ovpn
fi

chmod +x /etc/openvpn/vpn.sh

Et la ligne crontab pour une exécution toutes les minutes:

vi /etc/crontab

* * * * * root /etc/openvpn/vpn.sh > /dev/null 2>&1

Ou alors, encore mieux, créer un service:

On commence par copier le fichier de connexion désiré dans /etc/openvpn :

cd /etc/openvpn/hma
cp -p /etc/openvpn/hma/Netherlands.Amsterdam.UDP.ovpn /etc/openvpn/Netherlands.conf

Puis on créer le service.

systemctl enable openvpn@Netherlands.service
systemctl start openvpn@Netherlands.service

La partie suivant directement le @, « Netherlands« , est le nom du fichier de connexion que l’on à copié précédemment.

On peut vérifier son adresse publique:

dig +short myip.opendns.com @resolver1.opendns.com

3 mars 2017 /

Pour voir les adresses qui ne répondent pas au ping sur 192.168.0.0/24

Un petit script à faire:

#!/bin/sh
HOST=1
while [ $HOST -lt 255 ];do
ping -q -c 1 -w 1 192.168.0.$HOST > /dev/null
RESULT=$(echo $?)
if [ $RESULT -eq 1 ]; then
printf 192.168.0.$HOST"\n"
fi
HOST=$(expr $HOST + 1)
done

Pour voir les adresses qui répondent au ping sur 192.168.0.0/24

Un petit script à faire:

#!/bin/sh
HOST=1
while [ $HOST -lt 255 ];do
ping -q -c 1 -w 1 192.168.0.$HOST > /dev/null
RESULT=$(echo $?)
if [ $RESULT -eq 0 ]; then
printf 192.168.0.$HOST"\n"
fi
HOST=$(expr $HOST + 1)
done

Sinon via nmap:

nmap -sP 192.168.0.0/24

Et je mets ça ici, c’a peut être utile pour voir les adresses qui ne répondent pas au ping depuis un poste Windaube via powershell:

1..254 | % { if (!(Test-Connection "192.168.0.$_" -Count 1 -Quiet)) {Write-Host "192.168.0.$_"}}

2 mars 2017 /

Voici les principaux raccourcis clavier à connaître pour insérer un caractère spécial.
Il suffit de maintenir la touche ALT puis de saisir le code correspondant au caractère spécial grâce au pavé numérique.

Insérer une majuscule accentuée

  • ALT+128 : Ç (ç cédille majuscule)
  • ALT+181 : Á (á accent aigu majuscule)
  • ALT+143 : Å (å majuscule diacrité d’un rond en chef)
  • ALT+144 : É (é accent aigu majuscule)
  • ALT+146 : Æ (ae collés majuscule)
  • ALT+165 : Ñ (eñe, le n espagnol en majuscule)
  • ALT+212 : È (è accent grave majuscule)
  • ALT+0140 : Œ (oe collés)

Insérer un caractère spécial ou accentué

  • ALT+134 : å (a diacrité d’un rond en chef)
  • ALT+141 : ì (i accent grave)
  • ALT+145 : æ (ae collés)
  • ALT+149 : ò (o accent grave)
  • ALT+152 : ÿ (y tréma)
  • ALT+155 : ø (o barré)
  • ALT+157 : Ø (o barré majuscule)
  • ALT+160 : á (a accent aigu)
  • ALT+161 : í (i accent aigu)
  • ALT+162 : ó (o accent aigu)
  • ALT+163 : ú (u accent aigu)
  • ALT+164 : ñ (eñe, le n espagnol)
  • ALT+166 : ª (a en exposant)
  • ALT+167 : º (le symbole des dégrés)
  • ALT+167 : ¿ (un point d’interrogation inversé)
  • ALT+173 : ¡ (un point d’exclamation inversé)
  • ALT+0156 : œ (oe collés)

Insérer un symbole mathématique

  • ALT+159 : ƒ (fonction)
  • ALT+171 : ½ (un demi)
  • ALT+172 : ¼ (un quart)
  • ALT+241 : ± (plus ou moins)
  • ALT+243 : ¾ (trois quarts)
  • ALT+246 : ÷ (symbole divisé par)
  • ALT+251 : ¹ (1 en exposant)
  • ALT+252 : ³ (3 en exposant)
  • ALT+253 : ² (2 en exposant)
  • ALT+0137 : ‰ (symbole pour mille)

 Insérer une flèche

  • ALT+23 : ↨ (double flèche verticale)
  • ALT+24 : ↑ (flèche vers le haut)
  • ALT+25 : ↓ (flèche vers le bas)
  • ALT+26 : → (flèche vers la droite)
  • ALT+27 : ← (flèche vers la gauche)
  • ALT+29 : ↔ (double flèche horizontale)
  • ALT+16 : ► (grosse flèche vers la droite)
  • ALT+17 : ◄ (grosse flèche vers la gauche)
  • ALT+30 : ▲ (grosse flèche vers le haut)
  • ALT+31 : ▼ (grosse flèche vers le bas)

Insérer un symbole

  • ALT+20 : ¶ (retour chariot)
  • ALT+21 : § (paragraphe)
  • ALT+1 : ☺ (smiley blanc)
  • ALT+2 : ☻ (smiley noir)
  • ALT+3 : ♥ (cœur)
  • ALT+4 : ♦ (carreau)
  • ALT+5 : ♣ (trèfle)
  • ALT+6 : ♠ (pic)
  • ALT+11 : ♂ (homme)
  • ALT+12 : ♀ (femme)
  • ALT+13 : ♪ (note de musique : croche)
  • ALT+14 : ♫ (note de musique : deux croches)
  • ALT+15 : ☼ (soleil)
  • ALT+0128 : € (symbole euro)
  • ALT+0147 : “ (ouverture des guillemets anglais)
  • ALT+0148 : ” (fermeture des guillemets anglais)
  • ALT+0153 : ™ (symbole TM exposant, trademark, marque déposée)
  • ALT+0169 : © (symbole c entouré, copyright)
  • ALT+0174 : ® (symbole R entouré, marque)
20 février 2017 /

Un équivalent de « bash -x » pour Python:

python -m trace -t script.py

11 février 2017 /

Voici comment configurer une agrégation de liens sur les ports Ethernet dans CentOS6 et RH6.
Dans mon cas, j’ai deux cartes (eth0 & eth1) qui formeront une interface d’agrégat (bond0).

L’agrégation peut fonctionner suivant plusieurs modes qui détermineront son fonctionnement:

Mode 0 : Round Robin , équilibrage de charge

La transmission des paquets se fait de façon séquentielle sur chacune des cartes actives dans l’agrégat. Ce mode augmente la bande passante et gère la tolérance de panne.

Mode 1 : Active – passive

Ce mode ne gère que la tolérance de panne. Si une des interfaces est désactivée, une autre du bond prend le relais.

Mode 2 : Balance xor

Une interface est affectée à l’envoi vers une même adresse MAC. Ainsi les transferts sont parallélisés et le choix de l’interface suit la règle : (Adresse MAC de la source XOR Adresse MAC de la destination) modulo nombre d’interfaces.

Mode 3 : Broadcast

Tout le trafic est envoyé par toutes les interfaces

mode 4 : 802.3ad ou LCAP

Ce mode s’appuie sur la norme IEEE 802.3ad Dynamic link aggregation. Toutes les interfaces du groupe sont agrégées de façon dynamique, ce qui augmente la bande passante et gère la tolérance de panne. Cela implique que le switch gère le 802.ad et les interfaces soient compatibles mii-tool et/ou ethtool.

mode 5 : balance-tlb

Adaptive transmit load balancing : seule la bande passante en sortie est load balancée selon la charge calculée en fonction de la vitesse, ceci pour chaque interface. Le flux entrant est affecté à l’interface courante. Si celle-ci devient inactive, une autre prend alors l’adresse MAC et devient l’interface courante.

mode 6 : balance-alb

Adaptive load balancing : ce mode inclut en plus du tlb un load balancing sur le flux entrant et seulement pour un trafic IPV4. L’équilibrage est réalisé au niveau ARP. Le module intercepte les réponses pour y réécrire l’adresse MAC de l’une des interfaces du bond tout en tenant compte des spécificités du protocole ARP. La répartition entre les différentes interfaces, se fait de façon séquentielle ( round robin ).

 

Configuration du noyau via le fichier bonding.conf:

vi /etc/modprobe.d/bonding.conf

 

et on y ajoute cela:

alias bond0 bonding

 

Pour afficher les informations du module d’agrégation:

modinfo bonding

 

Désactivation de NetworkManager:

chkconfig NetworkManager off
service NetworkManager stop


Création de l’interface bond0 :

vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=192.168.122.9
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
TYPE=Bond
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BONDING_OPTS="mode=0 miimon=100"

Le paramètre « BONDING_OPTS » décrit le mode qui sera utilisé.
Dans notre cas, nous avons configuré l’interface pour fonctionner en mode 0 (Round Robin) et nous avons défini la fréquence des MII link monitoring à 100 (en millisecondes).

 

Modification/Création des deux interfaces qui vont être agrégées :

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=52:54:00:2f:e1:87
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
HWADDR=52:54:00:fe:50:1c
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes

Redémarrage du service réseau:

service network restart

Vérification de l’agrégation:

ifconfig

bond0     Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
inet adr:192.168.122.9  Bcast:192.168.122.255  Masque:255.255.255.0
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
RX packets:782 errors:0 dropped:0 overruns:0 frame:0
TX packets:282 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:49341 (48.1 KiB)  TX bytes:31605 (30.8 KiB)

eth0      Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:56921 errors:0 dropped:60 overruns:0 frame:0
TX packets:25795 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:83123782 (79.2 MiB)  TX bytes:1776097 (1.6 MiB)
Interruption:11 Adresse de base:0x8000

eth1      Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:1528 errors:0 dropped:0 overruns:0 frame:0
TX packets:449 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:418511 (408.7 KiB)  TX bytes:106471 (103.9 KiB)
Interruption:10 Adresse de base:0xa000

lo        Link encap:Boucle locale
inet adr:127.0.0.1  Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:3178 (3.1 KiB)  TX bytes:3178 (3.1 KiB)


On peut également voir son bon fonctionnement avec la commande ip:

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe2f:e187/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe2f:e187/64 scope link
valid_lft forever preferred_lft forever
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.9/24 brd 192.168.122.255 scope global bond0
inet6 fe80::5054:ff:fe2f:e187/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever

On peut également afficher les paramètres de l’agrégation, comme le mode utilisé et l’interface esclave:

cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 52:54:00:2f:e1:87
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 52:54:00:fe:50:1c
Slave queue ID: 0

 

Configuration d’un alias ip sur l’agrégation:

cp -p /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/sysconfig/network-scripts/ifcfg-bond0:1
vi /etc/sysconfig/network-scripts/ifcfg-bond0:1

 

Et nous allons adapter les parametres « DEVICE » et « IPADDR » comme ci dessous:

DEVICE=bond0:1
IPADDR=192.168.122.19
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
TYPE=Bond
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BONDING_OPTS="mode=0 miimon=100"

Redémarrez le service réseau:

service network restart

Vérification:

ifconfig

bond0     Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
inet adr:192.168.122.9  Bcast:192.168.122.255  Masque:255.255.255.0
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
RX packets:1298 errors:0 dropped:0 overruns:0 frame:0
TX packets:431 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:78505 (76.6 KiB)  TX bytes:55055 (53.7 KiB)

bond0:1   Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
inet adr:192.168.122.19  Bcast:192.168.122.255  Masque:255.255.255.0
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

eth0      Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:57180 errors:0 dropped:60 overruns:0 frame:0
TX packets:25870 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:83138488 (79.2 MiB)  TX bytes:1790539 (1.7 MiB)
Interruption:11 Adresse de base:0x8000

eth1      Link encap:Ethernet  HWaddr 52:54:00:2F:E1:87
adr inet6: fe80::5054:ff:fe2f:e187/64 Scope:Lien
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:1786 errors:0 dropped:0 overruns:0 frame:0
TX packets:524 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:433021 (422.8 KiB)  TX bytes:116177 (113.4 KiB)
Interruption:10 Adresse de base:0xa000

lo        Link encap:Boucle locale
inet adr:127.0.0.1  Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:3178 (3.1 KiB)  TX bytes:3178 (3.1 KiB)

On peut également voir son bon fonctionnement avec la commande ip:

ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe2f:e187/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe2f:e187/64 scope link
valid_lft forever preferred_lft forever
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 52:54:00:2f:e1:87 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.9/24 brd 192.168.122.255 scope global bond0
inet 192.168.122.19/24 brd 192.168.122.255 scope global secondary bond0:1
inet6 fe80::5054:ff:fe2f:e187/64 scope link tentative dadfailed
valid_lft forever preferred_lft forever