3. Перенастройте ip-туннель с базового до уровня туннеля, обеспечивающего шифрование трафика
Libreswan— это бесплатная реализация протокола VPN на основе IPsec и IKE для операционных систем Linux.
Виртуальная машина HQ-RTR
Устанавливаем Libreswan
# dnf install libreswan -y
где
/etc/ipsec.d- директория для файлов конфигурации
*.conf- файл конфигурации для создания соединения
*.secrets- файл хранящий секретный ключ
Создаем файл конфигурации для HQ-RTR /etc/ipsec.d/hqrtr.conf
# nano /etc/ipsec.d/hqrtr.conf
В нем прописываем необходимые параметры соединения
conn IPsec-HQ-RTR-to-BR-RTR
auto=start
type=tunnel
authby=secret
left=172.16.1.2
right=172.16.2.2
leftprotoport=gre
rightprotoport=gre
pfs=no
где
Разделconnспецификация соединения, определяющая сетевое соединение, которое должно быть сделано с использованиемIPsec. Данное имя является произвольным и используется для идентификации соединения.
auto=start— после перезагрузки произойдет согласование соединения.
type=tunnel— тип соединения туннель.
authby=secret— аутентификация будет по секретному ключу.
left=172.16.1.2– Локальный IP-адрес (IP HQ-RTR в сторону ISP).
right=172.16.2.2— Удаленный IP-адрес (IP BR-RTR в сторону ISP).
leftprotoport=greиrightprotoport=gre— используем протокол GRE.
pfs=no— прямая секретность ключа. Иногда возникает проблема из-за этой настройки. Выключаем

Так как используем аутентификацию по секретному ключу, создаем в директории /etc/ipsec.d/ файл hqrtr.secrets
# nano /etc/ipsec.d/hqrtr.secrets
Со следующим содержимым
172.16.1.2 172.16.2.2 : PSK "P@ssw0rd"
где
172.16.1.2 - локальный адрес
172.16.2.2 - удаленный адрес
: PSK
"P@ssw0rd" - ключ

Включаем автозапуск и запускаем сервис
# systemctl enable ipsec --now
Для применения настроек необходимо перезапустить сервис
# ipsec restart
Виртуальная машина BR-RTR
Устанавливаем Libreswan
# dnf install libreswan -y
где
/etc/ipsec.d- директория для файлов конфигурации
*.conf- файл конфигурации для создания соединения
*.secrets- файл хранящий секретный ключ
Создаем файл конфигурации для BR-RTR /etc/ipsec.d/brrtr.conf
# nano /etc/ipsec.d/brrtr.conf
В нем прописываем необходимые параметры соединения
conn IPsec-BR-RTR-to-HQ-RTR
auto=start
type=tunnel
authby=secret
left=172.16.2.2
right=172.16.1.2
leftprotoport=gre
rightprotoport=gre
pfs=no
где
Разделconnспецификация соединения, определяющая сетевое соединение, которое должно быть сделано с использованиемIPsec. Данное имя является произвольным и используется для идентификации соединения.
auto=start— после перезагрузки произойдет согласование соединения.
type=tunnel— тип соединения туннель.
authby=secret— аутентификация будет по секретному ключу.
left=172.16.2.2– Локальный IP-адрес (IP BR-RTR в сторону ISP).
right=172.16.1.2— Удаленный IP-адрес (IP HQ-RTR в сторону ISP).
leftprotoport=greиrightprotoport=gre— используем протокол GRE.
pfs=no— прямая секретность ключа. Иногда возникает проблема из-за этой настройки. Выключаем

Так как используем аутентификацию по секретному ключу, создаем в директории /etc/ipsec.d/ файл brrtr.secrets
# nano /etc/ipsec.d/brrtr.secrets
Со следующим содержимым
172.16.2.2 172.16.1.2 : PSK "P@ssw0rd"
где
172.16.2.2 - локальный адрес
172.16.1.2 - удаленный адрес
: PSK
"P@ssw0rd" - ключ

Включаем автозапуск и запускаем сервис
# systemctl enable ipsec --now
Для применения настроек необходимо перезапустить сервис
# ipsec restart
На HQ-RTR или BR-RTR вводим команду
# ipsec status
Пункт «Total IPsec connections» должен содержать одно загруженное и одно активное соединение

Проверяем передаются ли зашифрованные пакеты по сети, используя утилиту tcpdump на HQ-RTR
Устанавливаем tcpdump на HQ-RTR
# dnf install tcpdump -y
Проверяем
1. На HQ-RTR запускаем tcpdump с параметрами и переходим к пункту 2 проверки
# tcpdump -i ens18 -n -p esp
где ens18 интерфейс HQ-RTR в сторону ISP
2. С BR-SRV выполняем ping до HQ-SRV
# ping 192.168.100.2 -c 7
На HQ-RTR видим зашифрованные пакеты с меткой ESP
Если IPsec настроен правильно, увидим защищённый трафик между серверами.

Проверяем работу динамической маршрутизациим выполнив трассировку сетевого пути от HQ-SRV к BR-SRV
# traceroute 192.168.20.4
