내 네트워크에서는 라우터 하나만 VPN을 인식하게 설정했음
리눅스가 깔린 저가형 팬리스 박스에 여러 포트를 두고, systemd-networkd로 WireGuard 인터페이스를 한 번만 설정해둠
덕분에 특정 트래픽만 VPN으로 라우팅하거나, VPN 전용 SSID/VLAN을 따로 둘 수도 있음
다만 도메인 기반 라우팅은 까다로울 수 있어서, 필요하다면 로컬 DNS 오버라이드가 가능한 프록시를 라우터에 추가할 생각임
별도 브라우저를 띄우지 않고 FoxyProxy 확장으로 URL 패턴별 프록시를 지정하면 간단히 해결 가능함
나는 RPi에 x-ray/singbox 기반의 중앙 VPN 스플리터를 두고, 여기에 Tailscale을 붙여서 어디서든 접근 가능하게 했음
규칙 기반의 지리적 분할 라우팅도 지원되어 유용함
그 팬리스 리눅스 박스의 제품명이 궁금함
제목 “Geo-Unblocked”를 보고 영국이 아닌 IP 블록을 직접 구성하는 내용일 줄 알았는데, 단순히 일부 트래픽만 VPN으로 돌리는 이야기였음
직접 ISP 역할을 하면 원하는 곳 어디든 있을 수 있음
참고로 관련 글은 이 블로그에 있음
하지만 WAN 주소를 바꾸는 건 네트워크 내 IP 스키마를 바꾸는 것과 비슷해서 실제로는 작동하지 않을 것 같음
“가끔 Imgur 이미지를 보기 위해 이 정도까지 해야 하나?” 싶지만, 최근 자료를 조사하면서 Imgur 의존도가 꽤 높다는 걸 깨달았음
스크린샷이 안 보여서 불편했는데, 이 글이 마지막 동기가 될 듯함
지금은 과하다고 느껴질 수 있지만, 정부가 점점 더 많은 콘텐츠 접근을 제한하려는 움직임이 있어서 미리 대비하는 게 현명하다고 봄
Imgur가 생각보다 많은 곳에 쓰이고 있음. 예를 들어 Core Devices(Pebble 후속팀) 웹사이트의 이미지도 Imgur에 있음
이런 차단은 쉽게 우회 가능하지만, 만약 Imgur가 사라지면 많은 사이트가 깨질 것임
검열이 Imgur에서 멈추지 않을 것임
사람들이 검열을 우회해도 트래픽 손실이 크지 않다면, 해외 서버들은 권위주의적 규제에 굴하지 않아도 된다는 점이 중요함 EU도 비슷한 방향으로 가는 듯하니, 검열을 거부할 수 있는 도구가 널리 퍼져야 함
나도 우회가 생각보다 어려웠는데, Veepn 무료 버전을 싱가포르로 설정하니 느리지만 어느 정도 작동했음
이런 방식은 Netflix나 Spotify의 ‘같은 가정’ 제한을 우회하는 데도 쓸 수 있을 듯함
라즈베리파이나 미니 PC에 PiHole과 함께 설정해두면, 가족 집의 트래픽을 내 IP로 터널링할 수 있음
UniFi에서도 정책 기반 라우팅(PBR) 으로 손쉽게 구현 가능함
모바일 앱에서 WireGuard 설정 파일을 추가하고, 정책 엔진에서 특정 도메인만 VPN 인터페이스로 라우팅하도록 지정하면 됨
단점은 IPv6가 활성화되어 있으면 VPN을 우회해버린다는 점임
나는 IPv6 범위를 차단하는 방화벽 규칙을 길게 만들어 임시로 해결했지만, Cloudflare 기반 사이트에서 막혔음
UniFi가 IPv6 WireGuard를 지원하길 바람
Imgur의 영국 지역 차단은 쿠키로 지속되기 때문에, 잠깐 VPN을 켜는 것만으로는 해결되지 않음
Reddit은 더 심해서, NSFW 게시물을 올린 적 있는 사용자의 프로필조차 볼 수 없음
특정 도메인만 VPN으로 보내고 나머지는 일반 트래픽으로 유지하는 방법이 있을까 궁금했음
이렇게 하면 매번 VPN을 켜고 끄는 번거로움 없이 자동으로 처리할 수 있음
예를 들어 연령 인증이 필요한 SNS, 국가별로 차단되는 앱(Spotify 등) , 뉴스 사이트 검열 같은 상황에서 유용할 것임
그건 도메인 기반 스플릿 터널링이라 부름
일반적으로 HTTP/S 요청에만 적용되지만, ZScaler 같은 벤더는 다른 프로토콜에도 확장함
Tailscale에서는 App Connector 기능이 그 역할을 함
사실상 그 글에서 이미 그런 구성을 구현한 셈임
나도 비슷하게 OpenWRT 라우터의 PBR 기능으로 설정했음
15분 정도면 특정 도메인만 VPN으로 보내도록 구성 가능하고, 아주 잘 작동함
나는 이런 문제를 프록시 PAC 파일로 해결하는 편임
비행기 Wi-Fi처럼 VPN이 막힌 환경에서도 SSH는 허용되기에, 동적 포워딩과 PAC 파일을 조합해 기내 엔터테인먼트나 추적 사이트는 직접 연결하도록 설정했음
꽤 잘 작동함
Hacker News 의견
리눅스가 깔린 저가형 팬리스 박스에 여러 포트를 두고, systemd-networkd로 WireGuard 인터페이스를 한 번만 설정해둠
덕분에 특정 트래픽만 VPN으로 라우팅하거나, VPN 전용 SSID/VLAN을 따로 둘 수도 있음
다만 도메인 기반 라우팅은 까다로울 수 있어서, 필요하다면 로컬 DNS 오버라이드가 가능한 프록시를 라우터에 추가할 생각임
규칙 기반의 지리적 분할 라우팅도 지원되어 유용함
참고로 관련 글은 이 블로그에 있음
스크린샷이 안 보여서 불편했는데, 이 글이 마지막 동기가 될 듯함
이런 차단은 쉽게 우회 가능하지만, 만약 Imgur가 사라지면 많은 사이트가 깨질 것임
사람들이 검열을 우회해도 트래픽 손실이 크지 않다면, 해외 서버들은 권위주의적 규제에 굴하지 않아도 된다는 점이 중요함
EU도 비슷한 방향으로 가는 듯하니, 검열을 거부할 수 있는 도구가 널리 퍼져야 함
라즈베리파이나 미니 PC에 PiHole과 함께 설정해두면, 가족 집의 트래픽을 내 IP로 터널링할 수 있음
모바일 앱에서 WireGuard 설정 파일을 추가하고, 정책 엔진에서 특정 도메인만 VPN 인터페이스로 라우팅하도록 지정하면 됨
나는 IPv6 범위를 차단하는 방화벽 규칙을 길게 만들어 임시로 해결했지만, Cloudflare 기반 사이트에서 막혔음
UniFi가 IPv6 WireGuard를 지원하길 바람
Reddit은 더 심해서, NSFW 게시물을 올린 적 있는 사용자의 프로필조차 볼 수 없음
이렇게 하면 매번 VPN을 켜고 끄는 번거로움 없이 자동으로 처리할 수 있음
예를 들어 연령 인증이 필요한 SNS, 국가별로 차단되는 앱(Spotify 등) , 뉴스 사이트 검열 같은 상황에서 유용할 것임
일반적으로 HTTP/S 요청에만 적용되지만, ZScaler 같은 벤더는 다른 프로토콜에도 확장함
Tailscale에서는 App Connector 기능이 그 역할을 함
15분 정도면 특정 도메인만 VPN으로 보내도록 구성 가능하고, 아주 잘 작동함
비행기 Wi-Fi처럼 VPN이 막힌 환경에서도 SSH는 허용되기에, 동적 포워딩과 PAC 파일을 조합해 기내 엔터테인먼트나 추적 사이트는 직접 연결하도록 설정했음
꽤 잘 작동함