Подробный гайд: Удаление адреса из туннеля ViPNet Client 5 для Linux
Важно:
ViPNet Client 5 является проприетарным продуктом компании «Инфотекс». Точные пути к конфигурационным файлам, имена служб и доступные утилиты могут незначительно отличаться в зависимости от дистрибутива Linux и версии сборки (стабильная/тестовая). Перед внесением изменений настоятельно рекомендуется свериться с официальной документацией вашей сборки или обратиться к администратору, управляющему узлом-координатором ViPNet.
Что подразумевается под «убрать адрес из туннеля»
В ViPNet туннель определяется списком сетей/адресов, трафик на которые шифруется и направляется через защищённый канал.
Удаление адреса означает:
- Исключение IP/подсети из конфигурации туннеля.
- Удаление соответствующего маршрута из таблицы маршрутизации.
- Перезапуск службы для применения изменений.
Требования
- Доступ
rootили праваsudo - Остановка службы ViPNet на время редактирования конфигов
- Резервная копия конфигурации
- Понимание, что локальные изменения могут быть перезаписаны при синхронизации политик с Координатором ViPNet
Шаг 1: Создание резервной копии конфигурации
sudo cp -r /etc/vipnet /etc/vipnet_backup_$(date +%F_%H%M)
echo "Резервная копия создана в /etc/vipnet_backup_*"
Шаг 2: Остановка службы ViPNet
Имя службы зависит от дистрибутива и сборки. Проверьте и выполните:
# Проверка имени службы
systemctl list-units | grep -iE 'vipnet|vnet'
# Остановка (наиболее распространённые варианты)
sudo systemctl stop vnetd
# или
sudo systemctl stop vipnet-client
Убедитесь, что служба остановлена:
systemctl status vnetd # или vipnet-client
Шаг 3: Поиск конфигурационного файла туннелей
В ViPNet Client 5 конфигурация обычно находится в /etc/vipnet/.
Основные файлы:
/etc/vipnet/vnet.conf— основной конфиг (часто содержит секции туннелей)/etc/vipnet/tunnels.conf— вынесенный конфиг туннелей (в некоторых сборках)/etc/vipnet/policy/— файлы политик безопасности (не редактировать вручную)
Откройте файл и найдите секцию, описывающую туннель.
Пример структуры:
[Tunnel "MainZ"]
enabled = yes
remote_address = 10.20.30.40
local_network = 192.168.1.0/24
remote_networks = 10.0.0.0/8, 172.16.5.0/24, 192.168.100.5/32
Или в XML-формате (в новых сборках):
<tunnel name="MainZ" enabled="true">
<destinations>
<subnet>10.0.0.0/8</subnet>
<subnet>172.16.5.0/24</subnet>
<subnet>192.168.100.5/32</subnet>
</destinations>
</tunnel>
Шаг 4: Удаление адреса
1. Откройте файл в редакторе:
sudo nano /etc/vipnet/vnet.conf
# или
sudo nano /etc/vipnet/tunnels.conf
- Найдите целевой адрес/подсеть в списке
remote_networks,destinationsили аналогичном поле. - Удалите его, соблюдая синтаксис списка (уберите лишнюю запятую, если адрес был не последним).
- Сохраните файл.
Пример (INI):
# Было:
remote_networks = 10.0.0.0/8, 172.16.5.0/24, 192.168.100.5/32
# Стало (удалён 192.168.100.5/32):
remote_networks = 10.0.0.0/8, 172.16.5.0/24
Пример (XML):
<!-- Удалите строку: -->
<subnet>192.168.100.5/32</subnet>
Шаг 5: Проверка синтаксиса (если доступно)
В некоторых сборках есть встроенная проверка:
sudo vnetd --check-config
# или
sudo vnetadmin --validate
Если команда не найдена, пропустите шаг. Синтаксические ошибки обычно отлавливаются при запуске службы (см. логи).
Шаг 6: Перезапуск службы
sudo systemctl start vnetd
# или
sudo systemctl start vipnet-client
# Включение автозапуска (если было отключено)
sudo systemctl enable vnetd
Проверьте статус:
systemctl status vnetd
journalctl -u vnetd -n 50 --no-pager
Ищите строки Configuration loaded successfully, Tunnel X started, отсутствие ERROR/FATAL.
Шаг 7: Верификация изменений
1. Проверка маршрутов:
ip route | grep -E 'vnet|vipnet'
# Удалённый адрес не должен попадать в таблицу маршрутов через интерфейс ViPNet
2. Проверка статуса туннеля:
sudo vnetctl status
# или
sudo vnetadmin --list-tunnels
3. Тестовый трафик:
traceroute <удалённый_адрес>
ping -c 3 <удалённый_адрес>
Трафик должен идти по основному сетевому интерфейсу, а не через ViPNet.
Альтернативный способ: vnetadmin (если установлен)
В некоторых сборках доступен CLI-интерфейс управления:
# Список туннелей
sudo vnetadmin --list
# Просмотр конфигурации конкретного туннеля
sudo vnetadmin --show-tunnel "ИмяТуннеля"
# Удаление адреса (синтаксис зависит от версии)
sudo vnetadmin --remove-route --tunnel "ИмяТуннеля" --address 192.168.100.5/32
# Применение без перезапуска службы
sudo vnetadmin --reload
Команды
vnetadminне унифицированы во всех релизах. Если команда возвращаетunknown option, используйте ручное редактирование конфигов (Шаги 3–6).
Критически важные замечания
| Тема | Рекомендация |
|---|---|
| Синхронизация с Координатором | ViPNet часто использует централизованное управление. При получении новой политики с Координатора локальные изменения могут быть перезаписаны. Если адрес должен быть удалён permanently, измените политику на стороне Координатора. |
| Фаервол / iptables / nftables | ViPNet может создавать цепочки в iptables. После удаления адреса убедитесь, что правила MASQUERADE/REDIRECT не блокируют трафик. |
| DNS / Split-DNS | Если удалённый адрес использовался в конфигурации DNS-суффиксов, очистите соответствующие записи в /etc/resolv.conf или конфигурации systemd-resolved. |
| Откат | При проблемах восстановите бэкап: sudo cp -r /etc/vipnet_backup_*/* /etc/vipnet/ → sudo systemctl restart vnetd |
| Безопасность | Удаление адреса из туннеля означает, что трафик к нему пойдёт открыто. Убедитесь, что это соответствует политике безопасности организации. |
Куда обращаться при проблемах
- Официальная документация:
file:///usr/share/doc/vipnet-client/(если установлена) - Логи:
/var/log/vipnet/,journalctl -u vnetd - Поддержка Инфотекс: через портал техподдержки или ответственного администратора ViPNet в вашей организации