cubelover의 블로그

Ubuntu PPTP VPN Server

...2017. 12. 17. 01:38

pptpd 설치


다음 명령어를 실행한다.


sudo apt-get install pptpd


~


ip 설정


/etc/pptpd.conf 파일의 맨 마지막에 다음을 추가한다.


localip 192.168.0.1
remoteip 192.168.0.100-200


~


DNS 설정


/etc/ppp/pptpd-options 파일의 ms-dns 항목을 주석해제하고 수정한다.


ms-dns 8.8.8.8
ms-dns 8.8.4.4


~


사용자 추가


/etc/ppp/chap-secrets 파일에 사용자를 추가한다. "(아이디) pptpd (비밀번호) (IP)" 형식으로 한 줄에 하나씩 적으면 된다.


cubelover pptpd p4ssw0rd 192.168.0.123
guest pptpd guest *

~


interface 이름 알아내기


다음 명령어를 실행하면 interface가 여러 개 나오는데, 이 중 vpn에 routing할 interface의 이름을 찾는다. 유선랜을 사용하는 경우 보통 eth0지만 아닌 경우도 있다.


ifconfig -a


~


iptables 설정


앞에서 알아낸 interface의 이름을 (interface)에 넣고 실행한다.


iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o (interface) -j MASQUERADE


~


ip forwarding 설정


/etc/sysctl.conf 파일에서 net.ipv4.ip_forward=1 항목을 주석해제한다. 그리고 다음 명령어를 실행한다.


sudo sysctl -p


~


pptpd 재시작


다음 명령어를 실행한다.


sudo pptpd restart


~


UFW 설정 (UFW를 사용하는 경우)


/etc/default/ufw 파일에서 DEFAULT_FORWARD_POLICY를 ACCEPT로 고쳐준다.


DEFAULT_FORWARD_POLICY="ACCEPT"


/etc/ufw/before.rules 파일에서 *filter 앞 부분에 다음을 추가한다.


# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Allow traffic from clients to eth0
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

# commit to apply changes
COMMIT


그리고 # drop INVALID packets 바로 다음에 다음을 추가한다.


-A ufw-before-input -p 47 -i $iface -j ACCEPT


다음 명령어를 실행한다.


sudo ufw allow 1723
sudo ufw disable
sudo ufw enable


~


여기까지 잘 동작하는 지 확인한다. 잘 동작한다면 재부팅할 때 iptable이 날아가는 것을 방지하기 위해서 저장해뒀다가 부팅할 때 불러오도록 해야 한다.


다음 명령어를 실행한다.


sudo su
iptables-save > /etc/iptables.rules
exit


/etc/rc.local 파일의 exit 0 이전에 다음을 추가한다.


/sbin/iptables-restore < /etc/iptables.rules

'...' 카테고리의 다른 글

ONTAK 2010 Day 7 Generator  (0) 2018.07.17
BOJ Achievements  (0) 2018.05.17
Baekjoon Online Judge 13538  (3) 2016.11.03
Baekjoon Online Judge 1659  (0) 2016.02.02
1 이상 N 이하의 정수에서 i의 빈도수  (0) 2016.01.27