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