OpenVPN remote-random: 섞인 순서, 하나의 터널
remote-random은 연결 시 설정된 remote의 순서를 섞습니다. 요청마다 출력 경로를 바꾸지 않고, 패킷을 분산하지 않으며, 실행 중인 터널을 바꾸지도 않습니다.
remote-random를 추가하면 프로필이 회전하는 풀이 되어 연결마다 다른 주소에서 나온다는 것이 흔한 가정입니다. 실제로 이 지시문이 하는 일은 클라이언트가 연결을 시작할 때 remote 목록을 한 번 섞고, 그 새로운 순서로 시도하는 것뿐입니다. 결국 올라오는 터널은 여전히 하나의 종단점에서 끝나며 세션 내내 그곳에 머뭅니다.
이 차이는 테스트와 개인정보 보호 주장 모두에 중요합니다.
연결 시 이 옵션이 바꾸는 것
클라이언트 프로필에는 여러 remote 줄이 있을 수 있으며, 각각 고유한 호스트 이름과 포트를 가집니다. 지시문이 없으면 파일 순서대로 시도되고, 있으면 세션 시작 시 목록이 한 번 재배열되어 가장 먼저 응답하는 주소가 이깁니다. 나머지는 이 시도를 위한 대체일 뿐 병렬 경로가 아닙니다. remote가 하나뿐인 프로필은 지시문이 섞을 것이 없으며, 이것이 의미가 있을 수 있는지 확인하는 가장 빠른 방법입니다.
OpenVPN 설명서는 이 옵션을 연결 시도의 순서에 영향을 주는 것으로 문서화하며, 동작에서 기대할 수 있는 범위가 정확히 그 정도입니다.
재연결은 새 선택 주기를 시작하므로 이후 세션은 다른 곳에 도착할 수 있습니다. 실행 중인 터널은 올라와 있는 동안 움직이지 않습니다.
오해: 요청마다 새 서버를 받는다
일단 설정되면 터널은 해당 세션의 모든 트래픽을 선택된 피어로 보냅니다. 요청마다 다시 선택하지 않으며, 이 지시문은 개별 연결을 위한 로드 밸런서가 아니라 후보를 섞을 뿐 패킷을 분산하지 않습니다. 그 터널을 공유하는 모든 애플리케이션은 같은 피어를 공유합니다. 브라우저가 출력에 대해 보고하는 것은 세션에 속하며 개별 요청에 속하지 않습니다.
테스트에서 서로 다른 두 출력이 보이면 영리한 옵션 하나가 아니라 별개의 세션 두 개를 찾으세요. 이 구분은 둘 사이에 재연결이 있었을 때 브라우저 테스트와 다운로드 테스트가 어긋날 수 있는 이유도 설명합니다.
remote-random-hostname의 용도
이름이 비슷한 두 번째 지시문은 확인에 사용되는 호스트 이름을 바꾸며, remote 목록의 순서를 바꾸지 않습니다. 이름이 라운드 로빈 DNS를 통해 여러 주소로 확인되는 배포를 위한 것이며, 서비스가 그에 맞게 구축된 경우에만 사용해야 합니다. 확인 단계만 바뀌고 후보 목록의 순서는 바뀌지 않습니다.
이름이 관련 있어 보인다는 이유로 활성화하는 것은 흔한 실수입니다. 와일드카드 인증서나 변경된 이름을 예상하지 않는 DNS 구성은 확인이나 검증에 그냥 실패합니다.
로그에서 선택된 종단점을 읽으세요
결론을 내리기 전에 세션이 실제로 어느 피어를 사용했는지 기록하세요. 자세한 출력은 시도 중인 주소를 알려 주고, 프로필 자체는 후보가 몇 개인지 보여 줍니다. 섞기를 탓하기 전에 그 수를 로그의 주소와 비교하세요.
grep -c '^remote ' client.ovpn openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'attempting|peer connection' openvpn --help | grep -A2 remote-random head -20 client.ovpn
성능 비교를 위해서는 다른 remote를 주석 처리해 종단점을 고정하여, 시험 대상 변수가 경로가 아니라 프로토콜이나 클라이언트가 되게 하세요. 개인정보 보호 질문에는 서비스의 정체성과 기록을 전체적으로 평가하세요 — 섞인 첫 선택은 쿠키를 지우지 않고, 계정 로그인을 제거하지 않으며, 두 운영자를 동등하게 만들지 않습니다.
제공된 신뢰 자료와 지원되는 종단점 집합을 함께 유지하세요. 다시 섞는 것은 그 집합을 시도하는 순서만 바꿉니다.