Настраиваем VPN IPSec/L2TP сервера Mikrotik
В данной статье речь идет про VPN-сервер с аутентификацией по паролям. Это достаточно удобный способ, например, можно на короткое время предоставить кому-то доступ (для удаленной работы инженера, к примеру), а потом быстро этот доступ снять, причем не отключая пользователя, а просто поменяв пароль. Но есть и минусы, как минимум, безопасность. Возможность получения доступа путем перебора паролей - это уязвимое место в системе безопасности - надо мониторить логи на предмет попыток входа. Хотя можно и реагировать на попытки подбора пароля, занося злоумышленника в бан. Также среди минусов - невозможность передать маршрут клиенту. Т.е. без донастройки клиента весь трафик клиента идет через канал VPN. Есть другой способ настройки VPN сервера Mikrotik - на ключах, IKEv2.
Name: vpn_pool
Addresses: 10.10.10.10-10.10.10.20
Next pool: none
Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.
2. PPP - Profiles / Профиль для нашего конкретного туннеля
General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать 192.168.88.1, сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes
Protocols:
all to default:
Use MPLS: default
Use compression: default (ставил также yes)
Use Encryption: default (можно ставить no, т.к. ppp-шифрование мы использовать не будем, на это нам IPSec есть, на незагруженном микротике разницы никакой не заметил)
(примечание: сейчас я ставлю use encryption: yes, use compression: no, разницы реально никакой не чувствую).
Если в сети, куда вы подключаетесь, есть ресурсы по внутренним доменным именам, а не только по IP, можете указать DNS Server этой сети, например, 192.168.88.1 (или какой вам нужен).
Limits:
Only one: default
3. PPP - Secrets / Готовим пользователя VPN
Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile
4. PPP - Interface - клик на L2TP Server / Включаем сервер L2TP
Enabled - yes
MTU / MRU - 1450
Keepalive Timeout - 30
Default profile - l2tp_profile
Authentication - mschap2
Use IPSec - yes
IPSec Secret: tumba-yumba-setebryaki (это не пароль пользователя, а предварительный ключ, который надо будет указывать на клиентах в дополнение к логину/паролю)
При этом в IP-IPSec-Peers будет создан динамический пир с именем l2tp-in-server.
5. IP -> Firewall настраиваем доступ
Chain “input”
Protocol - 17(udp)
Dst. Port - 1701,500,4500
in.Interface - ether1
6. Настройки IPsec
Вкладка - Groups
создаем новую группу
Name - VPN-POOL
На вкладке “Policies” создаём новую дефолтную политику и выбираем в качестве шаблона нашу созданную группу:
А можно через New Terminal (Командой)
Давайте уж к консоли, что-ли для разнообразия:
Можем подключатся через ваш ПК или настраивать на MikroTik клиента.
Настройка туннелирования (L2TP)
1. IP - Pool / Определям диапазон адресов VPN-пользователейName: vpn_pool
Addresses: 10.10.10.10-10.10.10.20
Next pool: none
Лучше для клиентов vpn использовать отдельную адресацию. Так проще отделять одних от других. И вообще, бест практис.
2. PPP - Profiles / Профиль для нашего конкретного туннеля
General:
Name: l2tp_profile
Local address: vpn_pool (а можно указать 192.168.88.1, сами смотрите, как вам больше нравится)
Remote address: vpn_pool
Change TCP MSS: yes
Protocols:
all to default:
Use MPLS: default
Use compression: default (ставил также yes)
Use Encryption: default (можно ставить no, т.к. ppp-шифрование мы использовать не будем, на это нам IPSec есть, на незагруженном микротике разницы никакой не заметил)
(примечание: сейчас я ставлю use encryption: yes, use compression: no, разницы реально никакой не чувствую).
Если в сети, куда вы подключаетесь, есть ресурсы по внутренним доменным именам, а не только по IP, можете указать DNS Server этой сети, например, 192.168.88.1 (или какой вам нужен).
Limits:
Only one: default
3. PPP - Secrets / Готовим пользователя VPN
Name: vpn_user1
Password: bla-bla-bla
Service: l2tp
Profile: l2tp_profile
4. PPP - Interface - клик на L2TP Server / Включаем сервер L2TP
Enabled - yes
MTU / MRU - 1450
Keepalive Timeout - 30
Default profile - l2tp_profile
Authentication - mschap2
Use IPSec - yes
IPSec Secret: tumba-yumba-setebryaki (это не пароль пользователя, а предварительный ключ, который надо будет указывать на клиентах в дополнение к логину/паролю)
При этом в IP-IPSec-Peers будет создан динамический пир с именем l2tp-in-server.
5. IP -> Firewall настраиваем доступ
Chain “input”
Protocol - 17(udp)
Dst. Port - 1701,500,4500
in.Interface - ether1
6. Настройки IPsec
Вкладка - Groups
создаем новую группу
Name - VPN-POOL
На вкладке “Policies” создаём новую дефолтную политику и выбираем в качестве шаблона нашу созданную группу:
А можно через New Terminal (Командой)
Давайте уж к консоли, что-ли для разнообразия:
/ip firewall filter
add chain=input action=accept protocol=udp port=1701,500,4500
add chain=input action=accept protocol=ipsec-esp
Если у вас по-умолчанию политика forward установлена в drop (последнее правило для forward "chain=forward action=drop"), вам может быть необходимым разрешить forward с ip-адресов vpn_pool в локальную сеть: add chain=forward action=accept src-address=192.168.112.0/24 in-interface=!ether1 out-interface=bridge-local comment="allow vpn to lan" log=no log-prefix=""
Вот теперь с сервером все. Можем подключатся через ваш ПК или настраивать на MikroTik клиента.
- root от