====== VPN 서버 설정 (CentOS 6.X 기준) ====== VPN 프로토콜을 구현하는 프로그램은 여러가지가 있고, 그중 하나가 pptp 이다. 먼저 서버쪽에서 어떻게 설정하는지를 보자. CentOS 6.X 버전 기준이다. root 계정에서 다음의 명령어를 입력하자. rpm --import http://poptop.sourceforge.net/yum/RPM-GPG-KEY-PPTP rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm yum update yum install ppp pptpd -y 필요한 패키지 설치는 끝났다. 이제부터 설정에 들어가자. /etc/pptpd.conf 파일을 조금 손 보자. 다른 건 건드릴 게 없고, 가장 아래쪽에 localip 192.168.1.2-254 remoteip 192.168.2.2-254 를 추가하면 된다. 그리고 /etc/ppp/options.pptpd 파일에 아래의 내용을 추가하거나 변경하자. DNS 는 다른 걸 써도 된다. 8.8.8.8 이라든가 ... ms-dns 168.126.63.2 ms-dns 168.126.63.1 마지막으로 /etc/ppp/chap-secrets 파일에다가 ID pptpd PASSWORD * 를 적어주면 된다. 예를 들자면 내 경우에는 akpil pptpd PASSWORD * 가 된다. PASSWORD 에는 반드시 비밀번호를 적어주어야 한다. PASSWORD 라고 적어주면 저 akpil 계정의 VPN 비밀번호는 PASSWORD 가 된다. 그리고 Tab 등을 쓰지 말고 스페이스바를 눌러서 띄어쓰기를 하자. 대개 저 파일에서 오류는 탭키 때문이다. 여기까지 하면 일단 VPN 설정은 끝났고, 이제 외부로 패킷을 포워딩하기 위한 설정 두어가지 정도 남아 있다. 먼저, /etc/sysctl.conf 파일에 net.ipv4.ip_forward = 1 이 있는지를 보자. 보통 1로 되어 있을텐데, 가끔 0으로 되어 있는 경우도 있다. 이 값이 바뀌었을 경우에는 sysctl -p 라고 터미널에서 입력해주면 된다. 그리고 iptables 설정을 좀 바꿔주어야 한다. 내 경우에는 /etc/rc.d/rc.iptables 라는 파일에다가. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 를 적어놨다. 이 부분은 방화벽 설정마다 다르기 때문에 확인이 필요하다. 내 서버에서는 /etc/rc.d/rc.local 파일에서 /etc/rc.d/rc.iptables 파일을 불러오도록 해놨기 때문에 iptables 설정은 모두 /etc/rc.d/rc.iptables 파일에 넣어놨다. 저 규칙은 iptables 규칙 중 가장 앞쪽부분에 있어야 한다. 적어도 reject rule 설정 앞쪽에 있어야 한다. pptpd 서비스를 등록하자. chkconfig pptpd on pptpd 데몬을 시작하자. service pptpd start 여기까지 하면 서버 설정은 끝났다. -------------- 2014/07/02 akpil