Remote Access
OpenVPN 원격 MikroTik 관리
VPS 서버와 MikroTik 클라이언트로 OpenVPN 구성 — PKI 설정, 인증서 워크플로우, 보안 모범 사례.
요약 OpenVPN은 VPS를 허브로, MikroTik 라우터를 클라이언트로 사용하여 원격 관리에 적합한 테스트된 TLS 기반 VPN입니다. WireGuard와 Tailscale보다 오래되었지만 광범위한 호환성, 세분화된 PKI 제어, 유연한 라우팅 옵션으로 인해 여전히 관련성이 있습니다. 본 가이드는 easy-rsa를 사용한 Ubuntu VPS 서버 설정, 클라이언트 인증서 워크플로우, MikroTik OVPN-클라이언트 구성, 그리고 시간이 지남에 따라 배포를 감시할 수 있게 해주는 보안 체크리스트를 다룹니다.
OpenVPN이 원격 MikroTik 관리를 어떻게 가능하게 하는가?
OpenVPN은 OpenSSL 기반의 오픈소스 VPN 구현으로, TCP 또는 UDP를 통해 암호화된 터널을 구성합니다. MikroTik 원격 관리의 경우, 일반적인 토폴로지는 Ubuntu VPS를 항상 온라인 상태인 서버로, 하나 이상의 MikroTik 라우터를 클라이언트로 사용합니다. 라우터가 아웃바운드 터널을 시작하므로, 고객 측의 NAT와 CGNAT는 문제가 되지 않으며, VPS는 터널을 통해 라우터(및 그 뒤의 장치)에 도달할 수 있게 하는 경로와 NAT 규칙을 보유합니다.
OpenVPN의 강점은 성숙한 암호화(AES-256, SHA-256, TLS), IPv4 및 IPv6 지원, TUN(라우팅) 및 TAP(브리지) 모드, RouterOS를 포함한 벤더 및 운영 체제 전반의 광범위한 호환성입니다. 장단점은 소규모 라우터에서 WireGuard보다 높은 CPU 소비, 실제 PKI 설정 단계(CA, 인증서, 키), 그리고 알아야 할 RouterOS 특정 제한입니다 — 역사적으로 MikroTik OVPN 클라이언트는 일부 버전에서 TCP 전송만 지원합니다. 비교 패턴으로는 WireGuard 원격 관리 가이드, SSTP 가이드, Tailscale 가이드를 참고하세요.
OpenVPN 작동 원리
OpenVPN은 서버(일반적으로 공개 VPS)와 하나 이상의 클라이언트 간의 암호화된 터널을 구성합니다. 인증은 CA, 클라이언트별 인증서, 선택적 TLS-auth(ta.key)를 사용합니다. 두 가지 공통 모드:
- TUN(라우팅) — 네트워크 간 IP 라우팅. 표준 선택입니다.
- TAP(브리지) — 레이어 2 브리징으로, 브로드캐스트 종속 응용 프로그램에 유용합니다. 더 무겁고 거의 필요하지 않습니다.
단계 1: VPS에 OpenVPN 설치
apt update && apt install -y openvpn easy-rsa단계 2: PKI 및 서버 키 구성
make-cadir ~/openvpn-cacd ~/openvpn-ca./easyrsa init-pki./easyrsa build-ca nopass./easyrsa gen-req server nopass./easyrsa sign-req server server./easyrsa gen-dhopenvpn --genkey --secret ta.keyCA 개인키를 안전하게 보관하고 백업하세요. CA 키를 프로덕션 시크릿처럼 취급하세요 — CA가 있는 모든 사람이 합법적인 클라이언트 인증서를 위조할 수 있습니다.
단계 3: 서버 구성 작성
/etc/openvpn/server.conf (최소):
port 1194proto udpdev tunca ca.crtcert server.crtkey server.keydh dh.pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 8.8.8.8"keepalive 10 120cipher AES-256-CBCuser nobodygroup nogrouppersist-keypersist-tunstatus openvpn-status.logverb 3단계 4: 서비스 시작 및 방화벽 개방
systemctl enable openvpn@serversystemctl start openvpn@serverufw allow 1194/udp포트 1194를 전체 인터넷에 노출하면 VPS를 보호하세요 — fail2ban, 엄격한 SSH 키, 그리고 실용적인 범위 내에서 소스 IP 방화벽 제한. 인터넷 노출된 VPN 엔드포인트는 지속적으로 탐지됩니다.
단계 5: 클라이언트 인증서 및 구성 생성
easy-rsa(./easyrsa build-client-full client1 nopass)를 사용하여 클라이언트 인증서를 생성하고 클라이언트를 위해 다음을 번들로 묶습니다:
ca.crtclient1.crtclient1.keyta.key(사용하는 경우)client.ovpn— 클라이언트 구성 파일
최소한의 client.ovpn:
clientdev tunproto udpremote YOUR.VPS.IP 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crtkey client1.keyremote-cert-tls servercipher AES-256-CBCverb 3단계 6: MikroTik을 OpenVPN 클라이언트로 구성
RouterOS는 RouterOS 특정 제한이 있는 OpenVPN 클라이언트 연결을 지원합니다 — 특히 이전 버전은 TCP 전송으로만 제한합니다.
- Winbox의 Files 창을 통해
ca.crt,client1.crt,client1.key를 MikroTik에 업로드하세요. - 터미널에서:
/interface ovpn-client add name=ovpn-out1 \ connect-to=YOUR.VPS.IP port=1194 \ user=vpnuser password="yourpassword" \ profile=default-encryption add-default-route=no
/interface ovpn-client print예상된 상태:
status: connecteduptime: 00:01:03remote-address: 10.8.0.1local-address: 10.8.0.6UDP와의 연결에 실패하면 RouterOS 릴리스 노트를 확인하세요 — 버전이 OVPN 클라이언트를 TCP로만 제한하는 경우, 서버 proto를 tcp로 변경하고 방화벽 규칙도 변경하세요. RouterOS에서 UDP 친화적인 대안의 경우 WireGuard가 현대적인 기본값입니다.
터널을 통해 내부 장치에 도달
MikroTik 뒤의 장치(예: 192.168.88.100의 카메라)에 도달하려면, MikroTik에서 dst-nat을 사용하여 터널을 통해 로컬 포트를 노출하세요:
/ip firewall nat add chain=dstnat protocol=tcp dst-port=8081 \ action=dst-nat to-addresses=192.168.88.100 to-ports=80서버 또는 다른 VPN 클라이언트에서 라우팅된 주소와 포트를 통해 연결하세요:
http://10.8.0.6:8081트래픽은 OpenVPN 터널을 통해 흐르고 내부 호스트에 도달합니다.
보안 모범 사례
- 클라이언트당 고유한 인증서. 장치 간에 키를 재사용하지 마세요.
- TLS 클라이언트 인증서와 사용자명/비밀번호를 결합하여 이중 인증 같은 제어를 원하면 조합하세요.
- 일정에 따라 키와 인증서를 회전하세요. CRL(인증서 해지 목록)을 구현하여 손실된 장치를 처리하세요.
- 실용적인 범위 내에서 VPS 방화벽에서 소스 IP를 제한하세요.
- 성능을 위해 UDP를 선호하세요; RouterOS 호환성을 릴리스별로 확인하세요.
- 연결 상태와 로그(syslog,
openvpn-status.log)를 모니터링하세요. - 많은 장치에 대해 스크립트로 인증서 발급을 자동화하지만, 가능한 한 CA를 오프라인으로 유지하세요 — 연결된 서버의 CA는 피싱 이메일 한 통으로부터 손상될 수 있습니다.
더 광범위한 관리 평면 보안 컨텍스트의 경우, Winbox 보안 모범 사례 문서를 참고하세요.
OpenVPN 대 현대적 대안
| 솔루션 | 강점 | 선택할 시점 |
|---|---|---|
| OpenVPN | 호환성, 세분화된 인증서 제어 | 혼합/레거시 플릿; 기업 어플라이언스 |
| WireGuard | 속도, 단순성, 현대적 암호화 | 현대 장치, 소형 라우터 |
| SSTP | 포트 443의 TLS, 방화벽 통과 | UDP 및 기타 VPN 포트를 차단하는 네트워크 |
| Tailscale / ZeroTier | 메시, 신원 기반, 배포 용이 | 노트북, 팀, 크로스 플랫폼 협업 |
OpenVPN 사용 시기
세분화된 인증서 제어가 중요할 때, 플릿에 현대적 VPN 에이전트 없는 레거시 장치 또는 어플라이언스가 포함될 때, 또는 기존 방화벽 규칙 및 엔터프라이즈 PKI와 통합해야 할 때 OpenVPN을 선택하세요. 원시 처리량과 최소한의 CPU 오버헤드가 더 중요하면 WireGuard가 이기므로 — WireGuard 튜토리얼과 Tailscale 가이드를 참고하세요.
다음 단계
OpenVPN은 유물이 아닙니다. 호환성과 인증 및 라우팅에 대한 명시적 제어가 필요할 때 신뢰할 수 있는 도구입니다. VPS 및 MikroTik 클라이언트와 페어링하면 카메라, 라우터, 내부 서비스에 대한 강력하고 감시 가능한 원격 접근 경로를 얻습니다.
장치별 PKI 의식을 건너뛰려면, MKController의 NATCloud는 NAT 또는 CGNAT 뒤의 장치에 대한 원격 접근을 중앙집중식 거버넌스, 모니터링, 자동 재연결과 함께 제공합니다 — 라우터별 유지 관리할 인증서가 없습니다.