====== PPTP ======
OpenVPN에 비해 설치하기가 쉬우면서 속도가 빠른 VPN 서버지만 안정성은 조금 떨어진다.
===== 설치 =====
$ apt-get install pptpd
===== 설정 =====
==== /etc/ppp/chap-secrets 설정 ====
ex) ID는 vpnuser, 패스워드는 pass123으로 설정하고 IP를 192.168.0.10에 할당하고자 하는 경우
# Secrets for authentication using CHAP
# client server secret IP addresses
vpnuser * pass123 192.168.0.10
==== /etc/pptpd.conf 설정 ====
ex) PPTP 서버 IP를 192.168.0.1, Client의 IP를 192.168.0.5-20에 할당하고자 하는 경우
localip 192.168.0.1
remoteip 192.168.0.5-20
==== 주의 ====
서버와 클라이언트가 공유기 등의 사설 네트워크 안에 있는 환경인 경우 IP가 겹치지 않도록 주의한다. 예를 들어 클라이언트가 192.168.0.1로부터 IP를 할당받은 경우 PPTP 서버의 IP는 192.168.1.1 등으로 한다.
===== PPTP 서버 시작 =====
$ service pptpd restart
윈도우나 스마트폰에서 해당 IP로 접속 후 vpnuser/pass123으로 접속해 본다.
===== 추가 설정 =====
위 과정까지 진행한경우 VPN 서버 접속은 되나 접속 후 인터넷이 제대로 안될 것이다. 아래 설정을 더 해주어야 한다.
==== Client를 위한 DNS 서버 설정 ====
$ vim /etc/ppp/pptpd-options
ms-dns 부분 주석 삭제 후 DNS 서버 설정
ms-dns 168.126.63.1
ms-dns 168.126.63.2
==== IP forwarding ====
$ vim /etc/sysctl.conf
다음 부분 주석 해제 한다.
net.ipv4.ip_forward=1
그 후 설정을 다시 불러온다.
$ sysctl -p
위 명령이 안되면 재부팅이 답.
IPtables에 forward rule 추가
$ vim /etc/rc.local
exit 0 바로 전에 다음 내용 추가
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356
첫번째 줄 : PPTP subnet으로 192.168.0 이용\\
두번째 줄 : MTU Size 설정
===== 참고 =====
* http://www.networkinghowtos.com/howto/configure-a-pptp-vpn-server-on-ubuntu-linux/
* https://help.ubuntu.com/community/PPTPServer