OpenVPN에 비해 설치하기가 쉬우면서 속도가 빠른 VPN 서버지만 안정성은 조금 떨어진다.
$ apt-get install pptpd
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
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 등으로 한다.
$ service pptpd restart
윈도우나 스마트폰에서 해당 IP로 접속 후 vpnuser/pass123으로 접속해 본다.
위 과정까지 진행한경우 VPN 서버 접속은 되나 접속 후 인터넷이 제대로 안될 것이다. 아래 설정을 더 해주어야 한다.
$ vim /etc/ppp/pptpd-options
ms-dns 부분 주석 삭제 후 DNS 서버 설정
ms-dns 168.126.63.1 ms-dns 168.126.63.2
$ 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 설정