OPNsense WireGuard VPN 설치 및 설정

WireGuard가 어느새 대세가 되어가고 있습니다. 보안상으로도 OpenVPN 보다 더 낫다는 평이 많으며, Ping과 다운로드 속도면에서도 확실히 좋은 퍼포먼스를 보여주고있기 때문에 와이어가드의 영역이 빠르게 늘어나고 있습니다. OpenVPN에 비해 코드의 양이 훨씬 적고 간결한 장점도 있습니다.

예전에 처음 소개할때는 많이 쓰던 시절이아니라 반신반의했으나 이정도 세월이 흘러 검증을 받았으니 저도 좀 더 자신있게 추천드릴 수 있을 것 같습니다. 그래서 저도 집 접속용으로 와이어가드를 선택한 것이구요.

OPNsense에서 간단하게 WireGuard VPN 플러그인을 설치한 후 설정까지 마쳐보겠습니다.

제가 구매한 방화벽 디바이스 사이트에 올라온 비교표를 보면 아래와 같습니다.

가장 왼쪽은 판매 모델(아래로 갈수록 사양 높음)이고, 숫자만 보시면 됩니다.

VPN 암호화 하기전(왼쪽) / OpenVPN AES-256-CBC/SHA256(AES-NI enabled) / WireGuard v1.7 256-bit ChaCha20Poly1305 이렇게 3가지를 비교해놨습니다.

넉넉한 사양에서 최고 속도로 비교하자면 16%정도 더 향상이있다고 볼 수 있겠지만, 중간쯤을 보시면 조금 낮은 사양에서 테스트했을때는 와이어가드 속도가 훨씬 빠른 것을 볼 수 있습니다. 훨씬 가볍고 간결한 몸체를 가진 와이어가드가 저사양으로 갈수록 더 빛을 발하는군요.

물론 위의 테스트 데이터가 절대적인것은 아닙니다. 제가 예전에 버리기직전의 고물 노트북에서 OpenVPN로 테스트했을때 집에서 사용하던 반기가 회선 거의 다 뽑아줬었거든요. 결론은 Wireguard가 가볍고 빠르다는 것만 알면 되겠습니다.

저는 FW6D(보기)인데 Intel i5 8250U(Quad Core at up to 3.4GHz) CPU가 들어가있습니다. 다른 디바이스를 사용하신다면 CPU에 맞춰서 대충 저정도 나오는구나 생각하시면 되겠습니다. 위에 보이는 FW6A 모델이 Intel 3865U(Dual Core at 1.8GHz) CPU가 들어가니 이정도만 해도 거의 풀로 뽑을 수 있다고 봐야 합니다.(물론 저사양 CPU는 다른 작업을 동시에 많이 돌리않는 경우.)

OPNsense Wireguard 설정 방법

우선 아래 링크들 처럼 잘 정리되어있는 글들을 참고하시면 좋을 듯 합니다. 번역기 돌리면 참고하시는데 전혀 무리없습니다.

설정 순서를 대충 요약하면 아래와 같습니다.

  1. OPNsense에서 Wireguard 설치
  2. Local 서버 설정
  3. Public Key 및 Private Key 생성
  4. EndPoint 설정
  5. 설정한 EndPoint 다시 Local 설정에서 들어가서 Peer로 등록
  6. 방화벽 설정
  7. 스마트폰 앱 및 다른 컴퓨터에 설치 후 퍼블릭 키 생성 후 등록
  8. 접속

설정

와이어가드 설치후 VPN > WireGuard 들어가시면 저렇게 설정 화면이 나옵니다. Enable WireGuard를 처음부터 해놓고 시작하셔도 무관합니다.

Local

Local 설정부터 해줘야 합니다. + 버튼 눌러서 추가

Name에 아이디를 적어주시고. Listen Port는 WireGuard 기본 포트인 51820을 적어주시면 됩니다. Save 눌러서 저장하고 다시 들어와보면 퍼블릭키, 프라이빗키가 생성되어있는 모습을 볼 수 있습니다. 퍼블릭키는 다른 기기에 설치할 WireGuard Client 프로그램에 넣어줘야 합니다.

아래에 보이는 Peers는 EndPoint에 등록된 것들이 나오기 때문에 지금은 Nothing selected로 나옵니다. 엔드포인트 등록후에 다시 여기로 들어와서 등록해주세요. 저의 경우 엔드포인트에 스마트폰과 노트북 계정을 따로 생성해서 등록해두었습니다.

EndPoint

Allowed IPs는 로컬에 설정한 주소와 다른 것을 볼 수 있습니다.(서버와 클라이언트의 차이)

로컬의 퍼블릭키를 넣어주고, 포트는 똑같이해주시면 됩니다. 그리고 Endpoint Address는 제가 VPN 접속용으로 따로 생성한 DDNS 주소를 입력해주었습니다. 이는 Services > Dynamic DNS에도 등록시켜둔 주소 입니다. Keepalive는 25~30으로 설정

Interfaces

인터페이스 설정들어가셔서 WireGuard의 것을 등록시켜 줍니다.

Firewall Rules

Firewall > Rules 에서 위 처럼 설정해주세요. 나중에 접속이 잘 안돼서 이것저것 해보다가 Rules에 들어가보시면 Interface Assignments에서 등록한 WG외에 WireGuard가 자동으로 생성되어있는 것을 볼 수 있는데 거기에도 위와 같은 룰을 적용시켜줬더니 잘 됐습니다.

스마트폰 앱 설정

저는 갤럭시 스마트폰에서 테스트 했습니다.

플레이스토어 WireGuard 다운로드 : https://play.google.com/store/apps/details?id=com.wireguard.android

추가

직접 만들기

저 버튼을 눌러주면 키가 자동 생성됩니다.

제가 오타난것을 캡쳐했네요. DNS 서버는 저의 경우엔 제가 Local에서 설정해줬던 10.0.0.1이 되어야 합니다.

인터페이스(클라이언트)의 공개키는 OPNsense – WireGuard에서 엔드포인트에 넣어주시면 됩니다.

접속 테스트

물론 접속한 클라이언트 기기에서 인터넷 잘되고 IP주소가 서버의 것으로 나오면 성공입니다.

Handshakes와 List Configuration 탭을 눌러서 보시면 조금 더 상세하게 볼 수 있습니다.

제가 요즘 정신이 없어서.. 분명 중간에 뭐 하나 빼먹은듯한데.. 뭔지 모르겠네요..;;; 대충 이정도면 될거예요. 제가 처음에 소개해드린 링크까지 참고하시면 100% 성공하실겁니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다