posted by 악마의상상 2018. 1. 8. 10:55

기본적인 인터넷 지식을 가지고 계신 분들만 참고하시면 될 것 같습니다.


중국에 거주하고 계시거나 여타 인터넷 제한을 받고 계시는 분들께서 유용 할 것 같네요.


중국으로 출장을 갈 때마다 번번히 간단한 구글 검색도 못하는 상황이 불편하여 


PPTP를 사용하여 해결을 해왔으나 연결이 자주 끊기거나 먹통인 상황이 반복


미크로틱을 통해 PPTP, L2TP, SSTP 모두 열어두고 되는 것으로 사용 하였으나...


문제점

  

  모바일에서 VPN접속시 연결이 끊겼으나 연결된 상태로 나옴.


  연결이 끊기면 재접속이 되지 않음.


  PPTP를 사용하면 고의로 속도를 저하시킨다는 느낌이 들음.


등등...



해서 방법을 찾다보니 GUI를 통하여 연결상태를 확인 가능한 OpenVPN을 이용하기로 결정.


설치법을 검색하였으나 뭔가 조금씩 이가 빠지거나 설명이 잘없어서 수차례 실패 후 성공한 방법을 여기에 남겨둠


처음에는 아무것도 모르는 사람들도 보고 따라 할 수 있도록 Winbox 화면을 캡쳐하면서 만들었으나

인증서 싸인하는 과정에서 문제가 발생


내가 못하는것으로 판단되지만 여러가지 시도를 해보아도 안됨...


어짜피 사용만 하면 되니까 그냥 복사 붙여넣기만 해도 되도록 명령어로 정리.(빠른포기..)



다운로드 >> MikrotikOvpnSetup.txt


인증서 생성

/certificate

add name=ca-template common-name=CA days-valid=3650 key-size=4096 key-usage=crl-sign,key-cert-sign

add name=server-template common-name=SERVER days-valid=3650 key-size=4096 key-usage=digital-signature,key-encipherment,tls-server

add name=client-template common-name=CLIENT days-valid=3650 key-size=4096 key-usage=tls-client


인증서 싸인.

/certificate

sign ca-template name=ca-certificate

sign server-template name=server-certificate ca=ca-certificate

sign client-template name=client-certificate ca=ca-certificate


인증서 파일로 배출.

/certificate

export-certificate ca-certificate export-passphrase=""

export-certificate client-certificate export-passphrase="12345678"


VPN 접속시 사용할 IP 설정

/ip

pool add name="ovpn-pool" ranges=7.7.7.11-7.7.7.100



Open VPN용 프로필 생성.

/ppp

profile add name="ovpn-profile" use-encryption=yes local-address=7.7.7.1 dns-server=7.7.7.1 remote-address=vpn-pool



Open VPN 실행.

/interface ovpn-server server

set default-profile=vpn-profile certificate=server-certificate require-client-certificate=yes auth=sha1 cipher=aes128,aes192,aes256 enabled=yes



혼자 쓰는 경우가 많을거라 예상 하므로..아래 음영은 별로 사용할 일이 없음.

필요할 시 별도의 사용자 추가.

클라이언트 추가.

/certificate

add name=client1 common-name=CLIENT1 days-valid=3650 key-size=4096 key-usage=tls-client

sign client1 name=client1 ca=ca-certificate


클라이언트 배출 

/certificate

export-certificate client1 export-passphrase="12345678"



저 처럼 잘모르지만 구축은 해서 써야겠다 하시면 그냥 명령어 차례로 실행하여 쓰는 것을 권장.

(내가 까먹을까봐 여기에 기록하는건 비밀..)


테스트할 계정생성.






해당 과정을 거치고 Winbox의 Files에 가면 아래처럼 파일이 생성 되어있음.


* 스크린샷 할 당시에 클라이언트를 하나더 추가한 상태로 하였으므로 실제 파일에는 CLIENT로 끝이나고 1이 붙지 않음.


드래그앤 드랍으로 바탕화면에 복사.


서버설정 끄읏.