- VPN сервер
Создаем пул адресов для VPN-клиентов.
- "IP" -> "Pool" -> вкладка "Pools" -> кнопка "Add New"
- Name = vpn_pool
- Addresses = 10.10.5.2-10.10.5.100
- Next Pool = none
Создаем профиль для туннеля
- "PPP" -> вкладка "Profiles" -> кнопка "Add New"
- Name = l2tp
- Local Address = 10.10.5.1
- Remote Address = vpn_pool
- Change TCP MSS = no
- Use UPnP = no
- Use MPLS = no
- Use Compression = yes
- Use Encryption = yes
- Only One = no
Заводим учетку для VPN-клиента
- "PPP" -> вкладка "Secrets" -> кнопка "Add New"
- Enabled = yes
- Name = client2 - Password = ЗАДАЙТЕ ПАРОЛЬ
- Service = l2tp
- Caller ID = ЕСЛИ У КЛИЕНТА ЕСТЬ ПОСТОЯННЫЙ ВНЕШНИЙ IP, ТО ЕГО МОЖНО ЗАДАТЬ ТУТ, ДЛЯ БОЛЬШЕЙ БЕЗОПАСНОСТИ
- Profile = l2tp
- Local Address = 10.10.5.1
- Remote Address = 10.10.5.2
Включаем L2TP сервер
- "PPP" -> "Interface" -> кнопка "L2TP Server"
- Enabled = yes
- Max MTU = 1450
- Max MRU = 1450
- Keepalive Timeout = 30
- Default Profile = l2tp
- Authentication = mschap2
- Use IPsec = yes
- IPsec Secret = ЗАДАЕМ SECRET ДЛЯ IPsec
- Caller ID Type = ip address
Брандмауер
Так как VPN-клиент только один и у двух роутеров есть постоянные внешние IP, то я просто задал правило, разрешающее все входящие с IP клиента.
- Enabled = yes
- Chain = input
- Src. Address = ВНЕШНИЙ IP РОУТЕРА С VPN-КЛИЕНТОМ
- Dst. Address = ВНЕШНИЙ IP РОУТЕРА С VPN-СЕРВЕРОМ
- Connection State = new
- Action = accept
Также, должны присутствовать два разрешающих правила для Chain = input, forward с Connection State = established, related
VPN сервер настроен.
- VPN клиент
Профиль
- "PPP" -> вкладка "Profiles" -> кнопка "Add New"
- Name = l2tp
- Change TCP MSS = no
- Use UPnP = no
- Use MPLS = no
- Use Compression = yes
- Use Encryption = yes
- Only One = no
L2TP клиент
- "PPP" -> вкладка "Interface" -> кнопка "Add New" -> "L2TP Client"
- Enabled = yes
- Name = l2tp-out1
- Max MTU = 1450
- Max MRU = 1450
- Connect To = ВНЕШНИЙ IP РОУТЕРА С VPN СЕРВЕРОМ
- User = ПОЛЬЗОВАТЕЛЬ, КОТОРОГО МЫ ЗАВЕЛИ НА VPN СЕРВЕРЕ
- Password = ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ, КОТОРОГО МЫ ЗАВЕЛИ НА VPN СЕРВЕРЕ
- Profile = l2tp
- Use IPsec = yes
- IPsec Secret = SECRET ОТ IPsec, КОТОРЫЙ МЫ ЗАДАЛИ НА VPN СЕРВЕРЕ
- Allow = mschap2
Маршрут на VPN-сервер
Помните, что у нас к роутеру подключены два провайдера? Для того, чтобы соединение с VPN-сервером всегда происходило через нужного нам провайдера, добавим статический маршрут:
- "IP" -> "Routes" -> кнопка "Add New"
- Enabled = yes
- Dst. Address = ВНЕШНИЙ IP РОУТЕРА С VPN-СЕРВЕРОМ/32
- Gateway = ppoe-out1 (ppp-соединение на провайдера), reachable
- Type = unicast
- Distance = 1
- Scope = 30
- Target Scope = 10
- Pref. Source = НАШ ВНЕШНИЙ IP НА ВЫБРАННОМ ПРОВАЙДЕРЕ
Когда L2TP-клиент соединится, можно проверить, работает ли шифрование:
- "IP" -> "IPsec" -> вкладка "Installed SAs"
В столбце "Current Bytes" показываются счетчики зашифрованных пакетов.
С каждого роутера можно попинговать другой, "Tools" -> "Ping". VPN-сервер - 10.10.5.1, VPN-клиент - 10.10.5.2
- Маршрутизация
Мы не просто так настраивали шифрованный туннель, нам он нужен для соединения локалок за роутерами. Туннель поднят, роутеры видят друг друга по IP внутри туннеля, пришло время настроить маршруты на каждом из роутеров.
Считаем, что за роутером, который является VPN-сервером (роутер 1), находится подсеть 192.168.100.0/24, а за роутером VPN-клиентом (роутер 2) - подсеть 192.168.200.0/24
Роутер 1
- "IP" -> "Routes" -> кнопка "Add New"
- Enabled = yes
- Dst. Address = 192.168.200.0/24
- Gateway = l2tp-in1, reachable
- Type = unicast
- Distance = 1
- Scope = 30
- Target Scope = 10
Добавляем локалку, которая за роутером 2, в список Address Lists:
- "IP" -> "Firewall" -> вкладка "Address Lists" -> кнопка "Add New"
- Enabled = yes
- Name = LAN200
- Address = 192.168.200.0.24
Брандмауер, добавляем правило форвардить с локалки роутера 2
- Enabled = yes
- Chain = forward
- Src. Address List = LAN200
- Action = accept
Роутер 2
- "IP" -> "Routes" -> кнопка "Add New"
- Enabled = yes
- Dst. Address = 192.168.100.0/24
- Gateway = l2tp-out1, reachable
- Type = unicast
- Distance = 1
- Scope = 30
- Target Scope = 10
Брандмауер. Тут немного сложнее, так как два провайдера и для каждого IP из локалки задан свой провайдер.
Добавляем локалку, которая за роутером 1, в список Address Lists:
- "IP" -> "Firewall" -> вкладка "Address Lists" -> кнопка "Add New"
- Enabled = yes
- Name = LAN100
- Address = 192.168.100.0.24
Добавляем правило форвардить с локалки роутера 1
- Enabled = yes
- Chain = forward
- Src. Address List = LAN100
- Action = accept
Если вы настраивали роутер на работу с двумя провайдерами по статьям с этого сайта, то помните, что в Mangle у нас есть два правила, которые маркируют пакеты от клиентов для отправки через первого или второго провайдера. Для корректной отправки пакетов в локалку за роутером 1, необходимо ещё одно правило, которое должно стоять ПЕРВЫМ В СПИСКЕ ПРАВИЛ!
- "IP" -> "Firewall" -> вкладка "Mangle" -> кнопка "Add New"
- Enabled = yes
- Chain = prerouting
- Dst. Address List = LAN200
- Action = accept
Статья опубликована: 2020-08-27 10:18:32
Последние правки: 2020-09-26 23:05:37
Создадим защищенное vpn соединение между двумя роутерами mikrotik. Рассмотрим случай, когда к одному из роутеров подключено два провайдера.
Один из роутеров будет VPN-сервером, второй - подключаться к нему в качестве VPN-клиента. В данной статье к роутеру, который выступает в качестве сервера, подключен один провайдер, а к роутеру-клиенту - два.