Добрый день!
То, что ваш сервер OpenVPN не отвечает на пинги (ICMP Echo Request), даже когда соединение установлено, может быть связано с несколькими причинами. Давайте рассмотрим основные шаги по диагностике и решению этой проблемы.
### 1. Проверка конфигурации сервера
Ваша конфигурация сервера выглядит в целом верно, но стоит обратить внимание на несколько моментов:
1. **IP-подсеть и маршрутизация**:
Убедитесь, что у вас правильно настроены маршруты и IP-подсеть. Клиент должен иметь возможность маршрутизировать трафик на сервер и обратно.
2. **`client-to-client`**:
Если вы планируете, что клиенты смогут общаться друг с другом, раскомментируйте строку `;client-to-client`.
### 2. Проверка брандмауэра
B CentOS 7 включен брандмауэр `firewalld` по умолчанию. Вам нужно убедиться, что он разрешает трафик OpenVPN и ICMP (пинги):
```bash
# Разрешите трафик для порта OpenVPN (UDP 1194)
firewall-cmd --zone=public --add-port=1194/udp --permanent
# Разрешите ICMP (ping)
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="172.22.21.0/24" accept' --permanent
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="172.22.21.0/24" protocol value="icmp" accept' --permanent
# Перезагрузите firewalld чтобы изменения вступили в силу
firewall-cmd --reload
```
### 3. Конфигурация SELinux
Если у вас включен SELinux, он также может блокировать соединение. Попробуйте временно установить SELinux в режим permissive, чтобы проверить, не в этом ли проблема:
```bash
setenforce 0
```
Если это решит вашу проблему, вам нужно будет настроить правила SELinux или оставить его в permissive режиме (не рекомендуем).
### 4. Настройки маршрутизации на клиентской стороне
Проверьте настройки маршрутов на клиенте. Вы можете добавить маршрут к сети OpenVPN вручную, если это необходимо. Убедитесь, что у вашего клиента есть маршрут к IP-адресу сервера OpenVPN.
### 5. Проверка подключения
После внесения изменений попробуйте снова подключиться к OpenVPN и выполните следующие команды:
- На клиенте выполните `ping <VPN-сервер-IP>` и посмотрите, проходят ли пакеты.
- Проверьте логи OpenVPN и убедитесь, что нет ошибок:
```bash
cat /var/log/openvpn.log
```
### 6. Дополнительные параметры
Если вы хотите разрешить пинг в обе стороны, вы также можете добавить следующую строку в конфигурацию сервера:
```bash
push "ping 10"
push "ping-restart 60"
```
Это будет посылать ICMP-реплики для поддержания соединения активным.
### Заключение
Если после выполнения всех шагов проблема остается, вам стоит проверить логи как на стороне сервера, так и на клиенте, чтобы искать возможные ошибки или указания на проблемы. Также по необходимости можете включить более детальную отладку в конфигурациях, установив `verb 5` или `verb 6`.