11  /  16

Конфигурация GRE

GRE

Generic Routing Encapsulation – простой протокол туннелирования. Это означает, что берутся ваши изначальные данные вместе со служебными заголовками, упаковываются в пакет и передаются по публичной сети.

Конфигурация GRE

Два сервера подключены к интернету через статические белые адреса. На каждом из них заведены приватные сети. Разумеется, эти сети не маршрутизируются в Интернете. Наша задача прокинуть туннель. Для компьютеров в офисах в разных городах не существует никакого интернета. Они считают, что находятся в локальной сети.




Изначальные данные

  • VPN Server 1 c IP адресом 20.20.20.2 через публичную сеть видит VPN Server 2 с IP адресом 40.40.40.2:


  • Компьютер из локальной сети 192.168.1.0/24 с адресом 192.168.1.2 не видит компьютер из локальной сети 172.16.0.0/24 с адресом 172.16.0.2:


VPN Server 1

  • Поднимаем интерфейс tun0:
nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name tun0 ifname tun0 remote 40.40.40.2 local 20.20.20.2
nmcli connection modify tun0 ipv4.addresses '1.1.1.1/30'
nmcli connection modify tun0 ipv4.method manual
nmcli connection modify tun0 +ipv4.routes "172.16.0.0/24 1.1.1.2"
nmcli connection up tun0
  • Разрешаем транзитный трафик, для этого нужно раскомментировать строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf:

  • Сохраняем и применяем командой:
sysctl -p

В результате:

  • Появился интерфейс tun0:


  • Появился маршрут на сеть 172.16.0.0/24:


VPN Server 2

  • Поднимаем интерфейс tun0:
nmcli connection add type ip-tunnel ip-tunnel.mode gre con-name tun0 ifname tun0 remote 20.20.20.2 local 40.40.40.2
nmcli connection modify tun0 ipv4.addresses '1.1.1.2/30'
nmcli connection modify tun0 ipv4.method manual
nmcli connection modify tun0 +ipv4.routes "192.168.1.0/24 1.1.1.1"
nmcli connection up tun0
  • Разрешаем транзитный трафик, для этого нужно раскомментировать строку net.ipv4.ip_forward=1 в файле /etc/sysctl.conf:


  • Сохраняем и применяем командой:
sysctl -p

В результате:

  • Появился интерфейс tun0:


  • Появился маршрут на сеть 192.168.1.1/24:

  •  Компьютер из локальной сети 192.168.1.0/24 с адресом 192.168.1.2 видит компьютер из локальной сети 172.16.0.0/24 с адресом 172.16.0.2:


GRE — это не шифрованный туннель, а значит ваши данные будут не в безопасности, если в промежутке включить какой нибудь снифер пакетов, то можно увидеть какие данные проходят через туннель:



  • Так же для анализа предоставляю файл в формате понятный для wireshark
  • Скачать актуальный wireshark для вашей системы можно по ссылке

Для остановки туннеля можно дать команду:

nmcli connection down tun0

После можно уже удалить туннель если он вам больше не нужен:

nmcli connection del tun0