Исходный код вики 5. Инструкция по сервису
Версия 41.1 от Ирина Сафонова на 01.09.2023, 17:34
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | **Содержание** | ||
2 | |||
3 | {{toc/}} | ||
4 | |||
5 | = Вход в консоль = | ||
6 | |||
7 | ---- | ||
8 | |||
9 | Для выполнения базовой настройки сервиса зайдите на установленный образ сервиса через консоли VMRC или VMWC. | ||
10 | [[image:__fileCreatedFromDataURI__.png]] | ||
11 | |||
12 | = Этапы настройки = | ||
13 | |||
14 | В ходе настройки команды вводятся в консоли или в SSH. | ||
15 | |||
16 | == Шаг 1. Включение доступа через SSH == | ||
17 | |||
18 | Укажите порт: | ||
19 | |||
20 | {{code language="none"}} | ||
21 | set service ssh port | ||
22 | {{/code}} | ||
23 | |||
24 | == Шаг 2. Настройка внешнего интерфейса (eth0) == | ||
25 | |||
26 | Укажите внешний IP-адрес | ||
27 | |||
28 | {{code language="none"}} | ||
29 | set interfaces ethernet eth0 address | ||
30 | {{/code}} | ||
31 | |||
32 | и маску сети: | ||
33 | |||
34 | {{code language="none"}} | ||
35 | set interfaces ethernet eth0 description OUTSIDE | ||
36 | {{/code}} | ||
37 | |||
38 | == Шаг 3. Настройте внутренний IP-адрес == | ||
39 | |||
40 | Укажите внутренний IP-адрес и маску сети. | ||
41 | |||
42 | {{code language="none"}} | ||
43 | set interfaces ethernet eth1 description INSIDE | ||
44 | {{/code}} | ||
45 | |||
46 | == Шаг 4. Пропишите маршрут == | ||
47 | |||
48 | {{code language="none"}} | ||
49 | set protocols static route 0.0.0.0/0 next-hop *IP-адрес маршрутизатора* distance 1 | ||
50 | {{/code}} | ||
51 | |||
52 | === Подшаг 4.1. Пропишите [[DNS>>https://wiki.dfcloud.ru/bin/view/Glossary/DNS]]-сервера для [[маршрутизатора>>https://wiki.dfcloud.ru/bin/view/Glossary/%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80]] === | ||
53 | |||
54 | {{code language="none"}} | ||
55 | set system name-server *адрес DNS-сервера* | ||
56 | {{/code}} | ||
57 | |||
58 | == Шаг 5. Настройка [[NAT>>https://wiki.dfcloud.ru/bin/view/Glossary/NAT]] == | ||
59 | |||
60 | === Подшаг 5.1. Укажите NAT-правила для внешнего интерфейса eth0 === | ||
61 | |||
62 | {{code language="none"}} | ||
63 | set nat source rule 100 outbound-interface eth0 | ||
64 | {{/code}} | ||
65 | |||
66 | === Подшаг 5.2. Укажите правило NAT для адресов внутренней подсети === | ||
67 | |||
68 | Укажите внутренний IP-адрес и маску сети: | ||
69 | |||
70 | {{code language="none"}} | ||
71 | set nat source rule 100 source address | ||
72 | {{/code}} | ||
73 | |||
74 | === Подшаг 5.3 Используйте NAT трансляции для общения ресурса с внешним миром === | ||
75 | |||
76 | {{code language="none"}} | ||
77 | set nat source rule 100 translation address masquerade | ||
78 | {{/code}} | ||
79 | |||
80 | == Шаг 6. Пробросьте порты 1-к-1 (Port Forwarding) == | ||
81 | |||
82 | === Подшаг 6.1. Создайте правила NAT номер 10 с указанием комментария === | ||
83 | |||
84 | {{code language="none"}} | ||
85 | set nat destination rule 10 description 'Port Forward: HTTP to *укажите внутренний IP-адрес* (port 80->80)' | ||
86 | {{/code}} | ||
87 | |||
88 | === Подшаг 6.2. Укажите внешний порт === | ||
89 | |||
90 | {{code language="none"}} | ||
91 | set nat destination rule 10 destination port 80 | ||
92 | {{/code}} | ||
93 | |||
94 | === Подшаг 6.3 Укажите, что пробрасываемый порт должен быть на внешнем интерфейсе eth0 === | ||
95 | |||
96 | {{code language="none"}} | ||
97 | set nat destination rule 10 inbound-interface eth0 | ||
98 | {{/code}} | ||
99 | |||
100 | === Подшаг 6.4. Укажите, что перенаправляться будет только TCP-трафик === | ||
101 | |||
102 | {{code language="none"}} | ||
103 | set nat destination rule 10 protocol tcp | ||
104 | {{/code}} | ||
105 | |||
106 | === Подшаг 6.5. Укажите, что трафик будет перенаправляться на внутренний адрес === | ||
107 | |||
108 | {{code language="none"}} | ||
109 | set nat destination rule 10 translation address *укажите внутренний IP-адрес* | ||
110 | {{/code}} | ||
111 | |||
112 | == Шаг 7. Пробросьте трафик на другой порт == | ||
113 | |||
114 | === Подшаг 7.1. Сделайте настройки по аналогии с шагом 6 === | ||
115 | |||
116 | Настройки [[аналогичны>>https://wiki.dfcloud.ru/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B5%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE%20VyOS/5.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/#H4284304336.41F44043E43144043E44143F43E44044243E4321-43A-128PortForwarding29]], за исключением того, что пробрасывается TCP и UDP трафик (protocol tcp_udp). | ||
117 | |||
118 | {{code language="none"}} | ||
119 | set nat destination rule 20 description 'Port Forward: SSH to *укажите внутренний IP-адрес* (port 22->20022)' | ||
120 | set nat destination rule 20 destination port 20022 | ||
121 | set nat destination rule 20 inbound-interface eth0 | ||
122 | set nat destination rule 20 protocol tcp_udp | ||
123 | set nat destination rule 20 translation address *укажите внутренний IP-адрес* | ||
124 | |||
125 | {{/code}} | ||
126 | |||
127 | === Подшаг 7.2. Укажите, на какой порт будет перенаправляться трафик (22-й), приходящий на порт 20022 === | ||
128 | |||
129 | {{code language="none"}} | ||
130 | set nat destination rule 20 translation port 22 | ||
131 | {{/code}} | ||
132 | |||
133 | == Шаг 8. Создайте [[DHCP>>https://wiki.dfcloud.ru/bin/view/Glossary/DHCP]]-сервер для внутренней сети == | ||
134 | |||
135 | === Подшаг 8.1. Создайте DHCP-сервер для внутренней сети === | ||
136 | |||
137 | {{code language="none"}} | ||
138 | set service dhcp-server shared-network-name LAN authoritative enable | ||
139 | {{/code}} | ||
140 | |||
141 | {{info}} | ||
142 | LAN — пример названия. Название может быть любым. | ||
143 | {{/info}} | ||
144 | |||
145 | === Подшаг 8.2. Укажите подсеть, для которой будет работать DHCP сервер, и диапазон адресов, который будет выдавать DHCP сервер === | ||
146 | |||
147 | {{code language="none"}} | ||
148 | set service dhcp-server shared-network-name LAN subnet * укажите адрес внутренней подсети* start *укажите внутренний IP-адрес* stop * укажите внутренний IP-адрес* | ||
149 | {{/code}} | ||
150 | |||
151 | === Подшаг 8.3. Укажите параметры, которые DHCP-сервер будет передавать клиентам === | ||
152 | |||
153 | {{code language="none"}} | ||
154 | set service dhcp-server shared-network-name LAN subnet *укажите адрес внутренней подсети* default-router *укажите внутренний IP-адрес* | ||
155 | {{/code}} | ||
156 | |||
157 | === Подшаг 8.4. Укажите маршрутизатор по умолчанию === | ||
158 | |||
159 | {{code language="none"}} | ||
160 | set service dhcp-server shared-network-name LAN subnet *укажите адрес внутренней подсети* dns-server *укажите внутренний IP-адрес* | ||
161 | {{/code}} | ||
162 | |||
163 | === Подшаг 8.5. Укажите DNS-сервер === | ||
164 | |||
165 | {{code language="none"}} | ||
166 | set service dhcp-server shared-network-name LAN subnet *укажите адрес внутренней подсети* domain-name internal.blackdiver.net | ||
167 | {{/code}} | ||
168 | |||
169 | === Подшаг 8.6. Укажите имя локального домена (internal.blackdiver.net) === | ||
170 | |||
171 | {{code language="none"}} | ||
172 | set service dhcp-server shared-network-name LAN subnet *укажите адрес внутренней подсети* lease 3600 | ||
173 | {{/code}} | ||
174 | |||
175 | {{info}} | ||
176 | 3600 секунд — время аренды адреса. | ||
177 | {{/info}} | ||
178 | |||
179 | == Шаг 9. Назначьте статические IP-адреса для DHCP-сервера == | ||
180 | |||
181 | Для статического назначения IP адресов в DHCP используется стандартный алгоритм привязки MAC адреса к IP адресу. В примере сервер (SERVER1 – имя сервера. Имя может быть любым) с MAC-адресом 00:50:56:0c:02:14 статически привязан к IP- адресу 217.198.88.69 (пример). | ||
182 | |||
183 | {{code language="none"}} | ||
184 | set service dhcp-server shared-network-name LAN subnet 217.198.0.0/24 static-mapping SERVER-NAME ip-address 217.198.88.69 | ||
185 | set service dhcp-server shared-network-name LAN subnet 217.198.0.0/24 static-mapping SERVER-NAME mac-address 00:50:56:0c:02:14 | ||
186 | {{/code}} | ||
187 | |||
188 | == Шаг 10. Настройка DNS forwarding == | ||
189 | |||
190 | Возможно только кэширование и перенаправление DNS-ответов от других DNS-серверов. Также доступен свой набор статических DNS-записей. | ||
191 | |||
192 | === Подшаг 10.1. Укажите DNS-сервера, у которых маршрутизатор будет запрашивать информацию (8.8.8.8 и 8.8.4.4) === | ||
193 | |||
194 | Также вы можете использовать системные DNS-сервера. В таком случае вместо ручного перечисления серверов укажите: | ||
195 | |||
196 | {{code language="none"}} | ||
197 | set service dns forwarding name-server 8.8.8.8 | ||
198 | {{/code}} | ||
199 | |||
200 | или: | ||
201 | |||
202 | {{code language="none"}} | ||
203 | set service dns forwarding system | ||
204 | {{/code}} | ||
205 | |||
206 | === Подшаг 10.2. Укажите количество кэшируемых DNS-запросов, которые будут храниться в памяти маршрутизатора === | ||
207 | |||
208 | В данном случае 0. DNS запросы будут не кешироваться, а каждый раз запрашиваться: | ||
209 | |||
210 | {{code language="none"}} | ||
211 | set service dns forwarding cache-size 0 | ||
212 | {{/code}} | ||
213 | |||
214 | === 10.3. Укажите интерфейс, на котором будет работать DNS forwarding (eth1) === | ||
215 | |||
216 | {{code language="none"}} | ||
217 | set service dns forwarding listen-on eth1 | ||
218 | {{/code}} | ||
219 | |||
220 | == Шаг 11. Создайте статические DNS-записи == | ||
221 | |||
222 | Укажите, что для DNS записи ХХХХХХХ.com всегда отвечает адресом xxx.xxx.xxx.xxx. Для таких записей не запрашивается информация у других DNS-серверов, а сразу отдается заранее определенный ответ. | ||
223 | |||
224 | {{code language="none"}} | ||
225 | set system static-host-mapping host-name ХХХХХХХ.com inet xxx.xxx.xxx.xxx | ||
226 | {{/code}} | ||
227 | |||
228 | == Шаг 12. Настройте [[L2TP>>https://wiki.dfcloud.ru/bin/view/Glossary/L2TP]]/IPsec сервера == | ||
229 | |||
230 | ==== Подшаг 12.1 Настройте IPSec | ||
231 | Подшаг 12.1.1. Укажите, на каком интерфейсе будет работать[[ IPsec>>https://wiki.dfcloud.ru/bin/view/Glossary/IPsec]] (eth0) ==== | ||
232 | |||
233 | {{code language="none"}} | ||
234 | set vpn ipsec ipsec-interfaces interface eth0 | ||
235 | {{/code}} | ||
236 | |||
237 | ==== Подшаг 12.1.2. Включите NAT Traversal ==== | ||
238 | |||
239 | Это необходимо, чтобы корректно работать с клиентами, у которых NAT. | ||
240 | |||
241 | {{code language="none"}} | ||
242 | set vpn ipsec nat-traversal enable | ||
243 | {{/code}} | ||
244 | |||
245 | ==== Подшаг 12.1.3. Укажите, откуда могут подключаться клиенты (0.0.0.0/0 – без ограничений) ==== | ||
246 | |||
247 | {{code language="none"}} | ||
248 | set vpn ipsec nat-networks allowed-network 0.0.0.0/0 | ||
249 | {{/code}} | ||
250 | |||
251 | === Подшаг 12.2. Настройте L2TP === | ||
252 | |||
253 | ==== Подшаг 12.2.1. Укажите внешний адрес, на который будут подключаться клиенты ==== | ||
254 | |||
255 | {{code language="none"}} | ||
256 | set vpn l2tp remote-access outside-address *укажите внешний IP-адрес* | ||
257 | {{/code}} | ||
258 | |||
259 | ==== Подшаг 12.2.2. Укажите диапазон адресов, которые будут выдаваться клиентам ==== | ||
260 | |||
261 | {{code language="none"}} | ||
262 | set vpn l2tp remote-access client-ip-pool start *укажите внутренний IP-адрес от* | ||
263 | set vpn l2tp remote-access client-ip-pool stop *укажите внутренний IP-адрес до* | ||
264 | {{/code}} | ||
265 | |||
266 | ==== Подшаг 12.2.3. Для подключения используйте PSK-ключ ==== | ||
267 | |||
268 | {{code language="none"}} | ||
269 | set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret | ||
270 | {{/code}} | ||
271 | |||
272 | ==== Подшаг 12.2.4. Задайте PSK-ключ (MySecretKey) ==== | ||
273 | |||
274 | {{code language="none"}} | ||
275 | set vpn l2tp remote-access dns-servers server-1 *укажите внутренний IP-адрес* | ||
276 | {{/code}} | ||
277 | |||
278 | ==== Подшаг 12.2.5. Укажите DNS-сервер, который будет передаваться подключившимся пользователям ==== | ||
279 | |||
280 | В примере используется ранее настроенный DNS forwarder. Для аутентификации пользователей будет использоваться собственная база. | ||
281 | |||
282 | {{code language="none"}} | ||
283 | set vpn l2tp remote-access authentication mode local | ||
284 | {{/code}} | ||
285 | |||
286 | ==== Подшаг 12.2.6. Создайте пользователя с именем **user1** и паролем **MyPassword** ==== | ||
287 | |||
288 | {{code language="none"}} | ||
289 | set vpn l2tp remote-access authentication local-users username user1 password MyPassword | ||
290 | {{/code}} | ||
291 | |||
292 | Если пользователю требуется дать статический адрес при подключении через VPN, то введите следующее: | ||
293 | |||
294 | {{code language="none"}} | ||
295 | set vpn l2tp remote-access authentication local-users username user1 static-ip 217.198.88.70.1 (пример) | ||
296 | {{/code}} | ||
297 | |||
298 | В результате пользователи могут подключаться по L2TP к маршрутизатору, а также имеют доступ к внутренней сети. | ||
299 | |||
300 | == Шаг 13. Настройте выход пользователей в интернет через [[VPN>>https://wiki.dfcloud.ru/bin/view/Glossary/VPN]] == | ||
301 | |||
302 | Добавьте правило NAT для адресов XXX.XXX.XXX.X-XXX: | ||
303 | |||
304 | {{code language="none"}} | ||
305 | set nat source rule 110 outbound-interface eth0 | ||
306 | set nat source rule 110 source address *укажите внутреннюю подсеть* | ||
307 | set nat source rule 110 translation address masquerade | ||
308 | {{/code}} | ||
309 | |||
310 | Создание правил NAT для L2TP полностью аналогично настройке NAT для внутренней сети. | ||
311 | |||
312 | Если для VPN клиентов используется DNS forwarder, то для каждого соединения L2TP опубликуйте сервис DNS forwarder. Подключите одновременно множество пользователей и после этого добавьте интерфейсы в DNS forwarding: | ||
313 | |||
314 | {{code language="none"}} | ||
315 | set service dns forwarding listen-on l2tp0 | ||
316 | set service dns forwarding listen-on l2tp1 | ||
317 | set service dns forwarding listen-on l2tp2 | ||
318 | {{/code}} | ||
319 | |||
320 | == Шаг 14. Примените настройки и сохраните конфигурации == | ||
321 | |||
322 | {{code language="none"}} | ||
323 | commit | ||
324 | save | ||
325 | {{/code}} | ||
326 | |||
327 | **[[В начало>>path:/bin/view/%D0%A1%D0%B5%D1%80%D0%B2%D0%B8%D1%81%20%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B5%20%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%BE%20VyOS/]] **🡱 | ||
328 | **[[К предыдущему разделу>>doc:Сервис Виртуальное сетевое устройство VyOS.4\. Структура платежей.WebHome]] **🡰 |