Настройка GRE для роутеров на irzOS
Туннель GRE – туннель, позволяющий настроить связность между двумя устройствами, IP адреса которых доступны друг другу, и настроить маршрутизацию, используя интерфейсы туннеля.
Данный вид туннеля не предполагает шифрования и может использоваться либо в закрытой сети, либо поверх зашифрованного канала.
Роутеры на базе irzOS поддерживают автоматическую настройку шифрования IPSec для туннелей GRE, однако совместимость гарантируется только между устройствами на базе irzOS.
Задача:
Построить туннель между двумя точками.
В данном примере роутеры выходят в интернет по интерфейсам с внешними адресами 200.1.1.1 и 200.1.1.2.
GRE туннели имеют адреса 10.0.0.1 и 10.0.0.2 из подсети 10.0.0.0/30, так как нам нужно лишь 2 адреса для связи точка-точка.
Описания полей:
Disabled – включение или выключение туннеля без его удаления из системы
Local IP – интерфейс, через который будет построен туннель
Remote IP – IP адрес удаленной стороны туннеля
Tunnel IP – IP адрес, присвоенный интерфейсу туннеля
Key – идентификатор, позволяющий различать различные туннели, построенные от одного IP адреса. Если туннель лишь один – можно не указывать. Значение должно совпадать на обоих сторонах соответствующего туннеля
Encryption – включение или выключение шифрования IPSec для туннеля. При включении необходимо указать в поле Psk ключ\пароль для автоматической настройки шифрования
MTU – максимальный размер пакета для туннельного интерфейса. Без необходимости не следует изменять
TTL – максимальное время жизни пакета
DSCP – значение DSCP для пакетов в туннеле. По умолчанию - 0, допустимые значения: 0, 8, 16, 24, 32, 40, 48, 56
DF Flag – запрет на фрагментацию пакета в туннеле
Keepalive Delay – временной интервал в секундах, по истечении которого идет проверка соединения со встречной стороной
Keepalive Retries – максимальное количество неудачных проверок прежде, чем туннель будет считаться недействующим
Решение:
-
Перейдите в разделе /tunnel → gre в WEB или CLI интерфейсе irzOS.
-
Нажмите Add и дайте название туннелю, например, GRE.
| Интерфейс не может называться «gre0» – это название зарезервировано для системных нужд! |
-
Выберите в поле Local IP интерфейс, через который будет работать туннель.
-
Укажите в поле Remote IP – внешний адрес удаленной стороны туннеля.
-
В поле Tunnel IP укажите IP адрес и маску, присваиваемые виртуальному интерфейсу туннеля.
-
Укажите в поле Key ключ туннеля, если их будет несколько.
-
Если необходимо шифрование IPSec, то в поле Encryption выберите ipsec и далее укажите ключ в поле psk. Аналогичная настройка потребуется и на другой стороне и может быть затрудненной на устройствах других производителей. Совместимость гарантируется только между роутерами на базе irzOS.
-
Нажмите Apply для применения введенных настроек.
Конфигурация на роутере R1
Назовем создаваемый туннель GRE. Интерфейс Wan в примере называется WAN.
Поле |
Значение |
Local IP |
WAN (выбирается из списка) |
Remote IP |
200.1.1.2 (задается пользователем) |
Tunnel IP |
10.0.0.1/30 (задается пользователем) |
Key |
100 (задается пользователем, необязательно для единственного туннеля GRE) |
Encryption |
none или ipsec (при выборе ipsec автоматически создаст необходимые настройки шифрования IPSec, аналогичная настройка должна быть на другом роутере irzOS) |
Конфигурация на роутере R2
Поле |
Значение |
Local IP |
WAN (выбирается из списка) |
Remote IP |
200.1.1.1 (задается пользователем) |
Tunnel IP |
10.0.0.2/30 (задается пользователем) |
Key |
100 (задается пользователем, необязательно для единственного туннеля GRE) |
Encryption |
none или ipsec (при выборе ipsec автоматически создаст необходимые настройки шифрования IPSec, аналогичная настройка должна быть на другом роутере irzOS) |
Файрволл
| В случае использования шифрования ipsec роутер уже имеет предустановленные правила для файрволла, позволяющие ему создавать туннели GRE. Если шифрование не используется, то создайте в файрволле (/firewall → filter) правило, разрешающее трафик протокола GRE, и поместите это правило выше правила, запрещающего трафик из зоны Wan. |
Статусная информация
Связность установлена, IP адреса туннельных интерфейсов доступны и пингуются с противоположных сторон:
Настройка статических маршрутов
Настроим статические маршруты до локальных сетей противоположных сторон, используя интерфейсы GRE и их туннельные адреса как шлюзы.
Настройки статических маршрутов задаются в разделе /ip → route → list.
Проверка связности
Осуществляется с помощью инструмента Ping (/tools → ping):
admin@Router[/]> /tools ping host=192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_req=1 ttl=64 time=1.18 ms
64 bytes from 192.168.3.1: icmp_req=2 ttl=64 time=0.715 ms
64 bytes from 192.168.3.1: icmp_req=3 ttl=64 time=0.703 ms
64 bytes from 192.168.3.1: icmp_req=4 ttl=64 time=0.649 ms
64 bytes from 192.168.3.1: icmp_req=5 ttl=64 time=0.652 ms
64 bytes from 192.168.3.1: icmp_req=6 ttl=64 time=0.733 ms
64 bytes from 192.168.3.1: icmp_req=7 ttl=64 time=0.651 ms
64 bytes from 192.168.3.1: icmp_req=8 ttl=64 time=0.792 ms
64 bytes from 192.168.3.1: icmp_req=9 ttl=64 time=0.695 ms
64 bytes from 192.168.3.1: icmp_req=10 ttl=64 time=0.731 ms
--- 192.168.3.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 15ms
rtt min/avg/max/mdev = 0.649/0.751/1.189/0.152 ms, ipg/ewma 1.771/0.852 ms
Задача выполнена.
| Все внесенные изменения окончательно сохраняются в роутере только после применения команды /system config commit! |