Euro-IX » Historique » Version 3
Matthieu Herrb, 17/03/2019 20:38
IP privée pour le matériel Unifi
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 | 3 | Matthieu Herrb | * Les antennes, le switch Unifi et le contrôleur utilisent des IPs dans 172.31.36.0/24 (coté LAN): |
18 | 3 | Matthieu Herrb | | routeur | 172.31.36.1 | |
19 | 3 | Matthieu Herrb | | switch unifi | 172.31.36.2 | |
20 | 3 | Matthieu Herrb | | Antenne 1 | 172.31.36.100 | |
21 | 3 | Matthieu Herrb | | Antenne 2 | 172.31.36.101 | |
22 | 3 | Matthieu Herrb | | Antenne 3 | 172.31.36.102 | |
23 | 3 | Matthieu Herrb | | ... | | |
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> |