Skip to content

Instantly share code, notes, and snippets.

@cofob
Created May 11, 2023 15:48
Show Gist options
  • Save cofob/1318f06858e5b6e67c5b16fbc678afae to your computer and use it in GitHub Desktop.
Save cofob/1318f06858e5b6e67c5b16fbc678afae to your computer and use it in GitHub Desktop.

Настройка GRE

GRE (Generic Routing Encapsulation) туннели позволяют оборачивать пакеты одной сети внутри пакетов другой сети. Вот пошаговая инструкция по созданию GRE туннеля на Linux Ubuntu между двумя серверами (1.1.1.1 и 2.2.2.2) с использованием внутреннего адреса из подсети 10.100.0.1/24.

Сервер 1.1.1.1

  1. Откройте терминал и введите следующую команду для создания GRE туннеля:

    sudo ip tunnel add gre1 mode gre remote 2.2.2.2 local 1.1.1.1 ttl 255
  2. Назначьте IP-адрес для нового интерфейса:

    sudo ip addr add 10.100.0.1/24 dev gre1
  3. Включите интерфейс:

    sudo ip link set gre1 up

Сервер 2.2.2.2

  1. Откройте терминал и введите следующую команду для создания GRE туннеля:

    sudo ip tunnel add gre1 mode gre remote 1.1.1.1 local 2.2.2.2 ttl 255
  2. Назначьте IP-адрес для нового интерфейса:

    sudo ip addr add 10.100.0.2/24 dev gre1
  3. Включите интерфейс:

    sudo ip link set gre1 up

После выполнения этих шагов на обоих серверах у вас должен быть настроен GRE туннель между 1.1.1.1 и 2.2.2.2. Внутренний адрес 10.100.0.1/24 использовался для сервера 1.1.1.1, а 10.100.0.2/24 - для сервера 2.2.2.2. Вы можете проверить связь между двумя серверами с помощью команды ping.

Если вы хотите, чтобы туннель автоматически запускался при старте системы, добавьте команды из шагов 1-3 в файл /etc/rc.local на обоих серверах.

Обратите внимание, что эта инструкция предполагает, что между двумя серверами разрешен трафик GRE (протокол 47). Если между серверами есть брандмауэр или другое оборудование, которое может блокировать этот трафик, вам нужно будет соответствующим образом настроить его.

Также стоит учесть, что GRE туннели не предоставляют никакой формы шифрования.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment