Projet

Général

Profil

WireguardSurSsidOpwnWRT » Historique » Version 6

Matthieu Herrb, 16/06/2020 22:33

1 2 Matthieu Herrb
h1. Wireguard Sur SSID séparé sous OpwnWRT
2 1 Matthieu Herrb
3 1 Matthieu Herrb
Configuration de Wireguard sur OpenWRT
4 1 Matthieu Herrb
5 1 Matthieu Herrb
But: 
6 1 Matthieu Herrb
7 2 Matthieu Herrb
* Routeur OpenWRT configuration standard (ie wan en DHCP, NAT sur le lan)
8 2 Matthieu Herrb
* Ajouter un VPN Tetaneutral sur le wan
9 2 Matthieu Herrb
* Ajouter un 2e SSID routé dans le VPN
10 1 Matthieu Herrb
11 2 Matthieu Herrb
h2. Réalisation:
12 2 Matthieu Herrb
13 2 Matthieu Herrb
Résumé de la démarche : 
14 2 Matthieu Herrb
15 2 Matthieu Herrb
# Créer la config VPN - interface wgnet Attention à ne pas router les allowed IPs.
16 2 Matthieu Herrb
# La mettre dans une zone firewall - wgwan
17 2 Matthieu Herrb
# Créer le vlan3
18 2 Matthieu Herrb
# Créer un SSID et le mettre dans un bridge avec le vlan3 (br-ttnn)
19 2 Matthieu Herrb
# Créer la zone firewall wglan
20 2 Matthieu Herrb
# Définir les règles firewall wglan -> wgwan (idem lan->wan)
21 2 Matthieu Herrb
# Via rc.local créer table de routage + règles pour router br-ttn -> wgnet
22 3 Matthieu Herrb
23 3 Matthieu Herrb
h3. configuration wireguard wgnet
24 3 Matthieu Herrb
25 3 Matthieu Herrb
Dans /etc/config/network
26 3 Matthieu Herrb
27 3 Matthieu Herrb
<pre>
28 3 Matthieu Herrb
config interface 'wgnet'
29 3 Matthieu Herrb
	option proto 'wireguard'
30 3 Matthieu Herrb
	option private_key 'REPLACE_ME'
31 3 Matthieu Herrb
	list addresses '185.119.170.xxx'
32 3 Matthieu Herrb
	list addresses '2a03:7220:8087:YY00::1/64'
33 3 Matthieu Herrb
34 3 Matthieu Herrb
config wireguard_wgnet
35 3 Matthieu Herrb
	option public_key 'DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A='
36 3 Matthieu Herrb
	option description 'Tetaneutral'
37 3 Matthieu Herrb
	option persistent_keepalive '25'
38 3 Matthieu Herrb
	list allowed_ips '0.0.0.0/0'
39 3 Matthieu Herrb
	list allowed_ips '::/0'
40 3 Matthieu Herrb
	option endpoint_host '89.234.156.116'
41 3 Matthieu Herrb
	option endpoint_port '51820'
42 3 Matthieu Herrb
</pre>
43 3 Matthieu Herrb
44 3 Matthieu Herrb
h3. zone firewall wgwan
45 3 Matthieu Herrb
46 3 Matthieu Herrb
Dans /etc/config/firewall
47 3 Matthieu Herrb
48 3 Matthieu Herrb
<pre>
49 3 Matthieu Herrb
config zone
50 3 Matthieu Herrb
	option network 'wgnet'
51 3 Matthieu Herrb
	option forward 'REJECT'
52 3 Matthieu Herrb
	option name 'vgwan'
53 3 Matthieu Herrb
	option output 'ACCEPT'
54 3 Matthieu Herrb
	option input 'REJECT'
55 3 Matthieu Herrb
	option masq '1'
56 3 Matthieu Herrb
</pre>
57 4 Matthieu Herrb
58 4 Matthieu Herrb
h3. création du vlan3
59 4 Matthieu Herrb
60 4 Matthieu Herrb
Dans /etc/config/network
61 4 Matthieu Herrb
62 4 Matthieu Herrb
<pre>
63 4 Matthieu Herrb
config switch_vlan
64 4 Matthieu Herrb
	option device 'switch0'
65 4 Matthieu Herrb
	option vlan '3'
66 4 Matthieu Herrb
	option ports '0t'
67 4 Matthieu Herrb
	option vid '3'
68 4 Matthieu Herrb
</pre>
69 4 Matthieu Herrb
70 4 Matthieu Herrb
h3. création d'un SSID tetaneutral.net en bridge avec le vlan3
71 4 Matthieu Herrb
72 4 Matthieu Herrb
Dans /etc/config/network
73 4 Matthieu Herrb
<pre>
74 4 Matthieu Herrb
config interface 'ttnn'
75 4 Matthieu Herrb
	option proto 'static'
76 4 Matthieu Herrb
	option ip6ifaceid '::1'
77 4 Matthieu Herrb
	option ipaddr '192.168.42.1'
78 4 Matthieu Herrb
	option type 'bridge'
79 4 Matthieu Herrb
	option netmask '255.255.255.0'
80 4 Matthieu Herrb
	option ifname 'eth1.3'
81 4 Matthieu Herrb
	option ip6prefix '2a03:7220:8087:XX01::/64'
82 4 Matthieu Herrb
	list ip6addr '2a03:7220:8087:XX1::1/64'
83 4 Matthieu Herrb
</pre>
84 4 Matthieu Herrb
85 4 Matthieu Herrb
Dans /etc/config/wireless
86 4 Matthieu Herrb
<pre>
87 4 Matthieu Herrb
config wifi-iface 'wifinet2'
88 4 Matthieu Herrb
	option device 'radio0'
89 4 Matthieu Herrb
	option mode 'ap'
90 4 Matthieu Herrb
	option ssid 'tetaneutral.net'
91 4 Matthieu Herrb
	option key 'Secret'
92 4 Matthieu Herrb
	option encryption 'psk2'
93 4 Matthieu Herrb
	option network 'ttnn'
94 4 Matthieu Herrb
</pre>
95 5 Matthieu Herrb
96 6 Matthieu Herrb
Dans /etc/config/dhcp
97 6 Matthieu Herrb
<pre>
98 6 Matthieu Herrb
config dhcp 'ttnn'
99 6 Matthieu Herrb
	option start '100'
100 6 Matthieu Herrb
	option leasetime '12h'
101 6 Matthieu Herrb
	option limit '150'
102 6 Matthieu Herrb
	option interface 'ttnn'
103 6 Matthieu Herrb
	option ra 'server'
104 6 Matthieu Herrb
	option dhcpv6 'server'
105 6 Matthieu Herrb
	option ra_management '1'
106 6 Matthieu Herrb
	list dns '2a03:7220:8087:301::1'
107 6 Matthieu Herrb
</pre>
108 6 Matthieu Herrb
109 6 Matthieu Herrb
110 5 Matthieu Herrb
h3. Création de la zone firewall wglan
111 5 Matthieu Herrb
112 5 Matthieu Herrb
Dans /etc/network/firewall
113 5 Matthieu Herrb
<pre>
114 5 Matthieu Herrb
config zone
115 5 Matthieu Herrb
	option network 'ttnn'
116 5 Matthieu Herrb
	option input 'ACCEPT'
117 5 Matthieu Herrb
	option name 'wglan'
118 5 Matthieu Herrb
	option output 'ACCEPT'
119 5 Matthieu Herrb
	option forward 'ACCEPT'
120 5 Matthieu Herrb
121 5 Matthieu Herrb
</pre>
122 5 Matthieu Herrb
123 5 Matthieu Herrb
h3. Définition des règles firewall
124 5 Matthieu Herrb
125 5 Matthieu Herrb
Dans /etc/network/firewall
126 5 Matthieu Herrb
<pre>
127 5 Matthieu Herrb
config forwarding
128 5 Matthieu Herrb
	option dest 'vgwan'
129 5 Matthieu Herrb
	option src 'wglan'
130 5 Matthieu Herrb
</pre>
131 5 Matthieu Herrb
132 5 Matthieu Herrb
h3. Routage
133 5 Matthieu Herrb
134 5 Matthieu Herrb
Dans /etc/iproute2/rt_tables
135 5 Matthieu Herrb
<pre>
136 5 Matthieu Herrb
10	vpn
137 5 Matthieu Herrb
</pre>
138 5 Matthieu Herrb
139 5 Matthieu Herrb
Dans /etc/rc.local
140 5 Matthieu Herrb
<pre>
141 5 Matthieu Herrb
sleep 30
142 5 Matthieu Herrb
143 5 Matthieu Herrb
ip    route add default dev wgnet table 10
144 5 Matthieu Herrb
ip -6 route add default dev wgnet table 10
145 5 Matthieu Herrb
146 5 Matthieu Herrb
ip    rule add from all iif br-ttnn table 10
147 5 Matthieu Herrb
ip -6 rule add from all iif br-ttnn table 10
148 5 Matthieu Herrb
149 5 Matthieu Herrb
exit 0
150 5 Matthieu Herrb
</pre>