연결 문제 해결 · Clash 기술 블로그

Clash 종료 후 인터넷 연결 불가 해결 방법: Windows 시스템 프록시 및 WinHTTP 재설정

Clash를 종료했어도 Windows가 이미 닫힌 로컬 포트로 계속 트래픽을 보낼 수 있습니다. 시스템 프록시와 PAC를 먼저 복원한 뒤 WinHTTP, 터미널 변수 및 TUN 라우트를 확인하세요.

  • 시스템 프록시
  • Windows
  • WinHTTP
이 글의 목차

Clash를 종료해도 Windows가 이전 포트로 요청을 계속 보낼 수 있습니다

이 문제의 가장 전형적인 증상은 Clash를 실행하면 웹페이지가 정상인데 프로그램을 종료하는 순간 브라우저에 ERR_PROXY_CONNECTION_FAILED가 표시되고, Clash를 다시 열면 복구되는 것입니다.

대개 광대역 회선이 아니라 프록시 설정이 여전히 127.0.0.1과 이전 포트를 가리키는 것이 원인입니다. 프로세스는 이미 수신을 중단했는데 Windows가 계속 전달하므로 자연히 connection refused가 발생합니다.

먼저 휴대전화를 같은 Wi-Fi에 연결하거나 컴퓨터에서 ping으로 라우터 관리 주소를 확인하세요. 다른 기기에서 인터넷이 되고 컴퓨터도 라우터에 연결된다면 네트워크 어댑터부터 초기화하지 마세요. Windows의 사용자 프록시, 자동 설정 스크립트, WinHTTP, 환경 변수, 애플리케이션별 프록시는 서로 독립적이므로 설정이 남은 계층을 찾아야 합니다.

오류 증상이 주로 가리키는 위치

증상우선 확인할 항목흔한 안내
Chrome, Edge, 시스템 애플리케이션의 연결이 함께 끊김Windows 수동 프록시 또는 설정 스크립트ERR_PROXY_CONNECTION_FAILED
브라우저는 정상이나 설치 프로그램 또는 시스템 서비스는 실패함WinHTTP연결 거부, 다운로드 불가
터미널의 Git, npm이 실패함환경 변수와 도구 자체 프록시Failed to connect to 127.0.0.1
브라우저 하나만 비정상임확장 프로그램, 브라우저 정책 또는 보안 DNS다른 애플리케이션은 계속 접속 가능
TUN을 한 번이라도 켜면 종료 뒤 전체 연결이 끊김가상 네트워크 어댑터, 서비스, 라우팅명확한 프록시 오류 없음

먼저 Windows '프록시' 페이지에서 직접 연결로 되돌리세요

Windows 11의 확인 위치

  1. 프록시 설정 열기

    '설정 → 네트워크 및 Internet → 프록시'로 이동해 먼저 '프록시 서버 사용'이 아직 켜져 있는지 확인합니다.

  2. 이전 수동 주소 끄기

    주소가 127.0.0.1이고 포트가 Clash의 mixed-port와 같다면 '프록시 서버 사용'을 끄고 저장하세요.

  3. 설정 스크립트 확인

    '설정 스크립트 사용'에 이전 PAC 주소가 입력돼 있다면 함께 끄세요. '자동으로 설정 검색'은 우선 유지해도 됩니다.

  4. 브라우저를 완전히 종료한 뒤 테스트하기

    모든 브라우저 창을 닫고 백그라운드 프로세스가 끝났는지 확인한 뒤 시크릿 창 하나를 열어 일반 HTTP 및 HTTPS 사이트에 접속하세요.

Windows 페이지에서는 꺼진 것처럼 보인다면 Win + R로 inetcpl.cpl을 실행하고 '연결 → LAN 설정'에서 다시 확인하세요. 일부 이전 프로그램은 여전히 이 Internet 옵션에서 사용자 프록시를 읽습니다. 활성화 스위치를 켜 둔 채 주소만 바꾸지 마세요.

이 단계에서 복구되면 Clash는 계속 닫아 두세요. 라우터 관리 화면과 자주 쓰는 사이트가 직접 열린다면 사용자 프록시 잔여 설정을 찾은 것입니다. 이때 winsock reset을 실행하거나 네트워크 어댑터를 삭제할 필요는 없습니다.

브라우저는 복구됐지만 시스템 다운로드가 실패할 때 WinHTTP를 확인하세요

WinHTTP는 주로 시스템 서비스, 설치 프로그램, 일부 기업용 프로그램이 사용하며 Windows '프록시' 페이지와 같은 스위치가 아닙니다. 브라우저는 이미 직접 연결되지만 winget, 특정 설치 프로그램 또는 서비스가 이전 프록시에 계속 연결하려 할 때만 이 위치를 확인하세요.

관리자 터미널에서 확인하고 필요할 때 정리하기
netsh winhttp show proxy

# 只有输出仍显示旧代理时才执行
netsh winhttp reset proxy

터미널만 인터넷이 안 된다면 대개 변수나 도구 설정이 Clash 종료 뒤에도 남은 것입니다

많은 개발 안내에서 HTTP_PROXY, HTTPS_PROXY 또는 ALL_PROXY를 임시로 설정하며 프록시를 Git이나 npm 설정에 쓰는 경우도 있습니다. 이 값은 Clash 창을 닫아도 자동으로 사라지지 않습니다. 새 PowerShell에서 현재 프로세스 및 사용자 수준 변수를 확인한 뒤 오류가 나는 도구 자체의 설정 출처를 점검하세요.

설정을 바꾸지 않고 확인만 하기
Get-ChildItem Env: | Where-Object Name -match '^(HTTP|HTTPS|ALL|NO)_PROXY$'
[Environment]::GetEnvironmentVariable('HTTP_PROXY', 'User')
[Environment]::GetEnvironmentVariable('HTTPS_PROXY', 'User')

git config --show-origin --get-regexp "http.*proxy"
npm config get proxy
npm config get https-proxy

Git에 Failed to connect to 127.0.0.1 port 7890 표시

흔한 원인:Git 설정 또는 환경 변수가 여전히 이전 포트를 가리킴

해결 방법:--show-origin이 반환한 파일을 기준으로 해당 proxy 항목만 삭제하고 다른 Git 설정을 무작정 지우지 마세요.

curl은 정상이나 npm이 실패함

흔한 원인:npm 사용자 설정에 proxy/https-proxy가 남아 있음

해결 방법:출처를 확인한 뒤 npm config delete proxy와 npm config delete https-proxy를 실행하세요.

새 터미널은 정상이나 이전 터미널은 실패함

흔한 원인:이전 창이 시작할 때의 프록시 변수를 물려받음

해결 방법:이전 터미널을 닫고 다시 여세요. 시스템 네트워크를 바꿀 필요는 없습니다.

브라우저 하나만 비정상이라면 브라우저 자체 변수를 제거하세요

먼저 시크릿 창을 열고 모든 프록시 확장 프로그램을 비활성화하세요. 확장 프로그램이 자체 PAC로 전환하거나 시스템 프록시를 끈 뒤에도 요청을 계속 인계할 수 있습니다. 회사 브라우저는 정책으로 프록시가 지정될 수도 있으며 chrome://policy 또는 edge://policy에서 출처를 확인할 수 있습니다. 관리 정책이 있으면 레지스트리를 수정해 강제로 덮어쓰지 마세요.

ERR_NAME_NOT_RESOLVED는 이름 확인 실패에 가깝고 ERR_PROXY_CONNECTION_FAILED는 프록시 연결을 명확히 가리킵니다. 전자는 브라우저의 '보안 DNS 사용'을 잠시 꺼서 비교할 수 있습니다. 403 또는 404를 받았다면 네트워크 요청이 서버에 도달한 것이므로 캐시를 계속 지우거나 네트워크 어댑터를 초기화하지 마세요.

프록시 오류 없이 시스템 전체 연결이 끊기면 TUN 서비스와 기본 경로를 확인하세요

TUN 모드는 가상 어댑터를 만들고 라우팅을 바꾸므로 시스템 프록시와 점검 방식이 다릅니다. 먼저 Clash를 다시 열어 TUN과 서비스 모드를 끈 뒤 트레이 메뉴에서 정상 종료하세요. 이어 route print로 기본 경로가 실제 Wi-Fi 또는 Ethernet 게이트웨이로 돌아왔는지 확인합니다. 가상 네트워크 어댑터가 보인다는 이유만으로 드라이버를 삭제하지 마세요. 다른 VPN도 함께 사용할 수 있습니다.

어댑터와 기본 경로 확인
Get-NetAdapter | Sort-Object Status, Name
route print
기본 경로가 여전히 작동하지 않는 가상 인터페이스를 가리킴
먼저 해당 VPN/TUN 서비스를 정상적으로 끄고 컴퓨터를 다시 시작하세요. 인터페이스 이름을 기록한 뒤 클라이언트 구성 요소를 제거할지 결정합니다.
실제 네트워크 어댑터에 게이트웨이가 없거나 169.254 주소가 할당됨
이는 이미 DHCP 또는 로컬 네트워크 문제입니다. 프록시를 계속 바꾸지 말고 Wi-Fi를 다시 연결하거나 주소를 갱신하세요.
라우팅과 주소는 정상이며 DNS만 실패함
네트워크 어댑터 DNS와 브라우저 보안 DNS를 확인하세요. 시스템 전체 네트워크 초기화는 백업을 마친 뒤 쓰는 마지막 수단이어야 합니다.

'Clash를 닫은 뒤에도 직접 연결 가능'을 수정 완료 기준으로 삼으세요

Clash 종료 뒤 항목별 확인

  • Windows의 '프록시 서버 사용'과 이전 PAC가 모두 꺼져 있음
  • 직접 연결이 필요한 컴퓨터에서 netsh winhttp show proxy가 Direct access를 표시함
  • 새 터미널에 이전 포트를 가리키는 프록시 변수가 없음
  • 브라우저, 시스템 업데이트 확인, 하나 이상의 터미널 도구에서 모두 접속 가능함
  • 컴퓨터를 다시 시작해도 문제가 재발하지 않음

Clash를 다시 사용할 때는 인계 방식 하나만 차례로 켜세요. 먼저 시스템 프록시를 켜고 시작과 종료 때 모두 올바르게 복구되는지 확인합니다. 시스템 프록시를 읽지 않는 애플리케이션이 실제로 있을 때만 TUN을 별도로 테스트하세요. 클라이언트, 브라우저 확장 프로그램, 스크립트가 시스템 프록시를 동시에 수정하게 두면 다음에 설정이 남았을 때 누가 썼는지 판단하기 어렵습니다.

참고 자료