OpenWrt 공유기에 VPN을 구성하면 노트북이나 휴대폰에서 매번 클라이언트를 켜지 않아도 홈 네트워크의 여러 기기를 한 곳에서 관리할 수 있습니다. 하지만 모든 트래픽을 VPN으로 보내는 방식과, 특정 기기·도메인·IP 대역만 VPN으로 보내는 분할 터널링은 설정 원리와 장애 원인이 다릅니다. 특히 IPTV, 게임 콘솔, 사내 시스템, 인터넷뱅킹처럼 일반 회선을 유지해야 하는 기기가 있다면 정책 기반 라우팅과 DNS 구성을 함께 설계해야 합니다.
이 글에서는 OpenWrt에서 사용할 수 있는 WireGuard와 OpenVPN의 차이, VPN 인터페이스와 방화벽 영역 구성, 정책 기반 라우팅을 이용한 분할 터널링, DNS 누수 확인, 장애 발생 시 원래 회선으로 복구하는 순서를 설명합니다. 메뉴 이름은 OpenWrt 버전과 설치한 LuCI 패키지에 따라 조금 다를 수 있으므로, 화면의 명칭보다 인터페이스·라우팅 테이블·방화벽 영역의 관계를 이해하는 데 초점을 맞추세요.
OpenWrt 분할 터널링의 기본 구조
분할 터널링을 이해하려면 먼저 패킷이 어떤 순서로 이동하는지 알아야 합니다. 홈 네트워크의 기기는 공유기에서 DHCP로 내부 주소를 받고, 외부로 나가는 패킷은 기본 라우팅 규칙에 따라 WAN 인터페이스로 전달됩니다. VPN을 추가하면 별도의 터널 인터페이스가 생기며, 특정 조건에 일치하는 패킷만 이 인터페이스를 통해 원격 서버로 보낼 수 있습니다.
여기서 조건은 여러 방식으로 작성할 수 있습니다. 특정 내부 IP를 사용하는 TV만 VPN에서 제외하거나, 업무용 노트북의 해외 서비스 트래픽만 VPN으로 보낼 수 있습니다. 도메인 기반 규칙은 DNS 응답으로 얻은 IP를 기준으로 동작하는 경우가 많기 때문에, 서비스가 사용하는 주소가 바뀌거나 여러 CDN 주소를 사용할 때는 규칙이 완벽하게 유지되지 않을 수 있습니다. 반면 기기 기반 규칙은 관리가 쉽지만 해당 기기의 모든 트래픽이 같은 경로로 이동합니다.
2
주요 VPN 방식: WireGuard·OpenVPN
90+
지원 국가
200+
지원 회선
不限
동시 온라인 기기
VPN 서비스에서 제공하는 구독 링크를 OpenWrt에 그대로 붙여 넣을 수 있다고 단정해서는 안 됩니다. 구독 링크는 Windows, macOS, Android, iOS용 공식 클라이언트나 Clash Verge, sing-box, Shadowrocket 같은 호환 클라이언트에 맞춘 형식일 수 있습니다. OpenWrt에서는 제공업체가 발급한 WireGuard 설정 파일, OpenVPN 프로필 또는 OpenWrt에서 지원되는 코어의 구성 형식이 필요할 수 있습니다. 지원 형식이 불분명하면 먼저 서비스의 안내에서 OpenWrt, WireGuard, OpenVPN 또는 Linux 호환 여부를 확인하세요.
WireGuard와 OpenVPN 중 선택하기
WireGuard는 구성이 비교적 간결하고 키 기반 인증을 사용합니다. OpenWrt에서 인터페이스를 추가한 뒤 개인 키, 서버 공개 키, 서버 주소, 허용된 IP와 연결 유지 옵션을 입력하는 방식이 일반적입니다. 설정 항목이 적다고 해서 아무 값이나 넣어도 되는 것은 아닙니다. 특히 AllowedIPs는 암호화 대상 네트워크와 라우팅 범위에 직접 영향을 주므로, 전체 터널을 만들 것인지 특정 대역만 터널에 넣을 것인지 구분해야 합니다.
OpenVPN은 인증서, 사용자 이름, 비밀번호, TLS 관련 설정 등 확인할 항목이 더 많을 수 있지만, 다양한 서버 구성과 기존 장비에서 널리 사용됩니다. 제공된 .ovpn 파일 안에 인증서나 키가 포함되어 있는지, 별도의 인증 파일이 필요한지 확인하세요. 파일을 일부만 복사하면 인터페이스는 생성되지만 핸드셰이크가 성립하지 않는 문제가 생길 수 있습니다.
| 항목 | WireGuard | OpenVPN |
|---|---|---|
| 구성 방식 | 키와 피어 정보 중심 | 프로필, 인증서, 암호화 옵션 중심 |
| OpenWrt 설정 | 인터페이스와 피어 추가 | 클라이언트 프로필 가져오기 |
| 분할 규칙에서 볼 항목 | AllowedIPs와 정책 라우팅 | 라우팅 테이블과 리다이렉션 설정 |
| 주의점 | 키와 주소를 정확히 입력 | 인증서·TLS·DNS 옵션을 함께 확인 |
처음 구축한다면 한 가지 VPN 인터페이스만 먼저 정상 연결하세요. VPN 연결과 정책 기반 라우팅을 동시에 설정하면 실패 원인이 터널 인증인지, 방화벽인지, 규칙 우선순위인지 구분하기 어렵습니다. 기본 WAN으로 인터넷이 되는 상태에서 VPN 터널만 추가하고, 터널의 핸드셰이크와 서버 측 연결 상태를 확인한 다음 분할 규칙을 적용하는 순서가 안전합니다.
OpenWrt에서 VPN 인터페이스와 방화벽 구성하기
LuCI에서 WireGuard 또는 OpenVPN 관련 패키지를 설치한 뒤 VPN 인터페이스를 생성합니다. WireGuard라면 개인 키와 내부 터널 주소를 입력하고, 피어 항목에 서버 공개 키와 엔드포인트를 지정합니다. OpenVPN이라면 클라이언트 인스턴스에 제공받은 프로필을 연결하고 인증 정보가 필요한 경우 별도 파일을 지정합니다. 공유기의 시스템 시간이 크게 어긋나 있으면 TLS 인증서 검증에 실패할 수 있으므로 NTP 동기화도 확인하세요.
인터페이스가 만들어졌다고 곧바로 LAN 기기가 VPN을 이용하는 것은 아닙니다. 일반적으로 VPN 인터페이스를 별도의 방화벽 영역에 넣고, 해당 영역에서 외부로 나가는 전달을 허용해야 합니다. NAT가 필요한 구성에서는 VPN 영역의 masquerading 설정도 검토해야 합니다. 다만 LAN에서 VPN으로 전달하는 규칙을 무조건 넓게 열기보다는, 이후 정책 라우팅에서 사용할 기기와 목적지만 정한 다음 필요한 범위로 제한하는 편이 좋습니다.
- 기본 WAN 연결을 유지한 상태에서 VPN 클라이언트 인터페이스를 추가합니다.
- 서버 주소, 인증 키 또는 인증서를 입력하고 저장한 뒤 터널 상태를 확인합니다.
- VPN 인터페이스를 별도 방화벽 영역에 배치하고 외부 전달과 필요한 NAT를 설정합니다.
- LAN 기기 전체를 VPN으로 보내지 말고, 테스트용 기기 하나를 기준으로 정책을 작성합니다.
- 정책을 적용한 뒤 내부 주소, DNS 응답, 외부 접속 경로를 각각 확인합니다.
명령줄에서 상태를 확인할 때는 OpenWrt 버전에 따라 도구가 다를 수 있지만, 인터페이스와 라우팅 테이블을 확인하는 기본 명령은 유용합니다.
ip address
ip route
logread | grep -i vpn
wg show
wg show는 WireGuard 피어의 최근 핸드셰이크와 전송량을 확인하는 데 도움이 됩니다. 핸드셰이크가 없으면 방화벽보다 먼저 키, 엔드포인트, 포트, 시스템 시간과 상위 네트워크의 UDP 제한 여부를 점검하세요. OpenVPN은 프로세스 로그에서 인증서, 사용자 인증, TLS 협상 실패 원인을 확인해야 합니다.
정책 기반 라우팅으로 분할 규칙 만들기
OpenWrt의 기본 라우팅만으로도 단순한 전체 터널은 구성할 수 있지만, 기기와 도메인별 분할에는 정책 기반 라우팅 도구를 사용하는 편이 관리하기 쉽습니다. OpenWrt 생태계에서는 PBR 계열 패키지와 LuCI 화면을 이용해 특정 소스 주소, 목적지 주소, 도메인 목록, 인터페이스를 연결할 수 있습니다. 패키지 이름과 메뉴 구조는 배포판 버전에 따라 다를 수 있으므로 설치 후 서비스 상태와 도움말을 함께 확인하세요.
규칙을 만들 때는 ‘무엇을 VPN으로 보낼 것인가’와 ‘무엇을 일반 회선으로 남길 것인가’를 먼저 문장으로 정리합니다. 예를 들어 업무용 노트북의 특정 업무 도메인만 VPN으로 보내고, IPTV와 게임 콘솔은 WAN을 사용하도록 할 수 있습니다. 반대로 도메인 목록이 자주 바뀌는 동영상 플랫폼은 도메인 규칙만으로는 누락이 생길 수 있으므로, 해당 기기 전체를 별도 정책에 넣는 방법이 더 예측 가능할 때도 있습니다.
- ✅ 테스트할 기기에 고정 DHCP 임대 주소를 부여해 규칙의 기준을 안정적으로 유지합니다.
- ✅ VPN으로 보낼 규칙과 WAN으로 보낼 예외 규칙의 우선순위를 문서로 기록합니다.
- ✅ 도메인 목록을 만들 때 기본 도메인뿐 아니라 로그인·API·CDN 주소가 필요한지 확인합니다.
- ✅ IPTV, 프린터, NAS처럼 로컬 통신이 필요한 기기는 LAN 예외와 멀티캐스트 요구사항을 별도로 검토합니다.
- ❌ 두 개의 VPN 클라이언트가 같은 기본 경로와 DNS 포트를 동시에 차지하게 하지 않습니다.
정책 순서는 결과에 큰 영향을 줍니다. 더 구체적인 예외를 넓은 규칙보다 앞에 배치해야 합니다. 예를 들어 한 기기 전체를 VPN으로 보내는 규칙과 특정 주소를 WAN으로 보내는 규칙이 함께 있다면, 예외가 먼저 평가되는지 확인해야 합니다. 도메인 기반 규칙은 DNS 프록시 또는 PBR의 DNS 감시 기능을 요구할 수 있으므로, 브라우저가 DoH를 직접 사용하면 공유기의 도메인 규칙이 예상대로 작동하지 않을 수 있습니다.
적용 후 검증과 장애 복구
정책을 저장한 뒤에는 단순히 웹페이지 하나가 열리는지만 보지 마세요. 먼저 테스트 기기가 올바른 내부 주소를 받았는지 확인하고, VPN 대상 도메인과 일반 도메인을 각각 접속합니다. 그다음 공유기 로그, PBR 서비스 상태, VPN 핸드셰이크, DNS 응답을 순서대로 확인하면 어느 계층에서 문제가 생겼는지 좁힐 수 있습니다.
| 검증 대상 | 확인할 내용 | 이상일 때 우선 조치 |
|---|---|---|
| VPN 터널 | 핸드셰이크와 송수신 패킷이 갱신되는지 | 키, 엔드포인트, 시간, 방화벽 확인 |
| 라우팅 | 대상 트래픽이 VPN 인터페이스로 향하는지 | 정책 우선순위와 AllowedIPs 확인 |
| DNS | 도메인이 올바른 서버에서 해석되는지 | DNS 포워딩과 브라우저 DoH 확인 |
| 예외 기기 | WAN을 유지하면서 로컬 장치에 접근하는지 | LAN 전달과 예외 정책 확인 |
VPN 대상 사이트는 연결되지만 일반 사이트가 느려지거나 열리지 않는다면 전체 기본 경로가 VPN으로 바뀌었을 가능성이 있습니다. 반대로 어떤 사이트도 VPN을 사용하지 않는다면 정책 서비스가 실행 중인지, 기기의 DNS 캐시가 오래된 주소를 사용하고 있는지, 규칙 대상 인터페이스가 올바른지 확인하세요. 설정을 바꾼 뒤에는 기기와 공유기의 DNS 캐시가 남아 결과가 늦게 반영될 수 있으므로, 테스트 환경을 일관되게 유지해야 합니다.
장애가 발생했을 때는 설정을 한꺼번에 삭제하기보다 정책 서비스를 잠시 중지하고 WAN 기본 경로로 돌아가는지 확인하세요. WAN에서도 인터넷이 복구되지 않는다면 VPN 방화벽 영역, 기본 라우트, DNS 포워딩 설정을 되돌립니다. 원격으로 공유기를 관리하는 중이라면 VPN 기본 경로를 변경하기 전에 로컬 복구 방법을 확보해야 합니다. 잘못된 라우팅으로 관리자 화면까지 접근할 수 없게 되면 설정 파일을 백업해 두었더라도 현장 접속이 필요할 수 있습니다.
자주 묻는 질문
OpenWrt에 구독 링크만 입력하면 자동으로 모든 설정이 끝나나요?
항상 그렇지는 않습니다. 구독 링크는 클라이언트와 코어가 해석할 수 있는 형식이어야 하며, OpenWrt에서 직접 처리하려면 해당 형식을 지원하는 패키지나 변환 과정이 필요할 수 있습니다. 가능하다면 제공업체가 안내하는 OpenWrt용 WireGuard 설정 파일, OpenVPN 프로필 또는 Linux 호환 구성을 우선 사용하세요. 가져온 뒤에도 노드 선택, DNS, 정책 라우팅은 별도로 확인해야 합니다.
특정 도메인만 VPN으로 보내는 것이 가장 좋은 방법인가요?
사용 환경에 따라 다릅니다. 서비스 도메인이 단순하고 주소가 안정적이면 도메인 규칙이 편리하지만, CDN과 여러 API 주소를 사용하는 서비스는 일부 연결이 WAN으로 빠질 수 있습니다. 이런 경우 특정 기기 전체를 VPN으로 보내거나, 서비스에서 안내하는 주소 대역을 함께 관리하는 방법을 검토하세요.
휴대폰에서 VPN 앱을 켜면 공유기의 분할 규칙과 충돌하나요?
휴대폰 자체의 VPN 앱은 공유기에서 이미 적용한 경로 위에 추가 터널을 만들 수 있습니다. 이중 터널이 항상 실패하는 것은 아니지만 DNS, MTU, 지역 판정과 속도에 영향을 줄 수 있습니다. 문제를 분석할 때는 휴대폰 앱을 끄고 공유기 정책만 테스트한 뒤, 필요한 경우 한쪽에서만 VPN을 담당하도록 역할을 나누세요.
설정 후 인터넷이 끊기면 가장 먼저 무엇을 확인해야 하나요?
먼저 VPN 인터페이스를 잠시 비활성화해 일반 WAN이 정상인지 확인합니다. WAN이 정상이라면 VPN 핸드셰이크, 방화벽 영역의 외부 전달, NAT, 정책 서비스 상태를 순서대로 살펴보세요. 전체 트래픽을 VPN으로 보내는 기본 경로가 생겼다면 정책을 중지하고, 테스트 기기 하나만 대상으로 다시 구성하는 것이 가장 빠른 복구 방법입니다.
OpenWrt 분할 터널링은 한 번의 연결 설정으로 끝나는 기능이 아니라, 주소 할당·라우팅·DNS·방화벽을 함께 관리하는 네트워크 설계 작업입니다. 처음에는 기기 기반의 단순한 규칙으로 시작하고, 정상 동작을 확인한 뒤 도메인별 정책과 예외 규칙을 추가하세요. 이렇게 단계적으로 확장하면 회선 변경이나 펌웨어 업데이트가 발생해도 원인을 추적하고 안전하게 원래 연결로 되돌리기 쉽습니다.