Projet

Général

Profil

Euro-IX » Historique » Version 2

Matthieu Herrb, 17/03/2019 20:35
config routeur EuroIX

1 1 Matthieu Herrb
h1. Euro-IX
2 1 Matthieu Herrb
3 1 Matthieu Herrb
Fourniture d'un réseau wifi « sérieux » pour le 34e Forum Euro-IX à Toulouse : 150 pros des réseaux à l'hotel Radisson Blu à Blagnac 31mars - 2 avril 2019. Co-organisé avec TouIX et France-IX https://www.euro-ix.net/en/events/fora/34th-euro-ix-forum/
4 1 Matthieu Herrb
5 1 Matthieu Herrb
 * Utilisation des bornes Unifi Mesh et Unifi Mesh Pro de ttnn
6 1 Matthieu Herrb
 * Adresses IPv4 et IPv6 publiques 
7 1 Matthieu Herrb
 * Un shuttle comme routeur + exécution du soft contrôleur Unifi
8 1 Matthieu Herrb
9 1 Matthieu Herrb
h2. Adressage
10 1 Matthieu Herrb
11 1 Matthieu Herrb
 * 89.234.156.9/32 adresse IPv4 "WAN"
12 1 Matthieu Herrb
 * 185.119.170.0/23 plage pour les adresses IPv4 "LAN"
13 1 Matthieu Herrb
 * 2a03:7220:8083:900::/56: plage IPv6
14 1 Matthieu Herrb
  * 2a03:7220:8083:900::1/56 coté WAN
15 1 Matthieu Herrb
  * 2a03:7220:8083:901::/64 coté LAN
16 1 Matthieu Herrb
17 1 Matthieu Herrb
h2. Config réseau
18 1 Matthieu Herrb
19 1 Matthieu Herrb
à cheval sur @/etc/network/interfaces@ et @/etc/rc.local@ (but: juste assez dans interfaces pour que l'unit 'networking' de systemd soit contente pour démarrer dhcpd & co).
20 1 Matthieu Herrb
21 1 Matthieu Herrb
|wan | enp2s0|
22 1 Matthieu Herrb
|lan | enp0s31f6 |
23 1 Matthieu Herrb
24 1 Matthieu Herrb
 * @/etc/network/interfaces@
25 1 Matthieu Herrb
<pre>
26 1 Matthieu Herrb
auto enp2s0
27 1 Matthieu Herrb
iface enp2s0 inet manual
28 1 Matthieu Herrb
        ip link set enp2s0 up   
29 1 Matthieu Herrb
        down ip link set enp2s0 down
30 1 Matthieu Herrb
        up ip addr add 89.234.156.9/32 dev enp2s0
31 1 Matthieu Herrb
        up ip route add 91.224.148.0/32 dev enp2s0
32 1 Matthieu Herrb
        up ip route add default via 91.224.148.0 
33 1 Matthieu Herrb
        down ip route flush dev enp2s0
34 1 Matthieu Herrb
        down ip addr flush dev enp2s0
35 1 Matthieu Herrb
</pre>
36 1 Matthieu Herrb
37 1 Matthieu Herrb
 * @/etc/rc.local@
38 1 Matthieu Herrb
<pre>
39 1 Matthieu Herrb
#! /bin/bash
40 1 Matthieu Herrb
ip link set enp0s31f6 up
41 1 Matthieu Herrb
ip a add 185.119.170.1/23 dev enp0s31f6
42 1 Matthieu Herrb
ip a add 172.31.36.1/24 dev enp0s31f6
43 1 Matthieu Herrb
44 1 Matthieu Herrb
ip -6 a add 2a03:7220:8083:901::1/64 dev enp0s31f6
45 1 Matthieu Herrb
46 1 Matthieu Herrb
ip -6 a add 2a03:7220:8083:900::1/56 dev enp2s0
47 1 Matthieu Herrb
ip -6 a add fe80::83:9 dev enp2s0
48 1 Matthieu Herrb
ip -6 r add default via fe80::31 dev enp2s0
49 1 Matthieu Herrb
</pre>
50 2 Matthieu Herrb
51 2 Matthieu Herrb
h2. DHCPv4 
52 2 Matthieu Herrb
53 2 Matthieu Herrb
 * installation du paquet @isc-dhcp-server@
54 2 Matthieu Herrb
 * activation dans @/etc/default/isc-dhcp-server@
55 2 Matthieu Herrb
<pre>
56 2 Matthieu Herrb
INTERFACESv4="enp0s31f6"
57 2 Matthieu Herrb
INTERFACESv6="enp0s31f6"
58 2 Matthieu Herrb
</pre>
59 2 Matthieu Herrb
60 2 Matthieu Herrb
 * configuration @/etc/dhcp/dhcpd.conf@
61 2 Matthieu Herrb
<pre>
62 2 Matthieu Herrb
option domain-name "tetaneutral.net";
63 2 Matthieu Herrb
option domain-name-servers 185.119.170.1;
64 2 Matthieu Herrb
option routers 185.119.170.1;
65 2 Matthieu Herrb
66 2 Matthieu Herrb
default-lease-time 600;
67 2 Matthieu Herrb
max-lease-time 7200;
68 2 Matthieu Herrb
69 2 Matthieu Herrb
ddns-update-style none;
70 2 Matthieu Herrb
71 2 Matthieu Herrb
authoritative;
72 2 Matthieu Herrb
73 2 Matthieu Herrb
subnet 185.119.170.0 netmask 255.255.254.0 {
74 2 Matthieu Herrb
        range 185.119.170.100 185.119.171.254;
75 2 Matthieu Herrb
}
76 2 Matthieu Herrb
</pre>
77 2 Matthieu Herrb
78 2 Matthieu Herrb
h2. DHCPv6 + radvd
79 2 Matthieu Herrb
80 2 Matthieu Herrb
*Important :* DHCPv6 ne fournit pas de route par défaut ! Il faut un radvd sur le routeur (le protocole ne permet pas de le faire tourner à coté come dans le cas de v4).
81 2 Matthieu Herrb
82 2 Matthieu Herrb
 * même paquet @isc-dhcp-server@. config v6 dans @/etc/dhcp/dhcpd6.conf@:
83 2 Matthieu Herrb
<pre>
84 2 Matthieu Herrb
default-lease-time 2592000;
85 2 Matthieu Herrb
preferred-lifetime 604800;
86 2 Matthieu Herrb
option dhcp-renewal-time 3600;
87 2 Matthieu Herrb
option dhcp-rebinding-time 7200;
88 2 Matthieu Herrb
# Enable RFC 5007 support (same than for DHCPv4)
89 2 Matthieu Herrb
allow leasequery;
90 2 Matthieu Herrb
91 2 Matthieu Herrb
option dhcp6.name-servers 2a03:7220:8083:901::1;
92 2 Matthieu Herrb
option dhcp6.domain-search "tetaneutral.net";
93 2 Matthieu Herrb
option dhcp6.info-refresh-time 21600;
94 2 Matthieu Herrb
95 2 Matthieu Herrb
subnet6 2a03:7220:8083:901::/64 {
96 2 Matthieu Herrb
        range6 2a03:7220:8083:901::1:1 2a03:7220:8083:901::1:ffff;
97 2 Matthieu Herrb
}
98 2 Matthieu Herrb
</pre>
99 2 Matthieu Herrb
100 2 Matthieu Herrb
 * radvd: paquet @radvd@. configuration dans @/etc/radvd.conf@
101 2 Matthieu Herrb
<pre>
102 2 Matthieu Herrb
interface enp0s31f6 {
103 2 Matthieu Herrb
         AdvSendAdvert on;
104 2 Matthieu Herrb
         AdvDefaultLifetime 9000;
105 2 Matthieu Herrb
         MinRtrAdvInterval 30;
106 2 Matthieu Herrb
         MaxRtrAdvInterval 900;
107 2 Matthieu Herrb
         AdvManagedFlag on;
108 2 Matthieu Herrb
         prefix 2a03:7220:8083:901::/64 {
109 2 Matthieu Herrb
            AdvOnLink on;
110 2 Matthieu Herrb
            AdvAutonomous on;
111 2 Matthieu Herrb
            AdvRouterAddr off;
112 2 Matthieu Herrb
         };
113 2 Matthieu Herrb
         RDNSS 2a03:7220:8083:901::1 {
114 2 Matthieu Herrb
                AdvRDNSSLifetime 3600;
115 2 Matthieu Herrb
        };
116 2 Matthieu Herrb
};
117 2 Matthieu Herrb
</pre>
118 2 Matthieu Herrb
119 2 Matthieu Herrb
h2. Resolveur DNS
120 2 Matthieu Herrb
121 2 Matthieu Herrb
Optionnel (on aurait pu donner les résolveurs cache de TTNN dans les configs ci-dessus)
122 2 Matthieu Herrb
123 2 Matthieu Herrb
 * paquet @unbound@ configuration @/etc/unbound/unbound.conf@
124 2 Matthieu Herrb
125 2 Matthieu Herrb
<pre>
126 2 Matthieu Herrb
server:
127 2 Matthieu Herrb
128 2 Matthieu Herrb
           interface: 0.0.0.0
129 2 Matthieu Herrb
           interface: ::0
130 2 Matthieu Herrb
           access-control: 172.31.36.0/24 allow
131 2 Matthieu Herrb
           access-control: 185.119.170.0/23 allow
132 2 Matthieu Herrb
           access-control: 2a03:7220:8083:900:/56 allow
133 2 Matthieu Herrb
           
134 2 Matthieu Herrb
           qname-minimisation: yes
135 2 Matthieu Herrb
           auto-trust-anchor-file: "/var/lib/unbound/root.key"
136 2 Matthieu Herrb
</pre>