서버와 지역 선택부터 기본 보안, 프록시 설치, 인증과 포트, 클라이언트 연결, 검증, 연결 실패 시 점검 순서까지 정리합니다.

서버와 지역 선택
프록시 자체는 CPU와 메모리를 거의 사용하지 않으므로 서버 사양을 고를 때 이 부분이 핵심은 아닙니다.
처음부터 고사양 요금제를 살 필요도 없습니다. 고정 대역폭과 월간 트래픽을 묶어 제공하는 경량 애플리케이션 서버 같은 상품은 한두 개 정도의 계정에서 개인용 프록시를 쓰는 경우 대체로 충분하고 비용도 낮습니다. 여러 인스턴스가 필요하거나 대역폭 요구 사항이 분명할 때만 리소스를 따로 선택할 수 있는 범용 인스턴스를 고려하면 됩니다.
사양보다 지역을 더 신중히 봐야 합니다. 노드를 어디에 두느냐에 따라 출구 IP의 지역이 결정되기 때문입니다. 판단 기준은 간단합니다. 계정이 대상으로 하는 시장과 같은 곳에 노드를 둡니다. 많은 사람이 접속 속도로 지역을 고릅니다. 중국 본토에서 홍콩 노드가 빠를 수 있지만, 계정 정보는 미국인데 출구가 아시아라면 이런 불일치가 속도보다 더 중요합니다. 속도는 부차적이고 일관성이 우선입니다.
대역폭은 실제 용도에 맞춰 계산합니다. 관리자 화면 확인과 일상적인 관리만 한다면 작은 대역폭으로 충분하고, 이미지나 영상 작업이 있다면 더 필요합니다. 동시에 접속하는 계정이 많아질수록 필요한 대역폭도 커집니다. 확실하지 않다면 가장 작은 요금제로 시작해 한 달간 사용량을 본 뒤 조정합니다.
서버를 켠 뒤 먼저 할 일
운영체제 이미지는 Linux를 선택합니다. 이런 배포판에는 보통 SSH가 기본으로 포함되어 있어 별도의 원격 접속 서비스를 구성할 필요가 없습니다. 구매할 때 키 파일 대신 사용자 지정 비밀번호를 설정하면 나중에 프록시를 구성할 때 변환 단계를 하나 줄일 수 있습니다.
서버를 받은 뒤에는 네 가지 정보를 먼저 기록합니다. 공인 IP, 사용자 이름(Linux 기본값은 root), 비밀번호, SSH 포트(기본값 22)입니다. 이 네 가지가 클라이언트에 입력할 정보입니다.
그다음 기본 보안을 설정합니다. 기본 22번 포트를 변경하면 자동 스캔 시도의 상당 부분을 줄일 수 있습니다. 제공업체가 키 로그인을 지원한다면 키 인증을 설정한 뒤 비밀번호 로그인을 끌 수 있습니다. 보안 그룹과 시스템 방화벽에서는 실제로 필요한 포트만 열고 나머지는 닫습니다. 몇 분이면 끝나는 작업이지만 지속적인 스캔과 탈취된 인증정보를 이용한 시도를 줄이는 데 도움이 됩니다.
프록시 서비스를 운영하는 두 가지 방법
첫 번째는 SSH 터널을 직접 사용하는 방법입니다. 서버에 추가로 설치할 것이 없고, 클라이언트가 서버의 기존 SSH 서비스를 이용해 트래픽을 전달합니다. 포트 22와 서버 계정의 인증정보를 그대로 사용합니다. 단점은 성능이 보통 수준이라는 점입니다. 장시간 사용하거나 동시 연결이 많아지면 부담이 커질 수 있어 임시 사용이나 계정 수가 매우 적을 때 적합합니다.
두 번째는 서버에 전용 프록시 서비스를 설치하는 방법입니다. 일반적으로 한 줄의 설치 명령으로 설치한 뒤 인증 방식과 포트를 직접 설정합니다. 성능과 제어성이 더 좋아 장기 사용에 적합합니다. 설치 후에는 부팅 시 자동 시작을 반드시 켜야 합니다. 그렇지 않으면 서버가 재부팅될 때 프록시도 중지됩니다.
인증 방식과 포트
인증은 보안 수준이 높아지는 세 단계로 볼 수 있습니다. 사용자 이름과 비밀번호가 가장 간단하지만 비밀번호가 유출되면 사실상 프록시 접근 권한을 넘겨주는 것과 같습니다. 비밀번호에 출발지 IP 허용 목록을 추가하면 일상적인 사용에는 대체로 충분합니다. 키 또는 인증서 기반 인증이 가장 안정적이지만 설정이 조금 더 복잡하며, 장기간 사용하는 계정이라면 그만한 가치가 있습니다.
포트는 서비스 자체의 리스닝 포트만 설정해서는 안 됩니다. 같은 포트를 시스템 방화벽과 제공업체의 보안 그룹에서 각각 허용해야 합니다. 두 설정은 독립적이므로 한쪽만 열어 둔 것이 연결 실패의 흔한 원인입니다. 또한 리스닝 주소를 로컬 루프백에만 바인딩하지 않아야 합니다. 서버 내부 테스트는 성공하지만 외부에서 연결되지 않는다면 이 부분이 원인일 가능성이 큽니다.
클라이언트에서 연결하고 검증하기
환경 관리 도구에서 새 환경을 만들고 이름과 메모를 입력합니다. 계정의 용도와 대상 지역을 이름에 넣어 두면 계정이 많아졌을 때 관리가 훨씬 편합니다. 그런 다음 프록시 유형에 따라 서버 주소, 포트, 사용자 이름, 비밀번호를 프록시 설정에 입력하고 테스트합니다. 성공 메시지가 나오면 네트워크 경로가 연결된 것입니다. 정확한 필드 이름은 사용하는 도구 화면을 따릅니다.
연결 테스트 통과는 첫 단계일 뿐입니다. 해당 환경을 열어 세 가지를 확인합니다.
첫째, 출구 IP가 서버의 공인 IP인지 확인합니다. 현재 IP를 보여 주는 페이지를 열었을 때 서버 주소가 표시되어야 프록시를 제대로 통과한 것입니다.
둘째, DNS도 프록시를 따라가는지 확인합니다. DNS가 여전히 로컬에서 해석되면 외부에 노출되는 지리 정보가 출구 IP와 맞지 않을 수 있고, 계정에 설정한 지역의 의미도 약해집니다.
셋째, 시간대와 언어가 출구 지역과 일치하는지 확인합니다. 미국 IP를 사용하면서 중국 시간대와 중국어를 쓰는 것은 눈에 띄는 불일치입니다.
세 가지를 모두 통과해야 환경을 사용할 준비가 된 것으로 봅니다.
연결되지 않을 때는 이 순서로 확인
프록시 테스트가 바로 실패한다면 먼저 연결성을 확인합니다. 보안 그룹과 시스템 방화벽 모두에서 포트가 열려 있는지 보고, 다음으로 프록시 서비스가 실행 중인지 확인합니다. 서버를 재부팅했다면 특히 중요합니다. 이후 사용자 이름과 비밀번호가 맞는지, 서버 주소를 잘못 입력하지 않았는지 확인합니다. 공인 IP와 사설 IP를 혼동하는 경우가 흔합니다.
테스트는 통과하지만 페이지가 열리지 않는다면 대부분 환경 쪽 문제입니다. 올바른 프록시가 환경에 연결되어 있는지, DNS 설정이 다시 로컬 해석으로 돌아가지는 않았는지 확인합니다.
속도가 느리다면 먼저 거리 문제인지 대역폭 문제인지 구분합니다. 서버에서 대상 사이트에 직접 접속해 봅니다. 서버 자체가 느리다면 노드 지역이나 네트워크 경로 문제이고, 서버는 빠른데 클라이언트가 느리다면 대역폭이 부족하거나 동시에 온라인인 계정이 너무 많은 경우가 많습니다.
계정이 늘어날 때 확장하는 방법
한 서버에서 여러 계정을 사용하면 비용은 낮지만 모든 계정이 같은 출구 IP를 공유합니다. 플랫폼이 IP 대역을 기준으로 관계를 판단한다면 계정 사이에 연결성이 남을 수 있습니다. 계정마다 서버를 하나씩 쓰면 비용은 더 들지만 환경이 완전히 분리되므로 가치가 높은 계정에는 더 안정적인 선택입니다.
PurpleMark 같은 환경 관리 도구로 각 계정에 별도의 출구를 연결하는 편이 수동으로 매핑 표를 관리하는 것보다 안정적입니다. 경량 서버의 일반적인 가격을 기준으로 보면 계정 하나당 출구 하나를 두는 비용은 많은 경우 감당할 수 있으며, 이후 계정 연관성 때문에 다시 계정을 만드는 번거로움도 줄일 수 있습니다. 테스트 전용 서버도 하나 따로 두십시오. 모든 계정을 한 서버에 몰아넣으면 단일 장애 지점이 생겼을 때 전체 계정이 한꺼번에 영향을 받을 수 있습니다.


