포트 변경의 메리트로 사용하게된 openvpn.

내가 사용할 일 없는 443(원래는 https용)을 vpn 용으로 지정해놓으면 막힐일 거의 없다 ㅋ


단점이라면, 컴퓨터라면 클라이언트를 따로 설치해야 하고,

모바일 기기라면 루팅/탈옥이 꼭 필요하다는 점..ㅠㅠ

안드로이드엔 openvpn 에서 만든 프로그램이 있고

iOS에서는 GuizmOVPN 이라는 유료앱이 있음. 앱스토어에 OpenVPN 앱이 있다. 이거 쓰면 됨.



1. 설치

sudo apt-get install openvpn


2. 키 폴더 만들기

mkdir /etc/openvpn/easy-rsa/

cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/


3. /etc/openvpn/easy-rsa/vars 수정

사실 안해도 되지만 그러면 키 하나 만들때 마다 귀찮음 ㅋ

export KEY_COUNTRY="KR"

export KEY_PROVINCE="NA"

export KEY_CITY="Daegu"

export KEY_ORG="iolate"

export KEY_EMAIL="iolate@me.com"


4. 서버 키 만들기

cd /etc/openvpn/easy-rsa/

source ./vars                        #위에 설정한거 적용

./clean-all                             #키 폴더 비움

./build-dh

./pkitool --initca                     #ca 키 생성

./pkitool --server server         #서버 키 생성


cd keys

#만들어진 키 이동

sudo cp server.crt server.key ca.crt dh1024.pem ../../


하다가 openssl 오류나 2.0 어쩌구 에러나면 easy-ssl 폴더 안에

openssl-1.0.0.cnf -> openssl.cnf 링크 만들어 주면 된다.


5. 서버 설정 (/etc/openvpn/server.conf)

뭐 설정 skel 파일이 있긴한데....



대충 이렇게 쓰면 됨.

길이가 너무 길어져서 주석들은 전부 뺏음 ㅋ


6. vpn 재시작

service openvpn restart



7. 클라이언트 정보 파일 생성

cd /etc/openvpn/easy-rsa/

source ./vars 

./pkitool client


8. 클라이언트 설정 파일 (이름.ovpn 혹은 이름.conf)



난 키 파일을 설정 파일에 다 집어넣는걸 선호해서 저렇게 해놨는데

싫다면  <~> </~> 부분을 제거 후

cert client.crt

key client.key

ca ca.crt

이렇게 각각 적어주고 설정파일(conf 혹은 ovpn)과 함께 배포하면 된다.


9. iptables 설정




openvpn이 다 좋긴 한데 위에 적었듯이 서드파티 앱이 반드시 필요하고

한번 배포한 인증서의 차단이 조금 쉽지 않다는 것이 흠..

+ Recent posts