VPN:GRE и IPsec (тонкая настройка, аутентификация с помощью пароля)

Материал из MikroTik WiKi rus
Перейти к: навигация, поиск

Схема сети

Схема сети VPN на базе GRE-тунеля на маршрутизаторах MikroTik


В головном офисе установлен маршрутизатор GW1. В филиале установлен маршрутизатор GW2.

Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24

IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24

Филиал
IP-адрес внешней сети головного офиса: 10.1.200.1/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.200.1/24

IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24

VPN-канал
IP-адрес VPN-сети: 172.16.30.0/30
IP-адрес VPN-интерфейса маршрутизатора GW1: 172.16.30.1/30
IP-адрес VPN-интерфейса маршрутизатора GW2: 172.16.30.2/30

Настройка

Настройка первого маршрутизатора

Через графический интерфейс

Настройка состоит из двух частей:

  1. Создать туннель GRE
  2. Зашифровать трафик, который проходит через туннель GRE

Создать GRE-туннель. Укажем параметр "keepalive", который определяет находится ли туннель в рабочем состоянии. Если параметр не включен, то даже, если второй маршрутизатор будет выключен интерфейс все равно будет показывать рабочее состояние, что не удобно для диагностики. Мы рекомендуем использоваться значение 10 попыток по 10 секунд. т. е., если в течении 100 секунд не будет никаких сигналов с противоположной стороны туннель перейдет в нерабочее состояние. При этом он автоматически включится, если противоположная сторона попытается установить соединение. Мы рекомендуем выбирать имя интерфейса, которое бы позволяло однозначно идентифицировать кто находится на противоположной стороне туннеля. Если филиалов 1-2, то достаточно и простых идентификаторов. А вот если их число начнет расти, то идентификаторы вроде filial1, filial2, filial3 и т. д. будут не самыми удобными.

Настройка GRE-интерфейса на 1-м маршрутизаторе MikroTik


Назначить IP-адрес GRE-туннелю, созданному на предыдущем шаге.

Настройка IP-адреса для GRE-интерфейса на 1-м маршрутизаторе MikroTik


Настройка IPsec-пира. На первом этапе надо указать адрес пира (маршрутизатора с которым будет устанавливаться соединение) и ключ (secret) с помощью, которого будет проходить авторизация. В качестве алгоритма шифрования мы выбрали aes-128. Конечно можно использовать и более длинные ключи, но это не имеет практического смысла, т. к. даже для подбора такого ключа требуется очень-очень много лет. Поэтому мы считаем, что более длинные ключи нужны либо в маркетинговых целях либо, если вы очень заморочены на глобальной слежке правительства.

Настройка IPSec peer'а с аутентификацией с помощью пароля на маршрутизаторе MikroTik.png


Настройка политики IPsec. Следующим шагом надо настроить политику IPsec. Политика описывает в каких случаях должно использоваться шифрование. Т. е., если пакет совпадает с правилом описанным в политике, то выполняется заданное действие. В нашем случае это шифрование трафика идещего через интерфейс GRE. Если пакет не совпадает с правилом, то он идет дальше без обработки политикой.

Настройка политики IPSec на маршрутизаторе MikroTik, 1


Настройка политики IPSec на маршрутизаторе MikroTik, 2

Через консоль

/interface gre
add name=GRE1 keepalive=10s,10 remote-address=10.1.200.1


/ip address
add address=172.16.30.1/30 interface=GRE1


/ip ipsec peer
add address=172.16.30.2/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no comment=filial1


/ip ipsec policy
add action=encrypt src-address=192.168.15.0/25 dst-address=192.168.25.0/25 sa-src-address=172.16.30.1 sa-dst-address=172.16.30.2 ipsec-protocols=esp tunnel=yes comment=filial1

Настройка второго маршрутизатора

Через графический интерфейс

Расписывать заново каждое действие мы не будем, т. к. они полностью аналогичны настройкам на первом маршрутизаторе.

Настройки GRE

Настройка GRE-интерфейса на 2-м маршрутизаторе MikroTik


Настройка IP-адреса для GRE-интерфейса на 2-м маршрутизаторе MikroTik


Настройка IPsec-пира.

Настройка IPSec peer'а с аутентификацией с помощью пароля на маршрутизаторе MikroTik.png


Настройка политики IPsec.

Настройка политики IPSec на маршрутизаторе MikroTik, 1


Настройка политики IPSec на маршрутизаторе MikroTik, 2

Через консоль

/interface gre
add name=GRE1 keepalive=10s,10 remote-address=10.1.100.1


/ip address
add address=172.16.30.2/30 interface=GRE1


/ip ipsec peer
add address=172.16.30.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no comment=HQ


/ip ipsec policy
add action=encrypt src-address=192.168.25.0/25 dst-address=192.168.15.0/25 sa-src-address=172.16.30.2 sa-dst-address=172.16.30.1 ipsec-protocols=esp tunnel=yes comment=HQ

Настройка маршрутизации

Если на предыдущих шагах все было сделано верно, то VPN-соединение между двумя офисами было установлено, но для того, что бы обе сети могли обмениваться информацией друг с другом они должны знать друг о друге, т. е. между ними должна быть настроена маршрутизация. Для этого надо выполнить следующие шаги:

На первом маршрутизаторе

Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.25.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.2 (интерфейс через который можно "добраться" до сети)
Pref. Source: 192.168.15.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки "Comment" (не обязательно)

Настройка маршрута через VPN на МикроТик


Через консоль

/ip route
add comment="route to filial1 through VPN" dst-address=192.168.25.0/24 gateway=172.16.30.2 pref-src=192.168.15.1

На втором маршрутизаторе

Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.15.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.1 (интерфейс через который можно "добраться" до сети)
Pref. Source: 192.168.25.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки "Comment" (не обязательно)

Настройка маршрута через VPN на МикроТик


Через консоль
/ip route
add comment="route to HQ through VPN" dst-address=192.168.15.0/24 gateway=172.16.30.1 pref-src=192.168.25.1


HQ - это аббревиатура от headquarter, что в переводе означает головной офис.

Icon-note.png

Примечание: Параметр Pref. Source (pref-src) не является обязательным. Он становится нужен, если количество филиалов будет более одного. Без этого параметра не будут проходить ping'и с маршрутизатора одного филиала до хостов и внутреннего интерфейса маршрутизатора другого филиала. Не будут проходить ping'и именно с маршрутизаторов, т. е. между хостами двух филиалов связь будет.


Следует учесть

Проверка

Проверка состоит из двух частей:

  1. Надо убедиться, что между двумя маршрутизаторами MikroTik установлено VPN-соединение. Это описано ниже.
  2. Если VPN-соединение установлено успешно, то далее надо проверить есть ли связь между хостами в двух сетях. Для этого достаточно запустить ping с любого компьютера в сети на любой компьютер другой сети.


Icon-warn.png

Предупреждение: При проверке работоспособности GRE-туннеля надо учитывать параметр keepalive. Если он отсутствует, то GRE-туннель всегда будет отображаться в рабочем состоянии даже, если это не так. Если параметр стоит, как 10 секунд + 10 попыток, то это значит, что маршрутизатор сделает 10 попыток по 10 секунд каждая (итого 100 секунд) и только по истечении этого периода интерфейс будет отображаться как нерабочий. Т. е. теоретически возможна ситуация, когда интерфейс только-только перестал работать, но время по keepalive еще не вышло, и вы в этот промежуток времени проверите состояние туннеля, которое будет отображаться, как рабочее.


Через графический интерфейс

Если подключение установлено, то статус подключения должен отображаться с буквой "R". Что значит running, т. е. запущено.

Проверка GRE-подключения на маршрутизаторе МикроТик

Через консоль

На обоих маршрутизаторах выполнить команду /interface gre print
Если соединение установлено успешно, то статус подключения, так же, как и через графический интерфейс, должен отображаться с буквой "R".

Проверка GRE-туннеля на маршрутизаторе MikroTik

Типичные проблемы

  • Если VPN-соединение между двумя маршрутизаторами MikroTik не устанавливается, то надо проверить:
  1. Не мешает ли файервол. Для уверенности лучше временно отключить все правила файерволов на обоих маршрутизаторах. Стандартные настройки файерволов можно посмотреть здесь.
  2. Совпадают ли пароль IPSec на обоих маршрутизаторах.
  3. На GRE-интерфейсах указан правильный адрес другого GRE-интерфейса к которому должно происходить подключение.
  • Если не проходит ping между двумя компьютерами в разных сетях, то надо проверить:
  1. Правильно ли сделаны настройки маршрутизации на обоих маршрутизаторах не зависимо от того из какой сети в какую будет идти пинг.
  2. На брэндмауэре компьютера, который будет пинговаться, сделаны необходимые разрешения для протокола ICMP. Для уверенности можно отключить встроенный брэндмауэр и выгрузить антивирус.

Полезные статьи