Projet

Général

Profil

Euro-IX » Historique » Version 4

Matthieu Herrb, 17/03/2019 20:42

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 4 Matthieu Herrb
* 89.234.156.9/32 adresse IPv4 "WAN"
12 4 Matthieu Herrb
* 185.119.170.0/23 plage pour les adresses IPv4 "LAN"
13 4 Matthieu Herrb
* 2a03:7220:8083:900::/56: plage IPv6
14 1 Matthieu Herrb
15 4 Matthieu Herrb
 * 2a03:7220:8083:900::1/56 coté WAN
16 4 Matthieu Herrb
 * 2a03:7220:8083:901::/64 coté LAN
17 4 Matthieu Herrb
18 4 Matthieu Herrb
* Les antennes, le switch Unifi et le contrôleur utilisent des IPs dans 172.31.36.0/24 (coté LAN):
19 3 Matthieu Herrb
  | routeur | 172.31.36.1 |
20 3 Matthieu Herrb
  | switch unifi | 172.31.36.2 |
21 3 Matthieu Herrb
  | Antenne 1 | 172.31.36.100 |
22 3 Matthieu Herrb
  | Antenne 2 | 172.31.36.101 |
23 3 Matthieu Herrb
  | Antenne 3 | 172.31.36.102 |
24 3 Matthieu Herrb
  | ... | |
25 3 Matthieu Herrb
26 1 Matthieu Herrb
h2. Config réseau
27 1 Matthieu Herrb
28 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).
29 1 Matthieu Herrb
30 1 Matthieu Herrb
|wan | enp2s0|
31 1 Matthieu Herrb
|lan | enp0s31f6 |
32 1 Matthieu Herrb
33 1 Matthieu Herrb
 * @/etc/network/interfaces@
34 1 Matthieu Herrb
<pre>
35 1 Matthieu Herrb
auto enp2s0
36 1 Matthieu Herrb
iface enp2s0 inet manual
37 1 Matthieu Herrb
        ip link set enp2s0 up   
38 1 Matthieu Herrb
        down ip link set enp2s0 down
39 1 Matthieu Herrb
        up ip addr add 89.234.156.9/32 dev enp2s0
40 1 Matthieu Herrb
        up ip route add 91.224.148.0/32 dev enp2s0
41 1 Matthieu Herrb
        up ip route add default via 91.224.148.0 
42 1 Matthieu Herrb
        down ip route flush dev enp2s0
43 1 Matthieu Herrb
        down ip addr flush dev enp2s0
44 1 Matthieu Herrb
</pre>
45 1 Matthieu Herrb
46 1 Matthieu Herrb
 * @/etc/rc.local@
47 1 Matthieu Herrb
<pre>
48 1 Matthieu Herrb
#! /bin/bash
49 1 Matthieu Herrb
ip link set enp0s31f6 up
50 1 Matthieu Herrb
ip a add 185.119.170.1/23 dev enp0s31f6
51 1 Matthieu Herrb
ip a add 172.31.36.1/24 dev enp0s31f6
52 1 Matthieu Herrb
53 1 Matthieu Herrb
ip -6 a add 2a03:7220:8083:901::1/64 dev enp0s31f6
54 1 Matthieu Herrb
55 1 Matthieu Herrb
ip -6 a add 2a03:7220:8083:900::1/56 dev enp2s0
56 1 Matthieu Herrb
ip -6 a add fe80::83:9 dev enp2s0
57 1 Matthieu Herrb
ip -6 r add default via fe80::31 dev enp2s0
58 1 Matthieu Herrb
</pre>
59 2 Matthieu Herrb
60 2 Matthieu Herrb
h2. DHCPv4 
61 2 Matthieu Herrb
62 2 Matthieu Herrb
 * installation du paquet @isc-dhcp-server@
63 2 Matthieu Herrb
 * activation dans @/etc/default/isc-dhcp-server@
64 2 Matthieu Herrb
<pre>
65 2 Matthieu Herrb
INTERFACESv4="enp0s31f6"
66 2 Matthieu Herrb
INTERFACESv6="enp0s31f6"
67 2 Matthieu Herrb
</pre>
68 2 Matthieu Herrb
69 2 Matthieu Herrb
 * configuration @/etc/dhcp/dhcpd.conf@
70 2 Matthieu Herrb
<pre>
71 2 Matthieu Herrb
option domain-name "tetaneutral.net";
72 2 Matthieu Herrb
option domain-name-servers 185.119.170.1;
73 2 Matthieu Herrb
option routers 185.119.170.1;
74 2 Matthieu Herrb
75 2 Matthieu Herrb
default-lease-time 600;
76 2 Matthieu Herrb
max-lease-time 7200;
77 2 Matthieu Herrb
78 2 Matthieu Herrb
ddns-update-style none;
79 2 Matthieu Herrb
80 2 Matthieu Herrb
authoritative;
81 2 Matthieu Herrb
82 2 Matthieu Herrb
subnet 185.119.170.0 netmask 255.255.254.0 {
83 2 Matthieu Herrb
        range 185.119.170.100 185.119.171.254;
84 2 Matthieu Herrb
}
85 2 Matthieu Herrb
</pre>
86 2 Matthieu Herrb
87 2 Matthieu Herrb
h2. DHCPv6 + radvd
88 2 Matthieu Herrb
89 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).
90 2 Matthieu Herrb
91 2 Matthieu Herrb
 * même paquet @isc-dhcp-server@. config v6 dans @/etc/dhcp/dhcpd6.conf@:
92 2 Matthieu Herrb
<pre>
93 2 Matthieu Herrb
default-lease-time 2592000;
94 2 Matthieu Herrb
preferred-lifetime 604800;
95 2 Matthieu Herrb
option dhcp-renewal-time 3600;
96 2 Matthieu Herrb
option dhcp-rebinding-time 7200;
97 2 Matthieu Herrb
# Enable RFC 5007 support (same than for DHCPv4)
98 2 Matthieu Herrb
allow leasequery;
99 2 Matthieu Herrb
100 2 Matthieu Herrb
option dhcp6.name-servers 2a03:7220:8083:901::1;
101 2 Matthieu Herrb
option dhcp6.domain-search "tetaneutral.net";
102 2 Matthieu Herrb
option dhcp6.info-refresh-time 21600;
103 2 Matthieu Herrb
104 2 Matthieu Herrb
subnet6 2a03:7220:8083:901::/64 {
105 2 Matthieu Herrb
        range6 2a03:7220:8083:901::1:1 2a03:7220:8083:901::1:ffff;
106 2 Matthieu Herrb
}
107 2 Matthieu Herrb
</pre>
108 2 Matthieu Herrb
109 2 Matthieu Herrb
 * radvd: paquet @radvd@. configuration dans @/etc/radvd.conf@
110 2 Matthieu Herrb
<pre>
111 2 Matthieu Herrb
interface enp0s31f6 {
112 2 Matthieu Herrb
         AdvSendAdvert on;
113 2 Matthieu Herrb
         AdvDefaultLifetime 9000;
114 2 Matthieu Herrb
         MinRtrAdvInterval 30;
115 2 Matthieu Herrb
         MaxRtrAdvInterval 900;
116 2 Matthieu Herrb
         AdvManagedFlag on;
117 2 Matthieu Herrb
         prefix 2a03:7220:8083:901::/64 {
118 2 Matthieu Herrb
            AdvOnLink on;
119 2 Matthieu Herrb
            AdvAutonomous on;
120 2 Matthieu Herrb
            AdvRouterAddr off;
121 2 Matthieu Herrb
         };
122 2 Matthieu Herrb
         RDNSS 2a03:7220:8083:901::1 {
123 2 Matthieu Herrb
                AdvRDNSSLifetime 3600;
124 2 Matthieu Herrb
        };
125 2 Matthieu Herrb
};
126 2 Matthieu Herrb
</pre>
127 2 Matthieu Herrb
128 2 Matthieu Herrb
h2. Resolveur DNS
129 2 Matthieu Herrb
130 2 Matthieu Herrb
Optionnel (on aurait pu donner les résolveurs cache de TTNN dans les configs ci-dessus)
131 2 Matthieu Herrb
132 2 Matthieu Herrb
 * paquet @unbound@ configuration @/etc/unbound/unbound.conf@
133 2 Matthieu Herrb
134 2 Matthieu Herrb
<pre>
135 2 Matthieu Herrb
server:
136 2 Matthieu Herrb
137 2 Matthieu Herrb
           interface: 0.0.0.0
138 2 Matthieu Herrb
           interface: ::0
139 2 Matthieu Herrb
           access-control: 172.31.36.0/24 allow
140 2 Matthieu Herrb
           access-control: 185.119.170.0/23 allow
141 2 Matthieu Herrb
           access-control: 2a03:7220:8083:900:/56 allow
142 2 Matthieu Herrb
           
143 2 Matthieu Herrb
           qname-minimisation: yes
144 2 Matthieu Herrb
           auto-trust-anchor-file: "/var/lib/unbound/root.key"
145 2 Matthieu Herrb
</pre>