나는 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";
}
}