Настройка маршрутизации в сеть VipNet

Оцените статью

При работе над текущим проектом потребовалось реализовать довольно хитрую маршрутизацию для пользователей в сеть закрытую VipNet-ом. И чтобы не забыть эту эпическую историю напишу небольшую инструкцию как это было реализовано.

На этапе установки RedOS устанавливаем статический адрес для сервера который будет выступать маршрутизатором на сети VipNet.

Настройка статического IP-адреса для виртуальной машины RedOS 8

Проверяем, что настройки применились корректно.

Адрес и имя узла

Приступаем к базовой установке сервера.

Все готово к установке

Копируем VipNet Linux client для RedOS.

Устанавливаем клиент.

# rpm -i ./vipnetclient-gui_gost_x86-64_5.1.4-8917.rpm

Запускаем графическую оболочку.

Установка ключа VipNet

Добавляем ключ и вводим пароль ключа.

VipNet клиент активен

VipNet подключен.

Настраиваем NAT для входящего трафика, но сначала определимся с адресацией.

# tcpdump -i ens18 -n icmp

Результат.

08:51:13.910753 IP 10.88.14.100 > 10.88.14.106: ICMP echo request, id 1, seq 1, length 64
08:51:13.910802 IP 10.88.14.106 > 10.88.14.100: ICMP echo reply, id 1, seq 1, length 64
08:51:14.910011 IP 10.88.14.100 > 10.88.14.106: ICMP echo request, id 1, seq 2, length 64

Настраиваем сервис для маскардинга трафика /etc/systemd/system/nat-2-vipnet.service.

[Unit]
Description=NAT network for VipNet
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/iptables -t nat -A POSTROUTING -s 10.88.14.0/24 -o tun0 -j MASQUERADE

[Install]
WantedBy=multi-user.target

Активируем и запускаем.

# systemctl enable nat-2-vipnet.service
# systemctl start nat-2-vipnet.service

Проверяем правило.

# iptables -L -n -v -t nat
# Warning: iptables-legacy tables present, use iptables-legacy to see them
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  0    --  *      ens18   10.88.14.0/24        0.0.0.0/0

Не забываем активировать маршрутизацию в /etc/sysctl.conf.

net.ipv4.ip_forward=1

Проверим, что роутинг активен.

# cat /proc/sys/net/ipv4/ip_forward

Тестируем связь до хоста с сервера с VipNet.

# ping 10.14.115.241
PING 10.14.115.241 (10.14.115.241) 56(84) bytes of data.
64 bytes from 10.14.115.241: icmp_seq=1 ttl=63 time=69.8 ms
64 bytes from 10.14.115.241: icmp_seq=2 ttl=63 time=70.1 ms
^C
--- 10.14.115.241 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 69.760/69.907/70.055/0.147 ms

На любом сервере в этой подсети пропишем маршрут через хост в VipNet до сети за VipNet.

# route add -net 10.14.115.0/24 gw 10.88.14.106

Проверяем, что мы можем работать через этот маршрут.

# ping 10.14.115.241
PING 10.14.115.241 (10.14.115.241) 56(84) bytes of data.
64 bytes from 10.14.115.241: icmp_seq=1 ttl=62 time=70.9 ms
64 bytes from 10.14.115.241: icmp_seq=2 ttl=62 time=70.4 ms
64 bytes from 10.14.115.241: icmp_seq=3 ttl=62 time=70.7 ms
^C
— 10.14.115.241 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 70.414/70.671/70.884/0.194 ms

Настраиваем автоматический вход в систему для автозапуска VipNet (Администрирование -> менеджер пользователей Mate).

Менеджер пользователей Mate

Оключаем скринсэйвер (Параметры -> Хранитель экрана).

Добавляем VipNet в автозапуск (Параметры -> Запуск приложений).

Прописываем на роутере скриптом маршруты до нужных сетей /usr/local/bin/ext_routes.sh.

#!/bin/sh

route add -net 10.14.0.0/16 gw 10.88.14.106

exit 0

Сервис автоприменения маршрутов аналогично сервису для NAT /etc/systemd/system/ext-route.service.

[Unit]
Description=Ext Routes
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/ext_routes.sh

[Install]
WantedBy=multi-user.target

Активируем и запускаем.

# systemctl daemon-reload
# systemctl start ext-route.service
# systemctl enable ext-route.service

Добавляем статические маршруты для SoftEther VPN.

Добавляем статические маршруты для SoftEther VPN

Похожие записи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

В этой статье мы рассмотрим пошаговую настройку кластера Kubernetes на Ubuntu 24.04 с тремя узлами: один мастер (который также может запускать пользовательские поды) и два рабочих узла. Мы настроим PersistentVolume…

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

В рамках создания собственного кластера Kubernetes я поднаял кластер Mysql который работает в режиме Master-Slave и Slave-узлы соответственно работают в режиме read-only, а мастер в read-write. Соответственно мне нужен балансировщик…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Настройка кластера Kubernetes в Ubuntu Linux 24.04: три узла (один мастер с возможностью запуска пользовательских подов, PVC в каталоге на хосте, сеть на Calico)

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Инструкция по установке и настройке ProxySQL в Ubuntu 24.04

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по настройке UFW в Ubuntu: от основ до продвинутых правил

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Полное руководство по развертыванию GlusterFS в Ubuntu Linux: от подготовки до тестирования производительности

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Подробная инструкция по настройке кластера из трёх серверов MySQL на Ubuntu 24.04

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования

Полное руководство по настройке NFS-клиента в Ubuntu Linux: от установки до автоматического монтирования