Назад | Перейти на главную страницу

Можно ли создать виртуальный хаб для клиентов PPTP?

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

Вот несколько неуклюжих ascii grpaphics, иллюстрирующих то, чего я хочу достичь:

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  ---/

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

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

Вы можете использовать сервер 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