Добавить в корзинуПозвонить
Найти в Дзене

GRE over IPsec в ALT Linux

Схема GRE over IPsec используется, когда нужен GRE-туннель поверх зашифрованного канала IPsec. В ALT Linux GRE-интерфейс можно поднять через TYPE=iptun и TUNTYPE=gre, а затем защитить трафик с помощью strongSwan в режиме transport. Сначала установите необходимые пакеты: apt-get install strongswan frr -y Для проверки прохождения трафика удобно также установить tcpdump: apt-get install tcpdump -y После установки можно переходить к настройке GRE-интерфейса и IPsec-политики. В ALT Linux конфигурация GRE-интерфейса обычно задается в /etc/net/ifaces/gre1/options: TUNLOCAL=x.x.x.x
TUNREMOTE=y.y.y.y
TUNTYPE=gre
TYPE=iptun
TUNTTL=64
TUNMTU=1476
TUNOPTIONS='ttl 64'
DISABLE=no Такой набор параметров задает GRE-туннель с TTL 64 и MTU 1476, что часто используют, чтобы снизить риск фрагментации. На второй стороне туннеля параметры должны быть зеркальными: TUNLOCAL и TUNREMOTE меняются местами. Если нужен адрес на самом GRE-интерфейсе, его обычно задают отдельно, например через файл ipv4address в кат
Оглавление

Схема GRE over IPsec используется, когда нужен GRE-туннель поверх зашифрованного канала IPsec. В ALT Linux GRE-интерфейс можно поднять через TYPE=iptun и TUNTYPE=gre, а затем защитить трафик с помощью strongSwan в режиме transport.

Подготовка системы

Сначала установите необходимые пакеты:

apt-get install strongswan frr -y

Для проверки прохождения трафика удобно также установить tcpdump:

apt-get install tcpdump -y

После установки можно переходить к настройке GRE-интерфейса и IPsec-политики.

Настройка GRE-интерфейса

В ALT Linux конфигурация GRE-интерфейса обычно задается в /etc/net/ifaces/gre1/options:

TUNLOCAL=x.x.x.x
TUNREMOTE=y.y.y.y
TUNTYPE=gre
TYPE=iptun
TUNTTL=64
TUNMTU=1476
TUNOPTIONS='ttl 64'
DISABLE=no

Такой набор параметров задает GRE-туннель с TTL 64 и MTU 1476, что часто используют, чтобы снизить риск фрагментации. На второй стороне туннеля параметры должны быть зеркальными: TUNLOCAL и TUNREMOTE меняются местами.

Если нужен адрес на самом GRE-интерфейсе, его обычно задают отдельно, например через файл ipv4address в каталоге интерфейса.

Настройка strongSwan

Для защиты GRE-трафика через IPsec используют strongSwan. В классической схеме в ipsec.conf задают transport mode и ограничивают selectors протоколом GRE (IP protocol 47), чтобы шифровался именно GRE-трафик.

Пример ipsec.conf:

config setup
charondebug="ike 1, knl 1, cfg 0"

conn %default
keyexchange=ikev2
compress=no
keylife=20m
rekeymargin=3m
keyingtries=1

conn gre-tunnel
left=local_ip
leftsubnet=local_ip/32
leftprotoport=47
right=remote_ip
rightsubnet=remote_ip/32
rightprotoport=47
authby=secret
type=transport
ike=aes256-sha256-modp2048!
esp=aes256-sha256!
auto=start

В файле ipsec.secrets указывают предварительно общий ключ:

local_ip remote_ip : PSK "password"

Затем включают и запускают службу:

systemctl enable --now strongswan-starter.service

Проверка работы

После запуска туннеля полезно проверить состояние туннеля:

ipsec statusall
ipsec status

Для диагностики можно посмотреть трафик на внешнем интерфейсе:

tcpdump -n -i enp7s1 host ip_address

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