티스토리 뷰

pptp 서버에서 pptp 서버간 연결 (pptp server to pptp server)

 



일반적인 연결


 

pptp 클라이언트 -> pptp 서버 (게이트웨이) -> 목적지

 

 




구조도

일반적인  연결은 PPTP 서버에 여러개의 클라이언트가 연결되는 1:1 구조라고 볼수 있다.

 

 

pptp 서버를 2개 (2단계) 거쳐서 게이트웨이 타고 나가게끔 셋팅


 

pptp 클라이언트 -> pptp 서버 -> pptp 서버 (게이트웨이) -> 목적지

 

 




구조도



PPTP 서버1 은 모든 패킷을 PPTP 서버2로 보내고 모든 클라이언트들은 PPTP 서버2를 게이트웨이로 해서 인터넷으로 빠져나간다.


만약에  PPTP 서버를 여러개 거치거나 하면 아이피 추적이 어려울거라는 생각이 들며 아주 빠른 구간이나 회선망에 적절히

 

배치한다면 국제망에서는 좀 더 빠른 응답속도를 가질수 있을것 같기도 하다.

 

 


마지막 두번째 pptp 서버에는 특별한 설정이 필요 없으며 일반적인 pptp 서버 설정만 되어 있으면 되며

 

첫번째 PPTP 서버는 PPTP client 겸 server 가 되는 구조이다.

 

 

첫번째 pptp 서버 에만 iptables 와 route 명령어 몇개만 추가해주면 모든 pptp client 로 오는 패킷을 두번째 pptp 서버 로 보낼수 있다.

 

 


Note. 정석적인 방법으로 테스팅한 방법이 아니며 삽질하다가 우연히 알아내었으므로 원리나 정상적인 방법인지는 알수가 없음

 

 


첫번째 VPN 서버 셋팅

 

pptp 접속파일 생성

 

vim /etc/ppp/peers/testvpn

 

pty "pptp "두번째PPTP서버아이피" --nolaunchpppd"
name "두번째PPTP 서버로 연결할 아이디"
remotename PPTP
file /etc/ppp/options.pptp
ipparam testvpn

 

 

 

PPTP 계정정보 입력

 

vim /etc/ppp/chap-secrets 

 

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
아이디 * PW *
아이디1 * PW *
아이디2 * PW *

 

 

해당 첫번째 PPTP 서버는 PPTP 클라이언트가 되는 동시에 서버가 되므로 저 위 chap 파일에는 접속할 , 접속될 계정정보를 쭉 나열해주면 된다.

 

 

VPN 접속 명령

 

[root@localhost peers]# pppd call testvpn

 

접속이 된다면 ppp로 시작하는 이더넷 인터페이스가 하나 생성된다

 

 

 ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.0.20.1  P-t-P:xxx.xxx.xxx.xxx  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:66 (66.0 b)  TX bytes:72 (72.0 b)

 

 

첫번째 PPTP 서버와 두번째 PPTP 서버가 연결된것이다.

 

 

방화벽 ppp0 마스퀘레이드 설정 (물론 ppp1 로 연결이 되었다면 ppp1 로해주면 된다) 

 

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

 

 

 

 

디폴트 게이트 웨이 추가 (두번째 PPTP 서버의 아이피 주소를 디폴트게이를 추가해주면 된다)

 

그러면 첫번째 PPTP 서버의 디폴트게이트웨이는 2개가 된다.


 

route add default gw "두번째 PPTP 서버 아이피"

 

 

 

아래 보면 디폴트 게이트 웨이가 2개로 보인다.

 

 

[root@localhost peers]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xxx.xxx.xxx.xxx   xxx.xxx.xxx.xxx     255.255.255.255 UGH   0      0        0 eth0
xxx.xxx.xxx.xxx   *               255.255.255.255 UH    0      0        0 ppp0
xxx.xxx.xxx.xxx     *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         xxx.xxx.xxx.xxx   0.0.0.0         UG    0      0        0 ppp0
default         xxx.xxx.xxx.xxx     0.0.0.0         UG    0      0        0 eth0 

 

 

 

이제 첫번째 PPTP 서버로 연결해보면 자기 자신 아이피가 모두 두번째 PPTP 서버의 게이트웨이로 타고 나가는것이 확인될것이다.

 

 

댓글
댓글쓰기 폼