OpenWrt 공유기에 VPN을 설정하면 집 안의 모든 기기에 별도 앱을 설치하지 않고도 네트워크 경로를 한곳에서 관리할 수 있습니다. 노트북, 스마트폰, 스마트 TV, 게임 콘솔, IoT 기기처럼 VPN 앱을 설치하기 어렵거나 지원하지 않는 장치도 공유기의 라우팅 정책을 따르게 만들 수 있다는 점이 가장 큰 장점입니다. 다만 모든 트래픽을 무조건 같은 회선으로 보내는 것이 항상 좋은 선택은 아닙니다. 국내 서비스, 프린터, NAS, 은행 사이트처럼 직접 연결이 더 적합한 대상과 해외 서비스, 개발 도구, 특정 업무 트래픽처럼 VPN 경로가 필요한 대상을 나누는 것이 관리와 성능 면에서 더 실용적입니다.

이 글에서는 OpenWrt 공유기에서 VPN을 구성할 때 먼저 확인해야 할 펌웨어와 클라이언트 조건, 구독 설정을 가져오는 방식, 전체 라우팅과 분할 라우팅의 차이, DNS 누수를 점검하는 순서를 단계별로 설명합니다. OpenWrt의 메뉴 이름은 버전과 설치한 패키지에 따라 달라질 수 있으므로 특정 버튼 이름만 외우기보다 각 설정이 어떤 역할을 하는지 이해하는 데 초점을 맞추겠습니다.

OpenWrt 공유기 VPN 구성의 기본 원리

일반적인 VPN 앱은 설치된 기기의 네트워크 요청을 가로채서 프록시 또는 터널로 전달합니다. 반면 공유기에서 구성한 VPN은 LAN에 연결된 여러 기기의 기본 게이트웨이 역할을 이용합니다. 기기가 인터넷 주소를 요청하면 공유기가 라우팅 테이블과 방화벽 규칙을 확인하고, 조건에 맞는 패킷을 VPN 인터페이스 또는 일반 WAN 인터페이스로 보냅니다. 따라서 각 기기에 앱이 없어도 공유기 정책의 영향을 받게 됩니다.

OpenWrt에서 사용하는 방식은 크게 프록시 기반 구성과 VPN 터널 기반 구성으로 나눌 수 있습니다. Shadowsocks, VMess, Trojan, Hysteria2와 같은 프로토콜은 클라이언트 코어와 설정 형식에 따라 지원 방식이 달라집니다. WireGuard와 OpenVPN은 터널 인터페이스를 생성한 뒤 라우팅 테이블과 방화벽 정책을 연결하는 방식이 일반적입니다. 구독 링크를 사용할 경우에도 링크 자체가 OpenWrt에서 바로 작동하는 것은 아닙니다. OpenWrt에 설치한 클라이언트나 네트워크 코어가 구독 형식과 프로토콜을 해석할 수 있어야 합니다.

90+

국가 커버리지

200+

회선 수

5

지원 플랫폼

무제한

동시 연결 기기

공유기 구성에서는 노드 숫자보다 호환성과 관리성이 더 중요합니다. OpenWrt의 저장 공간과 메모리가 제한적이면 여러 코어를 동시에 실행하거나 복잡한 규칙을 지나치게 많이 추가했을 때 안정성이 떨어질 수 있습니다. 또한 WAN이 끊겼을 때 LAN 기기가 직접 인터넷으로 우회할지, 아니면 연결을 차단할지 결정해야 합니다. 전자는 사용 편의성이 높지만 VPN을 반드시 거쳐야 하는 장치에는 적합하지 않고, 후자는 경로 통제가 강하지만 VPN 장애 시 인터넷이 멈춘 것처럼 보일 수 있습니다.

설정 전에 확인할 펌웨어와 연결 정보

먼저 OpenWrt 공유기의 관리자 페이지에 접속할 수 있는지, 현재 WAN 연결이 정상인지 확인하세요. 설정 중에 DHCP, 방화벽, LAN 주소를 동시에 변경하면 공유기와 모든 기기의 접속이 끊길 수 있으므로 기존 설정을 백업하는 것이 좋습니다. 특히 무선 SSID와 관리자 주소를 바꾸기 전에 현재 값을 별도로 기록해 두면 문제가 생겼을 때 복구하기 쉽습니다.

다음으로 어떤 설정을 가져올지 구분해야 합니다. 일반적인 VPN 서비스의 구독 링크에는 서버 주소, 포트, 인증 정보, 프로토콜, TLS 또는 전송 계층 매개변수가 포함될 수 있습니다. Clash 계열 YAML, sing-box JSON, 단일 URI, WireGuard 설정 파일은 서로 다른 형식이므로 OpenWrt 패키지가 요구하는 형식으로 변환하거나 호환되는 코어를 사용해야 합니다. 구독 링크를 브라우저 주소창에 열어 내용을 확인하는 것만으로는 공유기 설정이 완료되지 않습니다.

구성 요소 역할 확인할 내용
OpenWrt 펌웨어 라우팅, 방화벽, DHCP와 패키지 실행 환경 제공 저장 공간, 메모리, 현재 WAN과 LAN 상태
네트워크 코어 프로토콜과 구독 설정을 해석하고 연결 생성 Shadowsocks, VMess, Trojan, Hysteria2, WireGuard 또는 OpenVPN 지원 여부
구독 설정 서버와 인증 매개변수를 클라이언트에 전달 YAML, JSON, URI, WireGuard 파일 등 출력 형식
라우팅 정책 VPN 경로와 WAN 직접 연결을 선택 도메인, IP 대역, 기기 주소, 기본 경로 규칙

공유기용 구성에서는 구독 링크를 일반 텍스트처럼 여러 도구에 붙여 넣지 않는 편이 좋습니다. 링크에 접근한 사람은 서버 설정을 다시 요청할 수 있으므로 관리자 비밀번호와 마찬가지로 취급해야 합니다. 화면을 캡처하거나 로그를 공유할 때 주소 전체가 포함되지 않았는지 확인하세요. 링크가 외부에 노출되었다면 서비스 패널에서 구독을 재설정한 후 OpenWrt에 새 주소를 등록하는 것이 안전합니다.

  • ✅ OpenWrt 설정을 백업하고 현재 WAN·LAN 정보를 기록합니다.
  • ✅ 구독 링크의 출력 형식과 설치할 네트워크 코어의 호환성을 확인합니다.
  • ✅ 라우터가 처리할 기기와 직접 연결로 남길 기기를 먼저 정리합니다.
  • ❌ 스마트폰이나 컴퓨터에서 사용하던 설정 파일을 형식 확인 없이 공유기에 그대로 업로드하지 않습니다.
  • ❌ VPN 앱과 공유기 VPN을 동시에 전체 모드로 실행해 경로를 중복으로 만들지 않습니다.

OpenWrt에서 VPN과 분할 라우팅 설정하기

실제 작업은 패키지 설치, 설정 가져오기, 터널 확인, 방화벽 연결, 정책 라우팅 적용의 순서로 진행하는 것이 좋습니다. 패키지 이름과 메뉴 위치는 사용하는 OpenWrt 버전 및 클라이언트에 따라 달라질 수 있지만, 설정의 논리는 거의 같습니다. 원격 접속만으로 작업하지 말고 가능하면 LAN 케이블로 관리자 페이지에 연결하세요. 라우팅을 잘못 저장해 무선 접속이 끊기면 복구 과정이 더 번거로워집니다.

  1. 기본 상태 확인: 관리자 페이지에서 WAN이 인터넷을 받고 있는지 확인하고, LAN 기기가 공유기의 DHCP 주소를 정상적으로 받는지 점검합니다. 이 단계에서 이미 인터넷이 불안정하면 VPN을 추가해도 원인을 구분하기 어렵습니다.
  2. 필요한 코어 선택: 구독에 포함된 프로토콜을 처리할 수 있는 OpenWrt용 클라이언트를 선택합니다. sing-box 계열 설정을 사용할 때는 JSON 구조와 실행 권한을 확인하고, Clash 계열 설정을 사용할 때는 YAML의 프록시 그룹과 규칙이 해당 코어에서 지원되는지 확인합니다.
  3. 구독 또는 설정 가져오기: 서비스 패널에서 현재 클라이언트에 맞는 주소나 파일을 복사해 원격 설정 또는 로컬 설정 영역에 등록합니다. 저장 후 업데이트를 실행하고 노드 이름, 서버 주소, 포트, 인증 정보가 정상적으로 읽혔는지 확인합니다.
  4. 터널 실행: 우선 하나의 노드만 선택해 연결합니다. 연결 로그에서 DNS 오류, 인증 실패, TLS 협상 실패, UDP 차단과 같은 메시지를 살펴보고, 노드가 표시된다는 이유만으로 실제 통신이 성공했다고 판단하지 마세요.
  5. 방화벽 영역 연결: VPN 인터페이스를 별도 방화벽 영역에 넣고 필요한 포워딩만 허용합니다. LAN에서 VPN으로 가는 방향과 VPN에서 응답이 돌아오는 방향이 모두 맞아야 하며, 불필요하게 WAN과 VPN 사이의 모든 포워딩을 허용하면 정책 의도가 흐려질 수 있습니다.
  6. 정책 라우팅 작성: 기본 경로를 WAN으로 둘지 VPN으로 둘지 정한 다음 예외 규칙을 위에 배치합니다. 예를 들어 특정 기기의 모든 트래픽만 VPN으로 보내거나, 특정 목적지 도메인과 IP 대역만 VPN으로 보내는 방식이 있습니다.
  7. DNS 경로 설정: LAN 기기가 공유기에서 DNS를 받도록 하고, VPN 대상 도메인의 조회가 직접 연결된 외부 DNS로 빠지지 않는지 확인합니다. DNS 규칙과 실제 패킷 규칙이 서로 다른 경로를 사용하면 접속은 되더라도 지역 판정이나 서비스 인증에서 문제가 생길 수 있습니다.

분할 라우팅 규칙은 기기 기준과 목적지 기준을 구분해서 작성하세요. 기기 기준은 거실 TV나 업무용 노트북처럼 특정 장치의 모든 요청을 한 경로로 보내는 데 적합합니다. 목적지 기준은 같은 기기에서 국내 서비스는 직접 연결하고 특정 해외 서비스만 VPN으로 보내고 싶을 때 유용합니다. 두 규칙이 충돌하면 우선순위가 높은 규칙이 적용되므로, 기본 규칙과 예외 규칙을 문서로 남겨 두는 것이 좋습니다.

도메인 규칙만 작성하면 일부 서비스가 완전히 작동하지 않을 수 있습니다. 로그인 페이지, API, 이미지 저장소, 인증 서버, 업데이트 서버가 서로 다른 도메인을 사용할 수 있기 때문입니다. 반대로 IP 주소만 등록하면 CDN 주소 변경이나 공유 IP 때문에 예상하지 못한 서비스까지 같은 경로를 사용할 수 있습니다. 따라서 연결 로그에서 실제 요청 도메인과 매칭된 정책을 확인하면서 필요한 범위만 조정하세요.

한 줄 결론: 처음부터 복잡한 규칙을 많이 넣지 말고, 하나의 노드와 하나의 기기로 터널을 확인한 뒤 기기별·목적지별 예외를 단계적으로 추가하세요.

DNS 누수와 분할 라우팅이 제대로 작동하는지 확인하기

라우터 VPN에서 가장 자주 놓치는 부분은 IP 경로와 DNS 경로가 따로 움직이는 상황입니다. 트래픽은 VPN으로 보내면서 DNS 질의는 ISP 또는 직접 연결된 외부 DNS로 보내면, 사용자는 웹페이지가 열리는 것만 보고 정상이라고 생각할 수 있습니다. 그러나 지역 기반 응답, 차단 정책, 서비스 로그인 위치가 예상과 다르게 나타날 수 있습니다. DNS 누수 점검은 VPN 연결 전후의 DNS 서버, 외부 IP, 실제 사용하는 기기의 경로를 각각 비교하는 방식으로 진행하세요.

클라이언트와 공유기 상태 함께 확인하기

OpenWrt 관리자 페이지에서 VPN 인터페이스가 실행 중인지, 송수신 패킷 카운터가 증가하는지 확인합니다. 카운터가 전혀 변하지 않는다면 규칙이 해당 인터페이스에 도달하지 않거나 방화벽 포워딩이 막혀 있을 가능성이 있습니다. 반대로 카운터는 증가하지만 특정 사이트만 열리지 않는다면 DNS, MTU, TLS 또는 목적지 규칙을 차례로 점검해야 합니다.

테스트는 한 번에 모든 장치에서 진행하지 말고, 먼저 한 대의 노트북이나 휴대폰을 대상으로 실행하세요. VPN 대상 장치에서는 외부 IP가 예상한 VPN 출구로 나타나는지 확인하고, 직접 연결 대상 장치에서는 일반 WAN 경로가 유지되는지 확인합니다. 그다음 프린터, NAS, 공유 폴더처럼 집 안의 사설 주소를 사용하는 기능을 테스트합니다. 로컬 장치까지 VPN 인터페이스로 보내면 내부 이름 해석이나 접근 권한이 깨질 수 있으므로 LAN 대역은 보통 직접 연결 예외로 남겨야 합니다.

연결이 끊겼을 때의 동작도 테스트

VPN 프로세스를 재시작하거나 노드를 바꾼 뒤 클라이언트가 자동으로 재연결되는지 확인하세요. 재연결 중 일부 트래픽이 WAN으로 빠지는지, 아니면 연결이 복구될 때까지 차단되는지는 방화벽 정책에 따라 달라집니다. 업무 장치나 민감한 작업을 VPN 경로에 고정하려면 우회 동작을 명확히 이해해야 합니다. 공유기 재부팅 후에도 DNS 설정, 정책 라우팅, 방화벽 영역, 자동 시작 옵션이 모두 복원되는지도 확인해야 합니다.

자주 발생하는 문제와 복구 방법

설정 후 인터넷이 전혀 되지 않는다면 먼저 VPN 노드나 프로토콜보다 라우팅 우선순위와 방화벽을 확인하세요. 전체 기본 경로를 VPN으로 바꾼 뒤 VPN 인터페이스가 실제로 실행되지 않으면 모든 LAN 기기의 인터넷이 멈출 수 있습니다. 이 경우 관리자 페이지에 LAN 주소로 접속해 기본 경로를 WAN으로 임시 복구하고, VPN 연결과 방화벽 포워딩을 다시 확인하는 편이 안전합니다.

일부 사이트만 열리지 않는 경우에는 분할 규칙에 등록한 도메인 범위가 너무 좁거나 DNS 응답이 다른 경로로 반환되는지 살펴보세요. 사이트가 여러 하위 도메인과 API를 사용한다면 메인 도메인 하나만 추가해서는 충분하지 않을 수 있습니다. 반대로 모든 하위 도메인을 무조건 VPN으로 보내면 불필요한 트래픽이 늘어날 수 있으므로 로그를 기준으로 필요한 항목만 추가해야 합니다.

속도가 느리거나 연결이 자주 끊기면 공유기의 CPU 사용량과 메모리 여유, 선택한 프로토콜의 전송 방식, MTU, 노드 상태를 함께 확인하세요. Hysteria2처럼 UDP와 QUIC에 의존하는 구성은 네트워크에서 UDP가 제한될 때 연결 자체가 실패할 수 있습니다. WireGuard는 터널 설정이 간결하지만 AllowedIPs가 너무 넓거나 잘못 작성되면 LAN 관리 주소와 일반 인터넷 경로까지 영향을 받을 수 있습니다. OpenVPN은 설정 파일과 인증서, 암호화 매개변수의 호환성을 세밀하게 확인해야 합니다.

스마트 TV나 게임 콘솔처럼 DNS를 자체적으로 지정하는 장치는 공유기의 DNS 정책을 따르지 않을 수 있습니다. 장치에 수동 DNS가 설정되어 있다면 자동으로 되돌린 뒤 다시 확인하세요. 또한 기기 자체에 VPN 앱이나 프록시가 실행 중이면 공유기 정책과 중복될 수 있습니다. 한 장치에서 원인을 찾을 때는 먼저 기기별 VPN, 수동 프록시, 보안 소프트웨어를 끄고 공유기만 연결 경로를 제어하도록 만드는 것이 좋습니다.

  • ✅ 인터넷 전체 장애는 라우팅 기본 경로와 방화벽 포워딩부터 확인합니다.
  • ✅ 특정 서비스 장애는 DNS 응답과 연결 로그의 규칙 매칭 결과를 함께 봅니다.
  • ✅ 공유기 재부팅 뒤 자동 시작과 설정 저장 여부를 다시 확인합니다.
  • ❌ 문제가 생길 때마다 노드만 바꾸면 라우팅 오류와 회선 문제를 구분하기 어렵습니다.

OpenWrt 공유기 VPN 설정 FAQ

공유기 VPN을 쓰면 모든 기기가 자동으로 VPN을 사용하나요?

공유기의 LAN을 기본 게이트웨이로 사용하고 정책 규칙에 포함된 기기라면 공유기 라우팅의 영향을 받습니다. 그러나 장치가 별도의 VPN, 프록시 또는 수동 DNS를 사용하면 다른 경로가 적용될 수 있습니다. 따라서 기기별 외부 IP와 DNS 결과를 따로 확인해야 합니다.

구독 링크를 OpenWrt 관리자 페이지에 바로 붙여 넣으면 되나요?

OpenWrt 기본 기능이 모든 구독 형식을 해석하는 것은 아닙니다. 설치한 클라이언트와 네트워크 코어가 해당 YAML, JSON, URI 또는 터널 설정을 지원해야 하며, 지원하지 않으면 호환되는 형식으로 준비해야 합니다. 설정을 변환할 때 서버 주소와 인증 정보가 공개되지 않도록 주의하세요.

분할 라우팅에서 국내 서비스는 직접 연결해도 되나요?

가능합니다. 국내 서비스, 프린터, NAS, 공유 폴더처럼 직접 연결이 필요한 대상을 예외로 지정할 수 있습니다. 다만 도메인과 IP 규칙이 충돌할 수 있으므로 우선순위를 확인하고, 로컬 LAN 대역이 VPN으로 들어가지 않는지 함께 점검해야 합니다.

VPN이 끊기면 인터넷을 자동으로 차단해야 하나요?

업무 장치나 특정 경로를 반드시 보호해야 한다면 VPN이 없을 때 WAN 우회를 막는 정책을 고려할 수 있습니다. 반대로 일반 가정용 장치의 연결 지속성이 더 중요하다면 장애 시 직접 연결을 허용할 수 있습니다. 중요한 것은 기본값을 추측하지 말고 실제로 터널을 중단한 상태에서 어떤 경로가 선택되는지 확인하는 것입니다.

최종 정리: OpenWrt VPN은 한 번 설정하고 끝나는 기능이 아니라, 구독 업데이트·라우팅 우선순위·DNS 경로·재연결 동작을 함께 관리하는 네트워크 구성입니다. 먼저 단순한 전체 연결로 기반을 확인한 다음 필요한 장치와 목적지만 분할 라우팅으로 확장하면 복구와 유지 관리가 훨씬 쉬워집니다.