PPTP 클라이언트용 가상 허브를 만드는 것이 가능합니까?

PPTP 클라이언트용 가상 허브를 만드는 것이 가능합니까?

A방화벽 뒤의 대학 네트워크 내부에 pptpd를 실행하지만 실제 IP를 사용하는 Linux 시스템( )이 있습니다 . 저는 이 네트워크의 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로 구성한 다음 이 인터페이스 서브넷의 IP를 pptp 클라이언트에 제공하려고 시도했지만 성공하지 못했습니다.

다른 VPN 서버를 사용하는 것은 매우 편집증적인 방화벽 설정과 A.

답변1

PPTPd 서버를 사용할 수 있습니다(GRE proto가 네트워크에서 필터링되지 않는 경우). PPTD는 서버의 각 클라이언트에 대해 새로운 ppp 인터페이스를 만듭니다.

예를 들어 다음과 같이 지정합니다.

localip 192.168.101.1-100
remoteip 192.168.101.101-200

따라서 모든 ppp* 인터페이스는 192.168.101 서브넷에서 새 IP를 얻습니다. 마지막으로 이 서브넷에서 실제 IP로 모든 트래픽을 NAT할 수 있습니다(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

관련 정보