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