Задание №6: Межофисный защищенный IP-туннель (GRE)
В данном задании настраивается виртуальный защищённый канал связи типа «точка-точка» (Point-to-Point) между маршрутизаторами центрального офиса (HQ-RTR) и филиала (BR-RTR) через публичную сеть провайдера (ISP).
1. Теоретическая справка: протокол GRE и адресация
Что такое GRE?
GRE (Generic Routing Encapsulation) — протокол туннелирования, который упаковывает сетевые пакеты внутрь стандартных IP-пакетов. В задании разрешён выбор между GRE и IP-in-IP. Мы выбираем GRE, потому что:
- GRE поддерживает передачу multicast-трафика (групповой рассылки).
- Это обязательное требование для работы протокола динамической маршрутизации 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:
# 1. Открываем файл параметров туннеля:
vim /etc/net/ifaces/gre1/optionsПамятка по работе в Vim
- Вход в режим редактирования: нажмите клавишу
i. - Выход в командный режим: нажмите
Esc. - Сохранить и выйти: введите
:wqи нажмитеEnter(или:q!для отмены и выхода без сохранения).
Вносим параметры связи с центральным офисом:
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.2.2
TUNREMOTE=172.16.1.2
TUNTTL=64
TUNOPTIONS='ttl 64'Назначение параметров в одну команду
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-адрес туннеля и перезапускаем сеть:
# 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:
# 1. Открываем конфигурацию туннеля gre1:
vim /etc/net/ifaces/gre1/optionsВносим зеркальные параметры (наш локальный адрес — 172.16.1.2, удалённый — 172.16.2.2):
TYPE=iptun
TUNTYPE=gre
TUNLOCAL=172.16.1.2
TUNREMOTE=172.16.2.2
TUNTTL=64
TUNOPTIONS='ttl 64'Быстрая запись через cat
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Назначаем первый адрес подсети и перезапускаем сеть:
# 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 отправьте пинг на противоположный конец туннеля:
ping 10.10.10.2 -c 3Ожидаемый вывод:
3 packets transmitted, 3 received, 0% packet loss2. Пинг с BR-RTR в сторону главного офиса:
На маршрутизаторе BR-RTR отправьте ответный пинг:
ping 10.10.10.1 -c 3Что делать, если пинг туннеля не идёт?
- Проверьте физическую связь между внешними интерфейсами: с
HQ-RTRдолжен пинговаться внешний IP филиала:ping 172.16.2.2. Если он недоступен — проверьте шлюз по умолчанию и маршрутизатор ISP. - Проверьте правильность сопоставления адресов:
TUNLOCALна одной стороне обязан совпадать сTUNREMOTEна другой, и наоборот.
