GRE туннель в роутере RTU

GRE туннель в роутере RTU

GRE - сетевой протокол туннелирования, позволяющий соединять удаленные узлы со статическими адресами в канал через публичную сеть. Соединение происходит путём инкапсуляции пакетов различных протоколов сетевого уровня в IP-пакеты. Протокол не поддерживает шифрование данных и работает без отслеживания состояния соединения (stateless).

Перед началом изучения с ознакомительным примером реализации GRE-туннеля необходимо иметь ввиду, что для того, чтобы реализовать GRE-туннель между двумя хостами, необходимо иметь на каждом из устройств статический IP-адрес - либо внутренней сети, либо внешней.

Настройка GRE-туннеля на роутере RTU

Настроить GRE-туннель возможно двумя способами - в Web-интерфейсе и через консоль. Рассмотрим оба способа.

Данный вид VPN-туннелирования при использовании двух устройств RTUx68 настраивается зеркальным образом на обоих роутерах!


1. Создание GRE-туннеля через Web-интерфейс

Чтобы создать туннель, перейдем во вкладку "Сеть - Интерфейсы" и добавим два интерфейса:

     1.1. Зададим имя интерфейса (например, GREext - внешний) и выберем протокол "GRE туннель через IPv4"



     1.2. Укажем необходимые параметры для подключения:

  • Удаленный IPv4 или FQDN - адрес удаленного узла
  • Локальный IPv4 - WAN адрес нашего роутера
  • На вкладке "Дополнительные настройки" можно задать прочие необходимые параметры



     1.3. Добавим второй интерфейс с названием GREint (внутренний), выберем протокол "Статический адрес" и устройство - псевдоним @GREext (если его нет, создаем как "пользовательский")



Создаем интерфейс, и далее указываем IPv4 адрес и маску сети, в данном случае - туннельный адрес.


Сохраняем и применяем параметры.

     1.4. Настройка межсетевого экрана:

Теперь необходимо создать зону VPN в межсетевом экране, а также разрешить входящие соединения для GRE:

Переходим в вкладку "Сеть - Межсетевой экран", создаем новую зону:


Сохраняем, применяем.

     1.5. Далее, в том же Межсетевом экране переходим во вкладку "Правила для трафика" и создаем новое правило:

Протокол GRE возможно придется указать вручную как "пользовательский".

После сохранения всех параметров и настройки на обоих устройствах, туннель GRE должен автоматически "подняться".


2. Создание GRE-туннеля через SSH


     2.1. Создание и настройка GRE-туннеля:

Создадим внешний интерфейс GRE:

config interface 'GREext'
    option mtu '1476'
    option proto 'gre'
    option ttl '255'
    option peeraddr '172.26.19.5'
    option ipaddr '172.26.19.15'

Создадим внутренний(туннельный) интерфейс GRE:

config interface 'GREint'
    option proto 'static'
    option ipaddr '10.0.0.2'
    option netmask '255.255.255.0'
    option device '@GREext'

     2.2. Настройка межсетевого экрана

Редактируем файл /etc/config/firewall:

nano /etc/config/firewall

В конце списка правил создаём новую зону VPN и задаём правила для нее:

config zone
    option name 'gre'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    option masq '1'
    option network 'GREext'

Протокол GRE использует порт (протокол) 47, его необходимо будет "открыть" для доступа к роутеру извне.

config rule
    option target 'ACCEPT'
    option _name 'gre'
    option src 'wan'
    option proto '47'

Настраиваем перенаправление между зонами. Разрешаем перенаправление в зону lan из зоны gre:

config forwarding
    option dest 'lan'
    option src 'gre'

Разрешаем перенаправление из зоны lan в зону gre:

config forwarding
    option dest 'gre'
    option src 'lan'

Результат должен быть таким с обеих сторон:


Если Вам необходимо произвести шифрование и защиту данного туннеля, Вы можете воспользоваться механизмом IPSec, ознакомиться с которым можно по ссылке: IPSec шифрование в роутере RTU.