
У меня есть сервер Ubuntu 16.04, на котором я запустил xl2tp и openvpn в качестве VPN-сервера. Однако я хочу, чтобы сам сервер был подключен либо к SOCKS Proxy, либо к другому OpenVPN-подключению. То есть:
client --> server --> vpn or socks server --> internet
Прямо сейчас, если я выполняю curl
или wget
запрос с терминала сервера (например, https://api.ipify.com/
), его трафик явно идет через второй vpn или socks (я пробовал оба). Однако, если я подключаю клиента к серверу через l2tp или openvpn, а затем пробую то же самое curl
или wget
с клиента, его трафик выходит с сервера напрямую, а не через маршрутизатор через второй vpn / socks proxy.
Другими словами, хотя я хочу:
client --> server --> vpn or socks server --> internet
Вместо этого я получаю:
client --> server +---(server-native traffic)---> vpn2/socks --> internet
|
+---(client vpn traffic)----> internet
Как добиться результата принудительного перенаправления трафика от VPN-клиентов на второй VPN- или Socks-прокси?
Я хотел бы сделать это прозрачно.- Я не могу контролировать, как клиенты подключаются к серверу, но я могу контролировать сервер.
решение1
Прошло пять (5) лет - почти день в день - с тех пор, как я задал этот вопрос (святой экзистенциальный ужас Бэтмен!). Ради тех, кто пришел сюда из веб-поиска:
Использовать Wireguard
Я смог решить свою проблему давным-давно с помощьюWireGuard, скомпилирован в ядро Linux начиная с версии 5.6 (март 2020 г.) и выше. Доступны утилиты для мобильных, настольных и серверных платформ.
Для тех, кто не хочет использовать Wireguard или нуждается в прокси-сервере Tor, @HappyFace недавно прокомментировал, что существуют примеры конфигураций.в новом проекте github, ориентированном на Иран. Я понятия не имею, работают они или нет.
Wireguard удовлетворил все мои потребности. Его сетевая схема намного проще и легче в изучении.