"상위" 프록시가 필요하지 않은 "하위" 프록시를 설정하는 방법

"상위" 프록시가 필요하지 않은 "하위" 프록시를 설정하는 방법

나는 NTLM 프록시 서버를 사용하는 회사 네트워크에 있는 랩톱에서 Linux를 실행하고 있으므로 랩톱에서 cntlmd를 하위 프록시로 실행하여 상위(회사) 프록시 서버에 연결합니다. 랩톱에서 실행되는 모든 항목은 localhost:3128(CNTLM 프록시 주소)을 사용하도록 구성되며 cntlmd는 NTLM 프록시 서버를 사용하여 비표준 인증을 처리합니다.

랩톱을 회사 네트워크에서 분리하면 localhost:3128을 사용하도록 구성된 여러 장소가 있을 수 있으며 이를 비활성화했다가 다시 활성화하는 것은 고통스럽습니다.

구성된 프록시를 사용할 수 없을 때 프록시를 사용하지 않도록 cntlmd를 구성하는 것은 분명히 불가능합니다.

한 가지 옵션은 이러한 모든 변경 사항을 자동화하는 스크립트를 작성하는 것이지만 cntlm이 시작되지 않을 때 (자동으로) 시작할 수 있는 두 번째 하위 에이전트를 갖는 것이 더 간단할 것 같습니다. 그렇지 않으면 실패합니다. start) ) 상위 에이전트를 찾으려면). 두 번째 하위 에이전트는 네트워크에 직접 연결되므로 3128에서도 수신 대기하는 경우 3128에 도달하도록 구성된 모든 항목은 해당 구성을 동일하게 유지할 수 있습니다.

이를 위해 무엇을 사용할 수 있나요? (아니면 더 좋은 방법이 있나요?)

답변1

무엇에 대해에이전트.pac

이것은 단지 JavaScript일 뿐입니다. 로컬 컴퓨터나 인트라넷의 웹 서버에서 이 파일을 호스팅하고 file:///opt/proxy.pac이 스크립트를 사용하여 클라이언트 측에 설정할 수 있습니다. 다음을 수행할 수 있습니다.로드 밸런싱당신의 대리인과 함께. 또한 이 자바 스크립트의 IP 범위를 사용하여 특정 웹사이트에 대한 프록시 우회와 같은 여러 기능으로 트래픽을 나눌 수 있습니다.

그것은 할 것입니다:

  • 프록시를 사용할 수 없는 경우 브라우저에 직접 액세스하도록 지시합니다.
  • 특정 웹사이트에 대한 프록시 우회(기본적으로 일부 웹사이트는 프록시를 통해 작동하지 않음)
  • 로컬 및 인트라넷 서버에 대한 프록시 우회
  • 등.

PAC 파일 예

function FindProxyForURL(url, host) {
    // our local URLs from the domains below example.com don't need a proxy:
    if (shExpMatch(host, "*.example.com"))
    {
            return "DIRECT";
    }

  // If on a internal/LAN IP address, send traffic direct.
  if (isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0"))
  {        
    return "PROXY 10.0.0.100:8080; PROXY 10.0.0.101:8080; DIRECT";
  }
  else
  {
    return "DIRECT";
  }
}

관련 정보