pfSense를 이용한 OpenVPN 서버 구성하기

이 강좌는 OpenVPN을 이용하여 VPN을 구성한다.

VPN은 터널링을 통해서 데이터들이 암호화 되어 전송이 되므로 중간게 패킷을 가로채거나 수정하기가 어렵기 때문에

보호되어야 될 네트워크는 가급적 VPN을 이용하여 엑세스 하는 것이 조금 더 안전하다.

pfSense는 여러가지 VPN구성을 지원한다.(IPsec,L2TP,openVPN)

각각의 장단점들이 있고 구성에 따라서 속도들도 약간씩은 차이가 난다. 상황에 맞게 골라서 사용하면 된다.

나름 비교가 잘되어 있는 사이트를 참고해보도록 하자.(https://ko.vpnmentor.com/blog/vpn-protocol-comparison-pptp-vs-l2tp-vs-openvpn-vs-sstp-vs-ikev2/)

pfSense에서는 정말 간단하게 VPN 서버를 구성할 수 있다.

pfSense가 설치되어 있다고 가정하고 기본적으로 WAN,LAN으로만 구성이 되어있는 환경을 기준으로 구성을 해보도록 한다.

대부분의 경우 VPN을 구성하는 경우 일반적으로 아래처럼 두가지 정도의 형태로 구성을 한다.

  1. 다수의 클라이언트에게 특정 네트워크에  VPN 터널을 이용해서 연결하는 형태
  2. Site to Site(원격 사무소와 메인사무소등을 하나의 네트워크로 연결하는 형태)

 

일단 첫 번째 형태의 원격접속용 OpenVPN서버를 구성해도록 하겠다.

기본 네트워크 구성은 아래와 같다고 가정하고 구성해보도록 하자.

OpenVPN 서버구성하기
pfSense에서 제공해주는 OpenVPN 마법사를 이용해서 간단히 10분 정도만 투자하면 훌륭한 VPN 서버를 구성할 수 있다.

  1. OpenVPN 구성마법사 실행(VPN->OpenVPN->Wizards)
  2. 인증 구성
    (Local database 말고 windows AD,LDAP,RADIUS등을 이용해서 유저인증이 가능하다.)
  3. CA 설치(인증서버)
  4. 서버인증서 추가
  5. OpenVPN 서버 셋업
    대부분은 기본값으로 두고 필요한 정보들만 입력해주면 된다.
    가장 중요한 부분은 터널 설정인데 Tunnel NetworkLocal Network만 잘 설정해주면 된다.
    터널 네트워크는 VPN클라이언트와 VPN서버와 터널로 연결할때 사용할 네트워크 대역이다.
    클라이언트,서버 양쪽 모두 사용하지 않고 있는 사설망으로 잡아주면 된다.
    로컬 네트워크는 VPN 서버를 통해서 접속할 내부 네트워크 대역을 적어주면 된다.
    즉  pfSense 방화벽의  LAN(혹은 추가적인 사설네트워크)를 적어주면 된다.




  6. 방화벽 설정
    자동으로 방화벽룰을 추가하는 부분이며 추가해주지 않는다면 나중에 수동으로 추가해 줘야 한다.
    위의 과정을 마치면 아래와 비슷한 화면을 만나게 될 것이다.
  7. VPN사용자 추가
    pfSense web config-> System->User Manager -> 사용자 추가
    보안을 강화하기 위해서 VPN서버 접속시 SSL/TLS + 사용자ID/PASSWD를 이용해서 접속하게 하는게 좋으므로
    사용자 인증서도 반드시 생성해두도록 한다.(Certificate 체크)
    Descriptive name 에는 사용자를 구분할 수 있는 정보를 넣어주도록 하자.
  8. VPN서버 설정 변경
    서버 인증 방식을 변경해 준다. (VPN->OpenVPN)
    Server Mode를 SSL/TLS+User Auth로 설정해주도록 한다.
  9. OpenVPN export툴 설치
    인증서와 서버 접속 정보를 쉽게 내보내기를 해주는 도구를 설치하도록 한다.
    System->Package Manager-> Available Packages-> Openvpn-client-export


    정상적으로 설치가 되었다면 VPN->OpenVPN메뉴에 아래와 같이 client export 탭이 생겨난다.
  10. VPN클라이언트 내보내기
    VPN->OpenVPN-> Client Export
    각 사용자 별로  인증서와 서버 접속정보(.ovpn) 파일을  PC의 적당한 곳에
    다운로드(Standard Configurations->Archive) 한 다음 압축을 풀어두고
    OpenVPN client를  PC에 설치하고 VPN서버에 접속하면 된다.
    OpenVPN 클라이언트 설치 URL도 링크가 되어 있으니 다운로드 받아서 설치하면 된다.
    필자의 경우 MacOS를 사용중이라 Tunnelblick 과 Viscosity 를 사용 중이다.
    Windows 사용자의 경우에는 Windows installer 버전을 받아서 설치하면 된다.

VPN client를 이용해서 OpenVPN서버에 접속 후 LAN서버와 통신이 된다면 모든 설정이 마무리가 된다.
VPN서버에 접속 후 서버에서 설정한  Tunnel network 가 클라이언트쪽에 생성이 되면 정상적으로 터널링이 된 것이다.

 

 

 

 

 

stone has written 25 articles

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">