WireGuard · 2026-01-14

MikroTik RouterOS WireGuard 설정 설명

MikroTik RouterOS에서 WireGuard 설정의 기본 원리와 단계별 구성 예시, 방화벽 및 라우팅 고려사항을 포함한 실무 설정

작성일 : 2026-01-14 ㆍ 작성자 : 관리자
post
목차

개요

이 글은 MikroTik RouterOS에서 WireGuard를 이해하고 설정하는 방법을 차분히 정리한 설명이다. 처음 접하는 사용자를 위해 용어와 흐름을 먼저 정리하고, 실제 명령어 예시와 방화벽·라우팅 관련 권장 구성을 함께 제시한다. 핵심 키워드는 MikroTik WireGuard 설정, RouterOS WireGuard 설치, Mikrotik WireGuard 튜토리얼이다.

WireGuard 기본 개념

WireGuard는 경량의 VPN 프로토콜로서 암호화와 성능에 초점이 있다. 구성 요소는 인터페이스와 피어(peer)이며, 각 피어는 공개키와 허용 주소(allowed-ips)를 가진다. RouterOS에서는 인터페이스를 만들고 주소를 할당한 뒤, 피어를 등록해서 통신이 가능해진다.

사전 준비

  • RouterOS 버전 7 이상 권장
  • 관리자 권한으로 CLI 또는 Winbox 접근
  • 키 페어 생성 도구(예: Linux의 wg 명령어) 또는 안전한 방식으로 키 생성
  • 내부 네트워크 설계(예: WireGuard 서브넷 10.10.10.0/24)

키 페어 생성

키는 RouterOS 밖에서 생성하는 방법이 일반적이다. Linux 또는 macOS에서 wg 도구를 사용하면 간단하다. 예시 명령과 출력 형태는 다음과 같다.

umask 077
wg genkey | tee privatekey | wg pubkey < privatekey

위 결과로 privatekey와 publickey가 생성된다. 이 값을 RouterOS 설정에 그대로 사용한다.

RouterOS에 WireGuard 인터페이스 추가

기본 인터페이스와 주소 할당 예시는 아래와 같다. private-key와 포트, IP는 환경에 맞게 대체한다.

/interface/wireguard add name=wg0 listen-port=51820 private-key=""
/ip/address add address=10.10.10.1/24 interface=wg0

피어(peer) 추가 예시

원격 클라이언트의 public-key와 허용 주소를 등록한다. 여러 피어를 추가하는 방식은 동일하다.

/interface/wireguard peers add interface=wg0 public-key="" allowed-address=10.10.10.2/32
/interface/wireguard peers add interface=wg0 public-key="" allowed-address=10.10.10.3/32

방화벽 및 NAT 고려사항

WireGuard는 UDP 포트를 사용하므로 RouterOS 방화벽에서 해당 포트를 허용하고, 필요 시 포트 포워딩을 구성한다. 외부에서 접근하는 경우 입력 체인(input)에서 포트를 허용하는 규칙이 필요하다. 내부 네트워크로의 트래픽에는 소스/목적지 기반 규칙을 적용한다.

/ip/firewall/filter add chain=input action=accept protocol=udp dst-port=51820 comment="Allow WireGuard"
/ip/firewall/filter add chain=forward src-address=10.10.10.0/24 action=accept comment="Allow WG subnet forward"
/ip/firewall/nat add chain=srcnat src-address=10.10.10.0/24 out-interface=ether1 action=masquerade comment="NAT for WG clients"

라우팅과 DNS

클라이언트가 내부 리소스에 접근해야 할 경우 허용 주소 설정으로 라우팅이 자동화된다. 전체 트래픽을 터널로 보내는 경우 allowed-ips에 0.0.0.0/0을 사용한다. DNS 설정은 클라이언트 측에서 WireGuard 구성에 넣거나 DHCP/라우터 설정으로 제공한다.

클라이언트 구성 예시

클라이언트는 공개키와 서버의 공개키, 엔드포인트 주소, 허용 주소를 포함한다. 간단한 구성 예시는 아래와 같다.

[Interface]
PrivateKey = 
Address = 10.10.10.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = 
Endpoint = vpn.example.com:51820
AllowedIPs = 10.10.10.0/24, 0.0.0.0/0

테스트 및 문제 해결

  • 연결 확인: RouterOS에서 /interface/wireguard print로 상태 확인
  • 로그 확인: 방화벽과 시스템 로그에서 드롭된 패킷 여부 점검
  • 포트 확인: 외부에서 UDP 포트 접근성 확인
  • 라우팅 확인: 클라이언트에서 traceroute와 ping으로 경로 검증

자주 발생하는 문제

  • 키값 오기입: public/private 키가 서로 바뀐 경우 통신 불가
  • 방화벽 차단: 입력 체인에서 UDP 포트가 차단된 경우 연결 불가
  • 잘못된 AllowedIPs: 라우팅 충돌로 특정 네트워크 접근 불가

마무리

RouterOS에서 WireGuard 설정은 인터페이스 생성, 피어 등록, 방화벽·라우팅 설정의 세 단계로 정리된다. 단계별 확인과 간단한 테스트로 빠르게 동작 여부를 판단할 수 있다. 구성은 환경에 따라 달라지므로 작은 범위에서 시범 운영 후 확장하는 방식이 권장된다.

MikroTik WireGuard 설정 RouterOS WireGuard 설치 Mikrotik WireGuard 튜토리얼 WireGuard 구성 MikroTik VPN RouterOS VPN 설정 네트워크 보안 WireGuard 예제