OpenWrt에 PPTP 방식의 VPN 설정을 포스팅 해본다.


패키지 업데이트

패키지를 업데이트한다.

root@OpenWrt:/# opkg update
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Inflating http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/attitude_adjustment.
root@OpenWrt:/#


패키지 설치

pptpd 패키지를 설치한다. 부수적으로 몇 개가 더 설치된다.

root@OpenWrt:/# opkg install pptpd
Installing pptpd (1.3.4-2) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/pptpd_1.3.4-2_ar71xx.ipk.
Installing kmod-gre (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-gre_3.3.8-1_ar71xx.ipk.
Installing kmod-ipv6 (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-ipv6_3.3.8-1_ar71xx.ipk.
Configuring kmod-ipv6.
Configuring kmod-gre.
Configuring pptpd.


VPN 계정설정

다음 명령어로 계정설정 파일을 편집한다.

root@OpenWrt:/# vi /etc/ppp/chap-secrets


아래와 같이 입력한다. 패스워드는 원하는 것으로 변경하면 된다. IPADDRESS 부분은 계정이 접속되면 할당받는 IP주소이다.

#USERNAME  PROVIDER  PASSWORD  IPADDRESS
vpnuser    pptp-server password  172.16.1.2


VPN 환경설정

dns 부분을 공유기의 아이피인 192.168.1.1로 변경하도록 편집한다.

root@OpenWrt:/# vi /etc/ppp/options.pptpd


조금 아래부분에 보면 ms-dns설정이 보인다. 아래와 같이 설정한다.

#debug
#logfile /tmp/pptp-server.log
172.16.1.1:
auth
name "pptp-server"
lcp-echo-failure 3
lcp-echo-interval 60
default-asyncmap
mtu 1482
mru 1482
nobsdcomp
nodeflate
#noproxyarp
#nomppc
mppe required,no40,no56,stateless
require-mschap-v2
refuse-chap
refuse-mschap
refuse-eap
refuse-pap
#ms-dns 172.16.1.1
ms-dns 192.168.1.1
#plugin radius.so
#radius-config-file /etc/radius.conf


방화벽 룰 추가

다음 명령으로 방화벽 설정파일을 편집한다.

root@OpenWrt:/# vi /etc/firewall.user


다음 내용을 추가한다. 첫 라인은 외부에서 1723포트로 접근 가능하게 한 것이고, 두번째 라인은 [ppp0]어댑터로 들어온 패킷을 외부망으로 포워딩 하여 인터넷망에 연결되도록 설정한 것이다.

# pptp service
iptables -I INPUT 1 -i eth0.2 -p tcp --dport 1723 -j ACCEPT
iptables -I FORWARD -i ppp+ -o eth0.2 -j ACCEPT


방화벽 재기동

다음과 같이 방화벽을 재기동한다.

root@OpenWrt:/# /etc/init.d/firewall restart
Loading defaults
Loading synflood protection
Adding custom chains
Loading zones
Loading forwardings
Loading rules
Loading redirects
Loading includes
Optimizing conntrack
Loading interfaces


mppe 설치

바로 위 단계까지 진행하고 접속 테스트를 해보라. 되지 않을 것이다. 되면 다행이지만....

pptpd 패키지만 설치해서는 아이폰에서 공유기로 VPN접속이 되지 않았다. 많이 헤맸는데, 검색 결과 mppe도 설치해줘야 한다고 한다. 전송시 암복호화를 담당한다. 다음과 같이 mppe를 설치해준다.

root@OpenWrt:/etc/ppp# opkg install kmod-mppe
Installing kmod-mppe (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-mppe_3.3.8-1_ar71xx.ipk.
Installing kmod-crypto-sha1 (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-crypto-sha1_3.3.8-1_ar71xx.ipk.
Installing kmod-crypto-hash (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-crypto-hash_3.3.8-1_ar71xx.ipk.
Installing kmod-crypto-ecb (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-crypto-ecb_3.3.8-1_ar71xx.ipk.
Installing kmod-crypto-manager (3.3.8-1) to root...
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/kmod-crypto-manager_3.3.8-1_ar71xx.ipk.
Configuring kmod-crypto-hash.
Configuring kmod-crypto-manager.
Configuring kmod-crypto-ecb.
Configuring kmod-crypto-sha1.
Configuring kmod-mppe.


PPTP 서비스 시작

서비스를 시작한다. 그리고 서비스로 등록해준다.

root@OpenWrt:/# /etc/init.d/pptpd start root@OpenWrt:/# /etc/init.d/pptpd enable


스마트폰 및 PC에서 접속하여 테스트해본다.



참고사이트
  1. http://hook.tistory.com/entry/D-Link-DIR-825-%EA%B3%B5%EC%9C%A0%EA%B8%B0%EC%9D%98-OpenWRT%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%ED%99%88%EC%84%9C%EB%B2%84-%EB%A7%8C%EB%93%A4%EA%B8%B0
  2. http://wiki.openwrt.org/doc/howto/vpn.server.pptpd



저작자 표시 비영리 변경 금지
신고
Posted by Life 스토리
TAG , ,