Skip to content

Задание №6: Межофисный защищенный IP-туннель (GRE) ​

В данном задании настраивается виртуальный защищённый канал связи типа «точка-точка» (Point-to-Point) между маршрутизаторами центрального офиса (HQ-RTR) и филиала (BR-RTR) через публичную сеть провайдера (ISP).


1. Теоретическая справка: протокол GRE и адресация ​

Что такое GRE? ​

GRE (Generic Routing Encapsulation) — протокол туннелирования, который упаковывает сетевые пакеты внутрь стандартных IP-пакетов. В задании разрешён выбор между GRE и IP-in-IP. Мы выбираем GRE, потому что:

  1. GRE поддерживает передачу multicast-трафика (групповой рассылки).
  2. Это обязательное требование для работы протокола динамической маршрутизации OSPF в следующем задании №7.

Расчёт адресации туннеля (сеть /30): ​

Для туннелей типа «точка-точка» стандартом является маска /30:

  • Подсеть: 10.10.10.0/30
  • Адрес сети: 10.10.10.0
  • Первый хост (HQ-RTR): 10.10.10.1
  • Второй хост (BR-RTR): 10.10.10.2
  • Широковещательный адрес (Broadcast): 10.10.10.3

2. Разбор параметров файла options для etcnet ​

Каталог /etc/net/ifaces/gre1/ мы подготовили ещё на этапе Задания №1. Теперь наполняем его конфигурацией:

  • TYPE=iptun — указывает подсистеме etcnet, что данный интерфейс является виртуальным IP-туннелем.
  • TUNTYPE=gre — задаёт протокол туннелирования (GRE).
  • TUNLOCAL — внешний локальный IP-адрес текущего маршрутизатора (на интерфейсе enp7s1), смотрящий на провайдера ISP.
  • TUNREMOTE — внешний IP-адрес удалённого маршрутизатора-партнёра на стороне второго офиса.
  • TUNTTL=64 / TUNOPTIONS='ttl 64' — ограничивает время жизни инкапсулирующего заголовка, предотвращая бесконечное зацикливание пакетов.

Шаг 1. Настройка маршрутизатора филиала (BR-RTR) ​

Выполните команды под пользователем root на машине BR-RTR:

bash
# 1. Открываем файл параметров туннеля:
vim /etc/net/ifaces/gre1/options

Памятка по работе в Vim

  • Вход в режим редактирования: нажмите клавишу i.
  • Выход в командный режим: нажмите Esc.
  • Сохранить и выйти: введите :wq и нажмите Enter (или :q! для отмены и выхода без сохранения).

Вносим параметры связи с центральным офисом:

text
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNTTL=64
TUNOPTIONS='ttl 64'

Назначение параметров в одну команду

bash
cat << 'EOF' > /etc/net/ifaces/gre1/options
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNTTL=64
TUNOPTIONS='ttl 64'
EOF

Далее задаём внутренний IP-адрес туннеля и перезапускаем сеть:

bash
# 2. Назначаем туннельный адрес 10.10.10.2:
echo "10.10.10.2/30" > /etc/net/ifaces/gre1/ipv4address

# 3. Перезапускаем сетевую службу:
systemctl restart network

# 4. Проверяем, что интерфейс gre1 появился и получил адрес:
ip -br -c a

Шаг 2. Настройка маршрутизатора главного офиса (HQ-RTR) ​

Выполните команды под пользователем root на машине HQ-RTR:

bash
# 1. Открываем конфигурацию туннеля gre1:
vim /etc/net/ifaces/gre1/options

Вносим зеркальные параметры (наш локальный адрес — 172.16.1.2, удалённый — 172.16.2.2):

text
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNTTL=64
TUNOPTIONS='ttl 64'

Быстрая запись через cat

bash
cat << 'EOF' > /etc/net/ifaces/gre1/options
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNTTL=64
TUNOPTIONS='ttl 64'
EOF

Назначаем первый адрес подсети и перезапускаем сеть:

bash
# 2. Назначаем туннельный адрес 10.10.10.1:
echo "10.10.10.1/30" > /etc/net/ifaces/gre1/ipv4address

# 3. Перезапускаем сетевую подсистему:
systemctl restart network

# 4. Проверяем состояние интерфейсов:
ip -br -c a

Шаг 3. Проверка работоспособности (Верификация) ​

Главный критерий корректности туннеля — взаимная доступность его внутренних адресов через пинг.

1. Пинг с HQ-RTR в сторону филиала: ​

На маршрутизаторе HQ-RTR отправьте пинг на противоположный конец туннеля:

bash
ping 10.10.10.2 -c 3

Ожидаемый вывод:

text
3 packets transmitted, 3 received, 0% packet loss

2. Пинг с BR-RTR в сторону главного офиса: ​

На маршрутизаторе BR-RTR отправьте ответный пинг:

bash
ping 10.10.10.1 -c 3

Что делать, если пинг туннеля не идёт?

  1. Проверьте физическую связь между внешними интерфейсами: с HQ-RTR должен пинговаться внешний IP филиала: ping 172.16.2.2. Если он недоступен — проверьте шлюз по умолчанию и маршрутизатор ISP.
  2. Проверьте правильность сопоставления адресов: TUNLOCAL на одной стороне обязан совпадать с TUNREMOTE на другой, и наоборот.

Работает на VitePress • Быстрый и удобный движок для документации