Project

General

Profile

Euro-IX » History » Version 6

Matthieu Herrb, 03/18/2019 09:20 AM

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