Tunnel - это соединение типа Point-to Point (PtP). Туннель служит для расширения частной сети через сеть общего пользования. Туннель может быть как защищенным, так и не защищенным.
Существуют два вида туннелей:
Mikrotik поддерживает следующие протоколы, имеющие отношение к туннелям:
PPPoE
PPTP
L2TP
SSTP
OpenVPN
GRE
EoIP
IPIP
IPSec
Возможны также комбинации протоколов:
L2TP + IPSec
GRE + IPSec
Использование комбинаций протоколов позволяют объединить преимущества этих протоколов.
PPPoE - (англ. Point-to-point protocol over Ethernet) — сетевой протокол канального уровня (второй уровень сетевой модели OSI) передачи кадров PPP через Ethernet.
В основном используется xDSL-сервисами.
Предоставляет дополнительные возможности (аутентификация, сжатие данных, шифрование).
RouterOS поддерживает PPPoE Server и PPPoE Client.
PPPoE Server запускается с привязкой к конкретному интерфейсу.
PPPoE работает в пределах броадкастного домена.
PPPoE Server может не иметь IP адреса. Клиенты чаще всего получают адрес по DHCP.
Создаём ppp profile, который позволит нам задать локальный и удалённый адреса, DNS, шифрование, ограничения и тд.
/ppp profile add change-tcp-mss=yes local-address=192.168.252.1 name=site-to-site remote-address=192.168.252.2 use-encryption=yes
Создаем secret, где мы зададим настройки безопасности: имя пользователя и пароль для филиала.
/ppp secret add name=filial1 password=passphrase profile=site-to-site service=pptp
Создаём PPTP Server Binding, что позволит нам создать для данного соединения постоянный интерфейс, чтобы на его основе создавать статические маршруты.
PPTP Server Binding привязывается к юзеру.
/interface pptp-server add name=pptp-filial1-in1 user=filial1
Активируем PPTP Server:
/interface pptp-server server set authentication=mschap2 enabled=yes
/ip route add distance=1 dst-address=10.80.10.0/24 gateway=pptp-filial1-in1
/interface pptp-client add allow=mschap2 connect-to=81.211.66.196 disabled=no name=pptp-out1 password=passphrase user=filial1
/ip route add distance=1 dst-address=192.168.100.0/24 gateway=pptp-out1
Признаки подключенного клиента:
Клиент должен пинговать сервер.
Оба должны пинговать туннельные адреса, в нашем случае это 192.168.252.1 и 192.168.252.2.
[admin@nzh1] > ping 81.211.66.196 SEQ HOST SIZE TTL TIME STATUS 0 81.211.66.196 56 57 44ms 1 81.211.66.196 56 57 44ms sent=2 received=2 packet-loss=0% min-rtt=44ms avg-rtt=44ms max-rtt=44ms [admin@nzh1] > ping 192.168.252.2 SEQ HOST SIZE TTL TIME STATUS 0 192.168.252.2 56 64 0ms 1 192.168.252.2 56 64 0ms sent=2 received=2 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms [admin@nzh1] > ping 192.168.252.1 SEQ HOST SIZE TTL TIME STATUS 0 192.168.252.1 56 64 43ms 1 192.168.252.1 56 64 43ms sent=2 received=2 packet-loss=0% min-rtt=43ms avg-rtt=43ms max-rtt=43ms [admin@nzh1] > ping 192.168.100.10 src-address=10.80.10.1 SEQ HOST SIZE TTL TIME STATUS 0 192.168.100.10 56 127 44ms 1 192.168.100.10 56 127 44ms sent=2 received=2 packet-loss=0% min-rtt=44ms avg-rtt=44ms max-rtt=44ms
PPTP может работать с клиентами, у которых серые адреса:
Настройка клиента идентична
Далее при подключении:
Создаём ppp profile, который позволит нам задать локальный и удалённый адреса, DNS, шифрование, ограничения и тд.
/ppp profile add change-tcp-mss=yes local-address=192.168.252.1 name=site-to-site remote-address=192.168.252.2 use-encryption=yes
Создаем secret, где мы зададим настройки безопасности: имя пользователя и пароль для филиала.
/ppp secret add name=filial1 password=passphrase profile=site-to-site service=l2tp
Создаём L2TP Server Binding, что позволит нам создать для данного соединения постоянный интерфейс, чтобы на его основе создавать статические маршруты.
L2TP Server Binding привязывается к юзеру.
/interface l2tp-server add name=l2tp-filial1-in1 user=filial1
Активируем l2tp Server:
/interface l2tp-server server set authentication=mschap2 enabled=yes
/interface l2tp-client add allow=mschap2 connect-to=81.211.66.196 disabled=no name=l2tp-out1 password=passphrase user=filial1
Признаки подключенного клиента:
Клиент должен пинговать сервер.
Оба должны пинговать туннельные адреса, в нашем случае это 192.168.252.1 и 192.168.252.2.
[admin@nzh1] > ping 81.211.66.196 SEQ HOST SIZE TTL TIME STATUS 0 81.211.66.196 56 57 44ms 1 81.211.66.196 56 57 44ms sent=2 received=2 packet-loss=0% min-rtt=44ms avg-rtt=44ms max-rtt=44ms [admin@nzh1] > ping 192.168.252.2 SEQ HOST SIZE TTL TIME STATUS 0 192.168.252.2 56 64 0ms 1 192.168.252.2 56 64 0ms sent=2 received=2 packet-loss=0% min-rtt=0ms avg-rtt=0ms max-rtt=0ms [admin@nzh1] > ping 192.168.252.1 SEQ HOST SIZE TTL TIME STATUS 0 192.168.252.1 56 64 43ms 1 192.168.252.1 56 64 43ms sent=2 received=2 packet-loss=0% min-rtt=43ms avg-rtt=43ms max-rtt=43ms [admin@nzh1] > ping 192.168.100.10 src-address=10.80.10.1 SEQ HOST SIZE TTL TIME STATUS 0 192.168.100.10 56 127 44ms 1 192.168.100.10 56 127 44ms sent=2 received=2 packet-loss=0% min-rtt=44ms avg-rtt=44ms max-rtt=44ms
Создадим pool адресов для раздачи клиентам:
/ip pool add name=vpn-pool ranges=192.168.101.10-192.168.101.254
Создаём ppp profile, который позволит нам задать локальный и удалённый адреса, DNS, шифрование, ограничения и тд.
В данном случае мы зададим remote-address=vpn-pool. В качестве local-address=192.168.101.1 - зададим адрес из подсети пула.
/ppp profile add change-tcp-mss=yes dns-server=192.168.100.1 local-address=192.168.101.1 name=client-to-site remote-address=vpn-pool use-encryption=yes
Создаем secret, где мы зададим настройки безопасности: имя пользователя и пароль для удалённого пользователя.
/ppp secret add name=vpn-user1 password=passphrase profile=client-to-site service=l2tp
Активируем L2TP Server:
/interface l2tp-server server set authentication=mschap2 enabled=yes
Для нормальной работы interface bridge arp необходимо перевести в режим proxy-arp
interface bridge set arp=proxy-arp numbers=0
При подключении клиент должен успешно пинговать удаленную сеть согласно схеме:
Также обратим внимание, что данное подключение нешифрованное, поскольку L2TP Server был настроен без шифрования:
Добавляем к конфигурации l2tp-server ipsec-secret:
/interface l2tp-server server set authentication=mschap2 enabled=yes ipsec-secret=secretkey use-ipsec=required
Изменения для Win10:
Изменения для Win7:
Создадим pool адресов для раздачи клиентам:
/ip pool add name=L2TP_pool ranges=10.178.250.2-10.178.250.50
Создаём ppp profile, который позволит нам задать локальный и удалённый адреса, DNS, шифрование, ограничения и тд.
В данном случае мы зададим remote-address=L2TP_pool. В качестве local-address=10.178.250.1 - зададим адрес из подсети пула.
/ppp profile add dns-server=10.178.100.55,10.178.100.65 local-address=10.178.250.1 name=L2TP_profile remote-address=L2TP_pool
Создаем secret, где мы зададим настройки безопасности: имя пользователя и пароль для удалённого пользователя.
Здесь два пользователя:
user - для подключения рядового пользователя.
RUR2 - для подключения другого маршрутизатора по L2TP: для этого пользователя зарезервирован IP вне пула.
/ppp secret add name=user password=passphrase profile=L2TP_profile add local-address=10.178.250.1 name=RUR2 password=passphrase profile=L2TP_profile remote-address=10.178.250.51 service=l2tp
Активируем L2TP Server:
/interface l2tp-server server set authentication=mschap2 enabled=yes
Для нормальной работы interface bridge arp необходимо перевести в режим proxy-arp
interface bridge set arp=proxy-arp numbers=0
Для работы OSPF вешаем адрес на локальный интерфейс LAN.
/ip address add address=10.178.250.1/24 interface=LAN network=10.178.250.0 /routing ospf network add area=backbone network=10.178.250.0/24
После того, как протестировали без шифрования, включаем шифрование:
/interface l2tp-server server set authentication=mschap2 enabled=yes ipsec-secret=passphrase use-ipsec=required
Добавить комментарий