Aide mémoire des commandes "linux" [MAJ 30/01/2022]
Configurer une connexion réseau (interface/route)
De manière générale, veiller à ce que
- La liaison physique existe au niveau local (des diodes qui clignotent sur la carte et les équipements d’interconnexion, des câbles correctement emboîtés).
- Les masques soient correctement attribuées lors de la configuration.
- Les routes existent dans les deux sens !
Pour la configuration d’une interface et de de route, les commandes utiles sont
- ping pour générer un trafic ICMP echo request/echo reply permettant de tester la connectivité
- ifconfig ou ip (address) pour consulter et configurer l’adresse IP d’une interface
- route ou ip (route, link) pour consulter, modifier et activer les routes d’une table de routage d’un hôte
Préférer l’usage de ip (plus précis que ifconfig et route)
- Consulter la configuration réseau des interfaces de votre machine
ifconfig # -a pour connaître celles qui sont disponibles pas seulement les actives
ip addr show
ip addr
ip a
- Consulter les routes actuellement configurées sur votre machine
route
ip route show
ip route
ip r
netstat -rn
- Configurer l'interface eth1 de votre machine en lui attribuant l'adresse IP 172.16.1.1 et le masque 255.255.255.0 (i.e. /24)
ip addr add 172.16.1.1/24 dev eth1
- Activer l'interface
ifconfig eth1 up
ip link set eth1 up
- Configurer une route vers un hôte présent sur un réseau localement connecté sur une interface
route add 192.168.1.0 dev eth0
- Configurer une route pour un réseau localement connecté sur une interface
# Lorsque l'on configure une interface, les routes directes sont automatiquement rajoutées
route add -net 192.168.1.0/24 dev eth0
ip route add 192.168.1.0/24 dev eth0
- Ajouter une route par défaut via une passerelle (172.16.1.254)
route add default gw 172.16.1.254
ip route add default via 172.16.1.254
- Ajouter une route pour accéder à un réseau (172.16.2.0/24) via une passerelle (172.16.1.254)
route add -net 172.16.2.0/24 gw 172.16.1.254
ip route add 172.16.2.0/24 via 172.16.1.254 dev eth1
- tester une route via une interface
ping 172.16.1.254 -I eth1
- activer le "pontage" entre les deux cartes réseaux (i.e. autoriser une machine à faire suivre un paquet ... utile en tant que routeur)
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -w net.ipv4.ip_forward=1
Consultation des informations sur l'usage des sockets
ss is used to dump socket statistics. It allows showing information similar to netstat. It can display more TCP and state informations than other tools.ss -taupe
ss -taupen
Consultation des journaux (log) du système
Si le gestionnaire de démarrage des services est SystemD
Les logs se trouvent dans le répertoire /var/log
Pour consulter les journaux de ssh, vous pouvez faire soit
Avec SystemD, vient une solution uniformes pour consulter les logs systèmes : journalctl
- En continu sur la console jusqu’à CTR+C pour terminer : journalctl -f
- Par service : journalctl -u apache2
- Par PID : journalctl _PID=1
- Par programme : journalctl /etc/init.d/apache2
- Par niveau de log (info, warning, err) : journalctl -p err
- Par date :
- journalctl --since "2016-02-10 21:00:00" --until "yesterday"
- Possibilité de combiner…
- Configurer la taille du journal... /etc/systemd/journald.conf
Un peu doublon avec le démon syslog mais log plus structurés et en binaire
pour ne pas être lisible
https://www.linuxtricks.fr/wiki/utiliser-journalctl-les-logs-de-systemd,
https://unix.stackexchange.com/questions/332274/is-systemd-journald-a-syslog-implem
Gestion des services
Si le gestionnaire de démarrage des services est upstart
Pour lister les jobs en cours
sudo initctl list
Si le gestionnaire de démarrage des services est systemD
Pour connaître le status (status), démarrer (start), recharger (reload), arrêter (stop), redémarrer (reload)... un service (ici illustré avec ssh) :
systemctl restart ssh.service
Redémarrage/arrêt de la machine
Si le gestionnaire de démarrage des services est systemD
sudo systemctl reboot
Gestion des processus
Pour connaître les processus en cours d'exécution, faire
ps -aux
Différentes instructions leur sont communicables via la commande
kill
Wireshark
Le logiciel utilisé pour capturer et analyser une trame est Wireshark (anciennement appelé Ethereal). L'exécuter avec les droits “as root”. La version simple utilisateur est censée vous permettre seulement d'analyser des paquets préalablement capturés par un tiers (as root).
! Si vous n'êtes pas familier à l'interface graphique de wireshark demander à votre enseignant de vous faire une brève présentation des différents cadres de son IHM
Pour lancer une capture de trame, sélectionner Capture > Options > eth1 > Start
Au sein de wireshark différents filtres sont disponibles en cliquant sur le bouton filter, tels que un nom de protocole : icmp, http
ip.src == adresse IP
ip.addr == adresse IP
protocole de transport : tcp, udp
l'opérateur and est disponible