대상에 따라 다른 프록시 서버를 통해 트래픽을 라우팅하는 방법

대상에 따라 다른 프록시 서버를 통해 트래픽을 라우팅하는 방법

배경

저는 프록시 서버 뒤에 있는 회사 네트워크에서 작업합니다. 또한 요새/점프 호스트 SSH 프록시를 통해 액세스할 수 있는 몇 가지 원격 사이트도 사용합니다.

내 SSH 터널 에는 ~/.ssh/config요새 호스트를 우회하여 원격 연구실에 연결할 수 있는 프록시 구성이 있습니다.

Host *.remoteLab1
    ProxyCommand ssh -l USERNAME BASTIONHOST1 nc %h %p

Host *.remoteLab2
    ProxyCommand ssh -l USERNAME BASTIONHOST2 nc %h %p

나는 OSX와 Linux를 모두 사용하므로 명령이 거의 동일하다고 가정합니다.

현재 솔루션

내 현재 솔루션은 이상적이지 않습니다. 기본적으로 다음과 같은 원격 실험실 중 하나에 양말 연결이 있습니다.

ssh -D 1080 remoteLab1

ssh -D 1081 remoteLab2

그런 다음 둘 다에서 프록시 서버를 으로 realvnc변경했습니다 . Chrome에는 이 작업을 수행할 수 있는 플러그인이 있고 VNC에는 이에 대한 설명서가 있습니다.chromelocalhost:1080 / localhost:1081

두 원격 연구소 모두 고유한 도메인을 가지고 있으므로 라우팅 테이블을 사용하여 IP 주소를 기반으로 이러한 양말 프록시를 통해 모든 트래픽을 보내는 더 쉬운 방법이 있는지 궁금합니다.

요청된 솔루션

반면:양말5 터널이 항구에 열렸습니다.1080

반면:양말5 터널이 항구에 열렸습니다.1081

필요하다

  • domain1.org전달된 주소1080
  • domain2.org전달된 주소1081
  • 실패 - 다른 모든 것은 표준 프록시 서버를 통과합니다.

소유 할 가치

  • 솔루션은 영구적이지 않습니다. 양말 터널 중 하나를 여는 것과 결합된 스크립트를 통해 활성화됩니다.

프록시 서버 중 하나를 통해 도메인 대신 특정 IP 주소를 매핑하는 것도 가능합니까?

아이디어

이 모든 것을 어디서부터 시작해야 할지 잘 모르겠습니다. 내가 어딘가에서 본 해결책 중 하나는 a를 사용하는 것이 proxy.pac었지만 회사 네트워크에는 이미 a가 있습니다 . 내 사용자 정의가 아닌 경우 회사의 설정을 사용하는 proxy.pac실패 방법이 있는지 잘 모르겠습니다pac.pac.pac

iptables또는 명령을 사용하십시오 route. 그러나 둘 다 내 지식을 넘어서는 것입니다.

로컬 루프백 등을 설정하세요.

답변1

ProxyCommandusing 을 ncuse 로 변경하는 것이 좋습니다 -W. 예를 들어:

ProxyCommand ssh -l USERNAME BASTIONHOST1 -W %h:%p

이렇게 하면 배스천 호스트에 대한 요구가 줄어들므로 관리자가 배스천 호스트 구성 방식을 변경하기로 결정한 경우 오류가 발생할 가능성이 줄어듭니다.

다른 pac 파일 간에 전환할 수 있는 방법이 없다고 생각합니다. 그러나 한 가지 주의사항으로 두 개의 pac 파일을 어느 정도 연결할 수 있습니다. 진입점은 두 파일 모두에 존재합니다. 원본 pac 파일에서 진입점의 이름을 바꿔야 하며, 추가로 이름이 바뀐 함수 버전을 호출할 수 있습니다.

역사적으로 진입점은 FindProxyForURL이라는 함수였습니다. 일부 최신 브라우저에는 다른 이름을 사용하는 진입점을 통해 활성화된 확장 기능이 있습니다.

관련 정보