Project

General

Profile

Config reseau linux avec rclocal » History » Version 2

« Previous - Version 2/3 (diff) - Next » - Current version
Emmanuel Navarro, 11/17/2016 10:40 PM


Configuration réseau sous linux avec /etc/rc.local et ip

Voici comment utiliser /etc/rc.local plutôt que /etc/network/interface sur une machine linux/debian (ou assimilable).

Pourquoi faire ça ?

cf Laurent https://lists.tetaneutral.net/pipermail/technique/2016-March/002217.html:

Pour rappel sur /etc/network/interfaces & fichiers de ce genre :

- la moindre erreur d'edit et vous perdez totalement le reseau
- restart uniquement dans screen sinon perte totale du reseau
- impossible de separer ipv4 et ipv6 donc perte de benefice du dual stack en cas de soucis vous perdez les deux a la fois ipv4 et ipv6
- impossible de transitionner etape par etape vers une autre configuration
- au final fichier de configuration a la fois plus long et moins comprehensible qu'avec iproute2
- tres difficile de faire un setup autre que trivial (dhcp) en pratique

Critiques remarques sur cette technique:

<alarig> navarro: le souci c’est que /etc/rc.local est lu après le démarrage de tous les autres daemons
<alarig> donc s’ils doivent binder une IP au start, ils vont se vautrer.

Configuration dans /etc/rc.local

Voici une exemple /etc/rc.local, attention à bien remplacer les IP4, IP6, XX et YY pour que ca colle à vos IP (voir plus bas) :

#!/bin/sh 

# Network configuration
ip link set eth0 up
ip addr add IP4/32 dev eth0
ip route add default via 91.224.148.0 dev eth0 onlink
echo nameserver 91.224.149.254 > /etc/resolv.conf
ip -6 addr add IP6/56 dev eth0
ip -6 addr add fe80::XX:YY/64 dev eth0
ip -6 route add default via fe80::31 dev eth0 onlink

echo nameserver 91.224.148.10 >> /etc/resolv.conf
echo nameserver 2a03:7220:8081:fe00::1 >> /etc/resolv.conf

exit 0

  • IP4 c'est votre IPv4 TTNN...
  • IP6 c'est votre l'une de vos IPv6 ttnn (a priori en _2a03:7220:80XX:YY00::1).
  • XX et YY ce sont les deux octets de fin de votre plage d'IPv6 (cf exemple ligne au dessus)

et dans /etc/network/interface on a juste :

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

Petites astuces

Avant de faire une modif, pensez à garder sous la main le résultat de :

$ ip addr

"""Ca donne la link local ipv6 qui pourra servir a recuperer le ssh sur la machine.""" cf https://lists.tetaneutral.net/pipermail/technique/2016-March/002217.html