Archives par mot-clé : linux

Teste de performance réseau de mon matériel informatique

À force de compiler un noyau Linux pour le wrt1900ac, je cherche à trouver la meilleur performance réseau de mon matériel informatique.

Présentation du matériel:

Cisco Linksys WRT1900AC : Acquis depuis fin 2015 d’occasion pour 160€, j’ai choisis ce routeur dans le but d’obtenir de bonne performance réseau et parce que ses drivers sont opensource. Cependant au début, j’ai vite déchanté à cause de la stabilité du driver wifi. Aujourd’hui, les bugs semblent résolu. A noté que les firmwares composant le matériel sont fermés. Personnellement, ça ne me dérange pas vu que j’ai aucune base en développement de driver.

Compaq A900Presario : Acquis en 2009 d’occasion pour 300€, c’est mon premier portable. Je ne l’ai pas vraiment choisi, mais vu le prix, j’ai craqué.

Acer Aspire 9423WSMI : Acquis par ma compagne en 2007 pour 1300€, hum. Il me permet de mettre en ligne mes premiers serveurs virtuelles accessibles depuis Internet.

Synology DSE214SE : J’avais besoin d’un espace de stockage ‘stable’ sans apporter de modification à l’OS de base.

 

Teste de performance réseau en Mbits/s:

Outil utilisé : iPerf3 option « -P 6 ».

ETHERNET WIFI
A900 100Mb Intel Corporation Wireless 7260-AC 866M
Acer 1Gb
Synology 1Gb
MSI CX70-2PF 1Gb Intel Corporation Wireless 7260-AC 866M

A900 ne sera pas testé à cause de sa carte réseau limité à 100Mb.

Diskstation sera testé plus tard. Il est nécessaire de créer un chroot pour y faire cohabiter Debian afin d’installer iperf3.

WRT a un noyau compiler avec le minimum de module, en effet Netfilter impacte considérablement les performances en émission de données et comme j’ai mis en place une redirection des dossier, j’ai opté pour la rapidité vs la sécurité. Cependant, il est à noté une certaine instabilité, du driver. Les données ci-dessous sont représentatives d’un routeur dans ces plus beaux jours.

client \ serveur MSI IPFIRE WRT DISKSTATION
MSI X 424 385
IPFIRE 336 X 620
WRT 394 946 X
DISKSTATION X

Configurer une connexion cliente wifi définit green0

Note: Ici, on copie et on colle directement dans le shell.

Pour mettre en place une connexion wifi pour une carte réseau définit green0 en tant que client, il faut renseigné un fichier de configuration.

[code lang= »bash »]
cat << EOF > /etc/wpa_supplicant.green0
network={
ssid="Hotspot"
psk="password"
}
EOF
[/code]

Créer un script.

[code lang= »bash »]cat << EOF > /etc/init.d/wlan_green
#!/bin/sh
########################################################################
# Begin $rc_base/init.d/wlan_green
#
# Description : Wireless client initscript
#
########################################################################

. /etc/sysconfig/rc
. ${rc_functions}

case "${1}" in
start)
wpa_supplicant -B -i green0 -c /etc/wpa_supplicant.green0
echo $! &gt; /var/run/wlan_green
;;

stop)
if [ test -f /var/run/wlan_green ]; then
kill `cat /var/run/wlan_green`
rm /var/run/wlan_green
fi
;;

restart)
${0} stop
sleep 1
${0} start
;;

status)
statusproc wpa_supplicant
;;

*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
esac

# End $rc_base/init.d/wlan_green
EOF
chmod 754 /etc/init.d/wlan_green
[/code]

Avec Ipfire, il est important de prendre en compte une subtilité sur la numérotation des liens symboliques. En effet, lors du démarrage d’Ipfire, le script initialisant la connexion Ethernet « /etc/init.d/networking/red » recherche le processus wpa_supplicant. S’il trouve un pid, le script shunt dhcpcd, voir code source ci-dessous.

[code lang= »bash »]
# Extrait du fichier /etc/init.d/networking/red

elif [ "${TYPE}" == "DHCP" ]; then
# Add firewall rules to allow comunication with the dhcp server on red.
iptables -A REDINPUT -p tcp –source-port 67 –destination-port 68 -i ${DEVICE} -j ACCEPT
iptables -A REDINPUT -p udp –source-port 67 –destination-port 68 -i ${DEVICE} -j ACCEPT

echo -n "${DEVICE}" &gt; /var/ipfire/red/iface

# Check if the wlan-client is used on red.
# To determine this we check if a wpa_supplicant is running.
pid="$(pidof wpa_supplicant)"

if [ -z "${pid}" ]; then
# No wpa_supplicant is running. So it’s save to start dhcpcd.
dhcpcd_start "${DEVICE}"
fi

## Create &amp; Enable vnstat
/usr/bin/vnstat -u -i ${DEVICE} -r –enable –force &gt; /dev/null 2&gt;&amp;1
# fin de l’extrait
[/code]

Il est important de lancer le script wlan_green après le script /etc/init.d/network sinon ipfire ne découvrira pas ses paramètres réseaux.

[code lang= »bash »]ln -s /etc/init.d/wlan_green /etc/rc.d/rc3.d/S21wlan_green
ln -s /etc/init.d/wlan_green /etc/rc.d/rc0.d/K79wlan_green
ln -s /etc/init.d/wlan_green /etc/rc.d/rc6.d/K79wlan_green[/code]

Même en lançant la connexion wifi avant le script /etc/init.d/network, il est possible de forcer l’initialisation DHCP de red.

[code lang= »bash »]dhcpcd red0[/code]