hint000,
полностью согласен, это стоит проверить и может быть добавить к вопросу. Ещё интересно где установлен dhcp сервер, не случаются ли колизии адресов, если два разных сервера раздают адреса из той же сети. А ещё пока я это писал задумался про маршрутизацию, получается, что сеть 192.168.10.0/24 доступна через 2 интерфейса, а значит 2 раза вписана в таблицу маршрутизации. А значит, когда ядро проверяет куда девать пакет, оно всегда берет одну из 2 рут, и я предположу, что одна из них имеет меньшую метрику(рута в локальную сеть) , а значит всегда используется.
Получается следующее: клиент через vpn посылает клиенту в локальной сети пинг, то есть пакет идёт с адреса скажем 192.168.10.4 на 192.168.10.3, приходит на сервер, сервер проверяет маршруты, выбирает наилучший, отправляет клиенту в локалке, он принимает, отправляет ответ через его стандартную руту, ответ приходит на сервер и тут происходит ошибка, сервер снова ищет лучшую руту для сети 192.168.10.0 и находит снова руту в локальную сеть. Это можно довольно легко проверить запустив tcpdump на прослушку пингов на всех клиентах серверах.
Итог: попробуй использовать другую сеть, проверь руты, может добавишь их сюда, для проверки.