У меня есть vps, который имеет apache и openvpn в то же время. Когда я подключаю vpn к своему клиентскому компьютеру, мой публичный ip становится публичным ip vps, а сервер назначает внутренний ip моему клиенту в соответствии с конфигурацией. Когда я получаю доступ к веб-серверу с клиента через браузер, я ожидаю увидеть внутренний ip клиента или, по крайней мере, публичный ip, который совпадает с сервером в файлах access_log, однако apache регистрирует публичный ip маршрутизатора. Является ли такое поведение нормальным или у меня какая-то неправильная конфигурация?
Это нормально, потому что ваш веб-сервер и VPN-сервер находятся на одном и том же IP-адресе.
Чтобы направить трафик VPN-туннеля в вашу VPN, ваша клиентская машина должна создайте туннель между вашим компьютером и вашей VPN, используя ваш реальный глобальный IP-адрес. Трафик для любого другого адреса может проходить через VPN, но трафик для этого IP-адреса будет проходить за пределами VPN-туннеля. В противном случае было бы невозможно построить туннель.
Очевидно, что ваш VPN-сервер, как и любой другой сервис, не должен размещаться на одной (виртуальной) машине с чем-либо еще.