Можно ли настроить openVPN для маршрутизации всех клиентских подключений через порт socks? то есть я хочу, чтобы установка была:
Client -> openvpn server -> localhost socks5 port -> socks5 port forward -> the internet
machine 1 machine 2 machine 2 machine 3
Как я могу это сделать?
До сих пор я делал то же самое, но с туннелем SSH вместо vpn, и пока он работает нормально, я собираюсь добавлять новые устройства, которые не выполняют туннелирование ssh так же, как vpn.
Ответ MadHatter правильный, однако я подозреваю, что это случай Проблема XY. Если вы завершаете OpenVPN на машине, которая способна маршрутизировать и NAT-трафик (читай: любая современная серверная операционная система), то абсолютно возможно настроить OpenVPN и указанную машину на работу в качестве сетевого прокси в том смысле, что будут появляться клиентские подключения. в общедоступном Интернете, как если бы они исходили с прокси-машины. Если это проблема, которую вы пытаетесь решить, мне отлично подходит iptables NAT и некоторые настройки маршрутизации.
Я не думаю, что ты сможешь.
SOCKS - это не сетевой протокол (уровень 3), это протокол уровня 4 вместе с остальными приложениями. Если оставить в стороне OpenVPN (который работает на уровне 3), клиенты обычно должны быть осведомлены о SOCKS, если они хотят направлять свой трафик через прокси-сервер SOCKS. Каждая часть клиентского программного обеспечения должна знать, где находится прокси-сервер SOCKS, каждый должен знать, как открыть соединение SOCKS через этот прокси-сервер и так далее.
Когда вы добавляете OpenVPN в картину, это не делает приложения для конечных клиентов внезапно ярче. Также удаленный сервер OpenVPN не имеет возможности волшебным образом задействовать SOCKSification для любого клиентского трафика, который проходит по нему.
OpenVPN является SOCKS-осведомлен в той степени, в которой он может строить свои туннели к удаленным конечным узлам через локальный прокси-сервер SOCKS, но я считаю, что это все, что нужно.