Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

OPENVPN_CCD_ROUTING_FAIL Сетевое оборудование и VPN

Настройка OpenVPN Client-Config-Dir (CCD): статические IP и маршруты

Обновлено: 25.08.2026 · Официальная документация ↗
  • Клиенты OpenVPN получают случайные IP-адреса из пула при каждом новом подключении.
  • Центральный сервер не видит локальную подсеть за подключенным OpenVPN-клиентом (Site-to-Site режим).
  • Ошибка в логах сервера: MULTI: no route to receive address from client.
  • Игнорирование персональных конфигураций из каталога client-config-dir из-за несовпадения Common Name (CN).

1. Архитектура механизма Client-Config-Dir (CCD)

Механизм CCD позволяет серверу OpenVPN при аутентификации клиента считывать файл конфигурации, имя которого в точности совпадает с Common Name (CN) сертификата клиента. Это позволяет передавать индивидуальные статические IP, персональные маршруты (push route) и регистрировать подсети филиалов внутри виртуального маршрутизатора OpenVPN (директива iroute).

2. Настройка серверной части (/etc/openvpn/server.conf)

# Включение каталога индивидуальных настроек клиентов
client-config-dir /etc/openvpn/ccd

# Базовая сеть туннеля
server 10.8.0.0 255.255.255.0
topology subnet

# Регистрация маршрута к подсети филиала в таблице ядра сервера
route 192.168.30.0 255.255.255.0

3. Создание персонального файла клиента в каталоге CCD

Создайте файл /etc/openvpn/ccd/branch-office-spb (имя файла должно строго совпадать с CN сертификата):

# 1. Назначение фиксированного IP клиенту в топологии subnet
ifconfig-push 10.8.0.50 255.255.255.0

# 2. Сообщение внутреннему роутеру OpenVPN, что подсеть 192.168.30.0/24 находится за этим клиентом
iroute 192.168.30.0 255.255.255.0

# 3. Передача индивидуальных маршрутов только этому клиенту
push "route 172.16.0.0 255.255.0.0"
push "dhcp-option DNS 10.8.0.1"

4. Настройка прав доступа

chmod 750 /etc/openvpn/ccd
chmod 640 /etc/openvpn/ccd/*
chown -R root:openvpn /etc/openvpn/ccd

5. Включение форвардинга трафика в ядре сервера

# Активация IP Forwarding
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/99-openvpn-forward.conf
sysctl --system

# Разрешение транзитного трафика в iptables
iptables -A FORWARD -s 10.8.0.0/24 -d 192.168.30.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.30.0/24 -d 10.8.0.0/24 -j ACCEPT
💡 Практика специалистов: Если вы настраиваете Site-to-Site туннель между филиалами, всегда указывайте обе директивы: route в server.conf (для ядра Linux) и iroute в файле CCD (для внутреннего диспетчера OpenVPN). Без одной из них трафик ходить не будет.

Частые вопросы (FAQ)

В чем разница между директивами 'route' и 'iroute'?

Директива 'route' добавляет маршрут в таблицу маршрутизации самой операционной системы Linux. Директива 'iroute' (Internal Route) регистрирует маршрут во внутренней таблице демона OpenVPN, чтобы он знал, какому именно подключенному клиенту адресовать этот пакет.

Почему настройки из файла CCD не применяются к клиенту?

Проверьте CN сертификата клиента через openssl x509 -in client.crt -noout -subject. Имя файла в каталоге ccd должно точно совпадать со значением CN с учетом регистра символов.

Какую топологию сети следует использовать в modern OpenVPN?

Всегда используйте 'topology subnet'. Устаревшая топология 'net30' выделяет виртуальные подсети по 4 адреса на каждого клиента и сложна в расчете статических IP.

Можно ли полностью запретить клиенту доступ в интернет через CCD?

Да, в файле CCD можно переопределить опцию redirect-gateway, убрав push дефолтного шлюза, или применить специфические правила iptables для IP-адреса данного клиента.

Полезные материалы
Рекомендуем