Возможно ли создать виртуальный концентратор для клиентов PPTP?

Возможно ли создать виртуальный концентратор для клиентов PPTP?

Есть машина Linux ( A), на которой запущен pptpd внутри университетской сети за брандмауэром, но с реальным IP. У меня нет доступа или знаний о распределении IP в этой сети, поэтому я не могу просто задать remoteip X.Y.Z.200-250конфигурацию pptpd, так как это может вызвать конфликты. Интересно, можно ли создать виртуальный концентратор для всех подключенных VPN-клиентов, который затем будет преобразован в реальную сеть с помощью NAT.

Вот несколько неуклюжих ASCII-график, иллюстрирующих то, чего я хочу добиться:

PPTP-client  ---\  ________________     ________________________
                 \ |   10.0.0.0/24 |    |10.0.0.0/24     real ip|
PPTP-client  ----->| Virt. hub (A) |----|ethX       A       eth0|----- Outside world
                 / |_______________|    |_______________________|
PPTP-client  ---/

Гугление показывает, что PacketiX.NET и UT-VPN имеют такие встроенные возможности, но я понятия не имею, как это сделать с помощью обычного pptpd. Я пробовал создать фиктивный интерфейс, настроить его со статическим IP, а затем дать pptp-клиенту IP из этой подсети интерфейса, но безуспешно.

Использование других vpn-серверов проблематично из-за довольно параноидальных настроек брандмауэра и необходимости использовать программный ssh-сервер для любых операций на A.

решение1

Вы можете использовать сервер PPTPd (если протокол GRE не фильтруется вашей сетью). PPTD создаст новый интерфейс ppp для каждого клиента на вашем сервере.

Например, вы указываете

localip 192.168.101.1-100
remoteip 192.168.101.101-200

Таким образом, каждый интерфейс ppp* получит новый IP из подсети 192.168.101. Наконец, вы можете преобразовать весь трафик из этой подсети в ваш реальный IP (не забудьте о net.ipv4.ip_forward=1)

# here could be full MASQUERADE or SNAT 
iptables -t nat -I POSTROUTING -o real_interface0 -j MASQUERADE
# forward for all ppp + MSS tune,  conntrack recommended 
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -s 172.20.1.0/24 -j TCPMSS  --clamp-mss-to-pmtu

Связанный контент