Projet

Général

Profil

Config reseau linux avec rclocal » Historique » Version 3

Laurent GUERBY, 18/11/2016 08:02

1 1 Emmanuel Navarro
h1. Configuration réseau sous linux avec _/etc/rc.local_ et _ip_
2 1 Emmanuel Navarro
3 1 Emmanuel Navarro
Voici comment utiliser _/etc/rc.local_ plutôt que _/etc/network/interface_ sur une machine linux/debian (ou assimilable).
4 1 Emmanuel Navarro
5 1 Emmanuel Navarro
h2. Pourquoi faire ça ?
6 1 Emmanuel Navarro
7 1 Emmanuel Navarro
cf Laurent https://lists.tetaneutral.net/pipermail/technique/2016-March/002217.html:
8 1 Emmanuel Navarro
9 1 Emmanuel Navarro
<pre>Pour rappel sur /etc/network/interfaces & fichiers de ce genre :
10 1 Emmanuel Navarro
11 1 Emmanuel Navarro
- la moindre erreur d'edit et vous perdez totalement le reseau
12 1 Emmanuel Navarro
- restart uniquement dans screen sinon perte totale du reseau
13 1 Emmanuel Navarro
- 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
14 1 Emmanuel Navarro
- impossible de transitionner etape par etape vers une autre configuration
15 1 Emmanuel Navarro
- au final fichier de configuration a la fois plus long et moins comprehensible qu'avec iproute2
16 1 Emmanuel Navarro
- tres difficile de faire un setup autre que trivial (dhcp) en pratique
17 1 Emmanuel Navarro
</pre>
18 1 Emmanuel Navarro
19 2 Emmanuel Navarro
Critiques remarques sur cette technique:
20 2 Emmanuel Navarro
<pre><alarig> navarro: le souci c’est que /etc/rc.local est lu après le démarrage de tous les autres daemons
21 2 Emmanuel Navarro
<alarig> donc s’ils doivent binder une IP au start, ils vont se vautrer.
22 2 Emmanuel Navarro
</pre>
23 1 Emmanuel Navarro
24 1 Emmanuel Navarro
h2. Configuration dans _/etc/rc.local_
25 1 Emmanuel Navarro
26 1 Emmanuel Navarro
Voici une exemple _/etc/rc.local_, *attention* à bien remplacer les IP4, IP6, XX et YY pour que ca colle à vos IP (voir plus bas) :
27 3 Laurent GUERBY
<pre>
28 3 Laurent GUERBY
#!/bin/sh 
29 3 Laurent GUERBY
30 3 Laurent GUERBY
for i in /proc/sys/net/ipv6/conf/*; do for j in autoconf accept_ra; do echo 0 > $i/$j; done;done
31 3 Laurent GUERBY
32 1 Emmanuel Navarro
33 1 Emmanuel Navarro
# Network configuration
34 1 Emmanuel Navarro
ip link set eth0 up
35 1 Emmanuel Navarro
ip addr add IP4/32 dev eth0
36 1 Emmanuel Navarro
ip route add default via 91.224.148.0 dev eth0 onlink
37 1 Emmanuel Navarro
echo nameserver 91.224.149.254 > /etc/resolv.conf
38 1 Emmanuel Navarro
ip -6 addr add IP6/56 dev eth0
39 1 Emmanuel Navarro
ip -6 addr add fe80::XX:YY/64 dev eth0
40 1 Emmanuel Navarro
ip -6 route add default via fe80::31 dev eth0 onlink
41 1 Emmanuel Navarro
42 1 Emmanuel Navarro
echo nameserver 91.224.148.10 >> /etc/resolv.conf
43 1 Emmanuel Navarro
echo nameserver 2a03:7220:8081:fe00::1 >> /etc/resolv.conf
44 1 Emmanuel Navarro
45 1 Emmanuel Navarro
exit 0
46 1 Emmanuel Navarro
</pre>
47 1 Emmanuel Navarro
48 1 Emmanuel Navarro
* *IP4* c'est votre IPv4 TTNN... 
49 1 Emmanuel Navarro
* *IP6* c'est -votre- l'une de vos IPv6 ttnn (a priori en _2a03:7220:80XX:YY00::1). 
50 1 Emmanuel Navarro
* *XX* et *YY* ce sont les deux octets de fin de votre plage d'IPv6 (cf exemple ligne au dessus)
51 1 Emmanuel Navarro
52 1 Emmanuel Navarro
et dans _/etc/network/interface_ on a juste :
53 1 Emmanuel Navarro
<pre>auto lo
54 1 Emmanuel Navarro
iface lo inet loopback
55 1 Emmanuel Navarro
56 1 Emmanuel Navarro
auto eth0
57 1 Emmanuel Navarro
iface eth0 inet manual
58 1 Emmanuel Navarro
</pre>
59 1 Emmanuel Navarro
60 1 Emmanuel Navarro
61 1 Emmanuel Navarro
h2. Petites astuces
62 1 Emmanuel Navarro
63 1 Emmanuel Navarro
Avant de faire une modif, pensez à garder sous la main le résultat de :
64 1 Emmanuel Navarro
<pre>
65 1 Emmanuel Navarro
$ ip addr
66 1 Emmanuel Navarro
</pre>
67 1 Emmanuel Navarro
68 1 Emmanuel Navarro
"""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