들어가며
언제 어디서나 교내 리소스에 접속할 수 있도록 이전에 Surge + Snell v5 + frp로 교내 리소스에 끊김 없이 접속하기라는 글을 썼습니다.
이후 언제 어디서나 연구실 리소스에도 접속해야 할 일이 생겨, 연구실에서 지급한 업무용 컴퓨터에도 같은 방법을 적용했습니다. 하지만 오래가진 않았습니다. 이틀 뒤 업무용 컴퓨터의 네트워크가 차단됐고, IT팀은 이런 방식은 허용할 수 없다고 했습니다. 저는 연구실에서 학생들에게 VPN 사용 권한을 열어 주지 않으니 직접 해결할 수밖에 없다고 답했습니다. 그리고 이틀 뒤, IT팀은 제게 VPN 사용 권한을 열어 주기로 했다고 알려 왔습니다.
VPN 연결의 단점은 이전 글에서 이미 많이 이야기했지만, 달리 방법이 없었습니다.
문제 해결
어제 VPN 접속 방법과 계정, 비밀번호를 받았습니다. 예상했던 대로 역시 Sangfor였습니다.
해결 방법을 찾던 중 docker-easyconnect를 알게 됐습니다. Docker 컨테이너에서 Sangfor VPN을 실행하고 SOCKS5 및 HTTP 프록시를 열어 주면, 다른 앱에서 해당 포트를 통해 트래픽을 프록시할 수 있습니다.
그래서 이런 방법을 떠올렸습니다.
- docker-easyconnect로 VPN에 연결하고 SOCKS5 및 HTTP 프록시 제공
- Surge로 트래픽 분기
현재까지 테스트한 결과, 이 방법은 Surge + Snell v5 + frp로 교내 리소스에 끊김 없이 접속하기와 거의 같은 사용감을 제공합니다.
- 모든 트래픽이 무조건 VPN을 통과하지 않습니다.
- VPN을 수시로 켰다 껐다 할 필요가 없습니다.
게다가 다음과 같은 장점도 있습니다.
- 교내 네트워크에 연결된 채 24시간 켜 두는 컴퓨터나 서버가 필요 없습니다.
공인 IP가 있고 회선이 안정적인 서버로 내부망에 침투할 필요가 없습니다.
무엇보다 중요한 점은 연구실 규정을 어기지 않는다는 것입니다.
설정 방법은 아주 간단해서 거의 명령어 한 줄이면 됩니다. 자세한 설명은 생략하겠습니다.
Surge로 트래픽을 분기하는 방법은 이전 글에서 이미 다뤘으니 여기서는 다시 설명하지 않겠습니다.
마치며
이 글에서 소개한 방법은 사실 학교 VPN에도 두루 적용할 수 있습니다.
아직 사용한 지 오래되지 않아 어떤 문제가 생길지는 모르겠습니다. 제 생각에는 연결을 계속 유지하는 일이 문제가 될 수도 있을 것 같습니다.
저와 비슷한 문제를 겪고 있다면 여기서 소개한 방법을 한번 시도해 보세요.