웹 개발 팀을 위한 VPN 설정 방법

게시 됨: 2021-10-11

현대 인터넷의 주요 특징은 지속적인 가용성입니다. 네트워크를 통해 빠르게 액세스할 수 있는 로컬에 데이터를 저장할 필요가 없습니다. 예측할 수 없는 순간에 이 데이터를 갑자기 사용할 수 없게 되면 더 많은 문제가 발생합니다. 대부분의 개발자는 원격으로 작업하며 특정 부분에서 온 경우 리소스가 부족할 수 있습니다. 이 기사에서는 웹 개발 팀을 위해 VPN을 설정하는 방법을 살펴보겠습니다.

일반적인 인터넷 문제

인터넷 리소스에 액세스할 수 없다는 것은 실제로 무엇을 의미합니까?

- 일부 라이브러리가 다운로드되지 않습니다. - 프로젝트의 개발 환경이 발생하지 않습니다. 이것이 가장 중요하고 가장 큰 문제입니다!

- Zoom, Slack 또는 Telegram이 작동하지 않습니다. 동료에게 연락할 수 없습니다.

- GitHub와 같은 일부 사이트를 사용할 수 없습니다. 작업을 게시할 수 없습니다.

이것이 가능한 모든 예는 아니지만 팀의 생산성을 크게 저하시킬 수 있습니다.

누가 유죄인가?

실제로 위에서 설명한 제한 사항은 일반적으로 인터넷 공급자에 의해 구현됩니다. 그리고 국가의 행정 행위에 의해 제한이 도입 되었기 때문에 공급자를 비난하는 것은 의미가 없습니다. 공급자는 정치적 투쟁이 아니라 사업에 참여해야 합니다.

그러나 때로는 공급자가 악당으로 판명됩니다. 예를 들어 알 수 없는 이유로 특정 TCP 포트의 트래픽을 차단하거나 암호화되지 않은 http 트래픽을 수정하고 페이지의 html 코드를 변경하고 광고를 추가할 수 있습니다. 이것은 일부 사기꾼에게 기대하는 것이지만 확실히 대기업에서는 기대하지 않으므로 두 배로 불쾌합니다(관심이 있다면 Google에서 "다른 사람의 사이트에 광고하기").

무엇을 할 것인가?

문제의 규모가 팀 구성원의 자비에 맡기지 않고 회사 수준에서 해결해야 한다는 것이 명확해지면 VPN 기술을 사용할 수 있습니다.

VPN은 가상 사설망입니다. 이것은 기존의 물리적 컴퓨터 네트워크를 기반으로 가상의 존재하지 않는 물리적(오버레이) 컴퓨터 네트워크를 생성할 수 있게 해주는 기술 그룹의 이름입니다.

이는 프라이버시를 강화할 수 있는 추가적인 기회를 제공합니다. 물리적 네트워크에서 첫 번째 근사치로 네트워크 교환의 모든 참가자, 모든 라우터 등이 트래픽을 사용할 수 있습니다. 가상 네트워크에는 추가 참가자가 없으며 사용자와 연결하는 지점만 있습니다. 웹 개발 팀을 위해 하나를 설정하는 경우 이것은 VPN 서버입니다. 두 사람 사이에 암호화된 터널이 놓여 있습니다.

TUN 가상 네트워크 인터페이스는 클라이언트 시스템과 서버에 생성됩니다. 암호화된 데이터 교환은 그들 사이에서 직접 발생합니다. 데이터는 MITM(Man-in-Middle) 공격으로부터 효과적으로 보호됩니다. 귀하의 트래픽이 통과하는 장비에 물리적으로 접근할 수 있는 사람은 누구도 귀하의 정보를 가로채거나 대체할 수 없습니다.

또한 홈 네트워크에서 사용할 수 없지만 VPN 서버에서 사용할 수 있는 리소스에 액세스할 수 있습니다.

VPN 기술을 사용하면 클라이언트는 서버가 속한 서브넷의 일부가 됩니다. 그리고 이 서브넷의 리소스에 액세스할 수 있습니다. 이것은 제한을 우회하고 서브넷에 대한 원격 보안 연결이 필요한 다른 문제를 해결하는 데 사용할 수 있습니다.

VPN 구현 선택

결정하는 것은 하지 않는 것입니다. 몇 가지 일반적인 무료 VPN 기술 구현이 있습니다. 이 Surfshark VPN 무료 평가판을 사용하여 얻을 수 있는 경험을 할 수 있습니다.

올바른 VPN을 얻은 후 선택할 수 있는 기타 사항

IPsec은 보안 데이터 전송을 위한 프로토콜 집합입니다. 90년대 중반에 등장했습니다. 크고 유연하지만 구성하기 어렵고 수준이 낮습니다. 어떤 목적에는 너무 복잡합니다.

WireGuard는 빠른 작업 준비를 목표로 하는 젊은 프로젝트(2015)입니다. 다른 VPN보다 잠재적으로 더 빠른 데이터 전송 속도, 모든 주요 시스템에서 사용할 수 있는 플랫폼 간 더 현대적인 암호화 프로토콜을 사용합니다. 단점은 장점과 같습니다. 빠르고 쉬운 설치를 보장하기 위해 프로그램의 핵심에서 많은 낮은 수준의 결정이 내려집니다. 예를 들어, UDP 프로토콜의 사용은 모두에게 효과적이지 않을 수 있습니다.

시작 및 사용 방법 선택

수동으로

가장 확실한 방법은 VPS를 임대하고 SSH를 통해 연결하고 가이드에 따라 서버를 만드는 것입니다. 이것은 수동으로 이동해야 하는 많은 명령과 파일로 인해 다소 긴 프로세스입니다.

이 방법을 사용하면 새 서버를 만들 때마다 다시 만들어야 합니다. 시간을 절약하기 위해 구성 관리 시스템 또는 컨테이너화 시스템을 사용할 수 있습니다.

구성 관리 시스템은 원격 서버(puppet,sible 등)의 구성을 자동화할 수 있는 소프트웨어입니다. 이 접근 방식의 장점은 몇 가지 명령으로 원격 VPN 서버를 구성할 수 있다는 것입니다. 그리고 모든 구성, 구성 템플릿은 제어 시스템에서 텍스트 형식으로 명시적으로 배치됩니다. 배포 스크립트를 직접 만들거나 GitHub에서와 같이 기성품을 사용할 수 있습니다.

컨테이너화 시스템에서는 약간 다른 접근 방식이 사용됩니다. 가장 일반적인 가상 컨테이너화 시스템은 도커입니다. 원격 서버에 VPN을 사용하여 도커 컨테이너를 설치하는 것은 가능을 통해 서버를 설치하는 것보다 훨씬 빠를 수 있으며 이는 장점입니다. 그러나 사용 가능한 구성 목록은 이미지 개발자에 의해 제한될 수 있습니다. 이미지는 바이너리 파일이므로 일부 이국적인 구성을 수정해야 하는 경우 작동하지 않을 수 있습니다.

서버 아키텍처

첫째, 이미 언급했듯이 VPN 기술은 예를 들어 이 서브넷의 일부인 컴퓨터를 통해 폐쇄된 서브넷에 연결하는 동시에 VPN 서버에 연결할 수 있습니다. 서브넷에 귀중한 리소스가 있는 경우 VPN 서버에 연결할 사람이 없기를 바랍니다. 이를 위해 대부분의 VPN은 일반적으로 네트워크에 전혀 연결되지 않은 별도의 시스템으로 만듭니다. 그리고 서명 및 서명된 인증서에 대한 요청은 이동식 미디어로 전송됩니다.

서버 시작

가능 스크립트를 실행하려면 컴퓨터에 가능을 설치하고 Debian/Ubuntu로 가상 서버를 임대하고 SSH를 통해 서버에 대한 액세스를 구성해야 합니다. 서버를 임대할 때 일부 서비스에서는 tun 인터페이스를 만들거나 패킷 전달을 수행할 수 없다는 점에 유의하십시오. 구매하기 전에 이것을 확인하십시오.

서버와의 모든 상호 작용은 세 가지 명령으로 수행됩니다.

1. 서버 및 인증기관 생성을 위한 스크립트를 실행합니다.

2. 신규 사용자 등록.

3. 클라이언트 이름으로 인증서를 해지합니다.

막힘을 우회하는 방법의 개발은 여러 면에서 자연의 포식자와 먹이 사이의 관계와 유사합니다. 각각의 새로운 움직임에는 반대 움직임이 있습니다. VPN 연결도 예외는 아닙니다.

VPN을 사용하면 다양한 네트워크 리소스를 사용할 수 있습니다. 하지만 모든 데이터가 VPN 서버에서 터널을 통해 전달되기 때문에 공급자 입장에서는 하나의 IP 주소로만 데이터를 교환하는 것처럼 보입니다.