Windows 10 연결 공유를 활용하여 Linux/Ubuntu 18.04에서 ZScaler로 보호되는 웹 사이트에 액세스하는 방법

Windows 10 연결 공유를 활용하여 Linux/Ubuntu 18.04에서 ZScaler로 보호되는 웹 사이트에 액세스하는 방법

전용 Ubuntu 클라이언트 없이 ZScaler를 사용하여 Ubuntu를 통해 보호된 웹 사이트에 액세스하려면 어떻게 해야 합니까?

답변1

우리 회사는 ZScaler의 VPN을 중단하기로 결정했고, 회사에서 Linux를 실행하는 유일한 사람인 저는 ZScaler에 기본 Linux 클라이언트가 없기 때문에 뒤쳐졌습니다.

가장 먼저 말하고 싶은 것은 이 솔루션이 매우 잘 작동한다는 것입니다.미로같은그리고 마찬가지로부서지기 쉬운. 두 대의 완전한 컴퓨터가 필요하므로 비용이 많이 들고 이동 중에 수행하는 것이 불가능하므로 랩톱 및 원격/여행 중인 직원을 위한 솔루션이 아닙니다. 두 번째 컴퓨터의 경우 eBay에서 오래된 중고 컴퓨터를 전용 Windows 10 컴퓨터로 선택하는 것이 좋습니다. 그렇지 않으면 주변에 방치되어 있는 거의 모든 오래된 노트북을 재활용할 수 있습니다. WiFi 및 이더넷 포트가 있는 모든 장치가 작동합니다.

또한 ZScaler의 제품 팀이 이 해결 방법(실제로는 해킹)의 취약성을 확인하고 영감을 받아 우리 열렬한 Linux 매니아를 위한 전용 Linux 클라이언트를 만들 수 있기를 바랍니다. 왜냐하면 macOS로 전환하면 더 이상 갈 수 없기 때문입니다. macOS로 돌아갑니다.

이 해결 방법에 필요한 것은 다음과 같습니다.

  • Windows 10 노트북이 WiFi로 완전히 업데이트되었습니다.그리고이더넷 기능
  • Windows 10용 ZScaler 클라이언트
  • Linux 및 Windows 10 컴퓨터를 연결하기 위한 짧은 이더넷 케이블
  • Linux 시스템을 인터넷에 연결하는 긴 이더넷 케이블
  • Linux 데스크탑에 두 번째 이더넷 연결을 제공하는 USB->이더넷 어댑터

1단계: Windows 10에서 ZScaler에 연결

Windows 10용 ZScaler 클라이언트를 설치합니다. 자격 증명을 사용하여 로그인하고 내부 및/또는 ZScaler로 보호되는 웹 사이트는 물론 외부 웹 사이트와 더 넓은 인터넷에 액세스할 수 있는지 확인하십시오.

ZScaler가 Windows 10에서 제대로 작동하는지 연결하고 확인하세요.

2단계: Windows 10에서 필요한 모든 연결 확인

이 작업이 제대로 작동하려면 Windows 10 컴퓨터에서 외부 인터넷(이 경우 WiFi), ZScaler 어댑터 및 ZScaler 공유를 위한 로컬 이더넷 연결에 액세스할 수 있어야 합니다. 아래 이미지는 모든 것을 보여줍니다.

Windows 10 연결 확인

3단계: 로컬 이더넷 연결 준비

이 해결 방법의 마법은 이더넷을 통해 Windows 10 컴퓨터를 Linux 컴퓨터에 직접 연결하고 둘 사이에 개인 네트워크를 만드는 것입니다. 이렇게 하려면 로컬 이더넷 연결 어댑터의 속성을 입력하고 IPV4 설정을 조정하여 고정 IP 주소(매우 중요)와 서브넷 마스크를 설정해야 합니다. 나는 192.168.137.1과 각각을 선택했고 255.255.255.0그것은 훌륭하게 작동했습니다. 이론적으로는 유효한 내부 IP 주소와 서브넷 마스크 조합이 작동해야 합니다.

로컬 이더넷 연결 구성

4단계: ZScaler 연결 공유

이것은 퍼즐의 핵심 조각 중 하나입니다. Linux 컴퓨터는 Windows 10 연결 공유를 통해 ZScaler에 액세스합니다. 연결되면 ZScaler 연결을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다.

ZScaler 속성 열기

5단계: ZScaler 어댑터를 Linux 컴퓨터에 공유

이렇게 하려면 두 컴퓨터가 다음을 통해 직접 연결되어 있는지 확인하세요.이더넷에서 이더넷으로. Linux <- 이더넷 -> Windows 10이어야 합니다. 그런 다음 ZScaler 어댑터 속성의 공유 탭으로 이동하여 Linux 시스템을 Windows 10 시스템에 연결하는 이더넷 어댑터와 ZScaler 어댑터를 공유합니다.

ZScaler를 이더넷 어댑터에 공유

6단계: Linux에서 ZScaler 액세스 확인

이제 Linux 컴퓨터는 Windows 10 컴퓨터에 직접 연결되어야 하며 Linux 컴퓨터에서 내부 웹사이트를 구문 분석할 수 있어야 합니다.다른 사람은 없어. 인터넷에 접속할 수 없어야 합니다. 이렇게 하려면 인터넷 연결을 제공하는 어댑터를 분리하세요. 이것은 하나입니다극도로중요한 단계입니다. 내부 ZScaler 특정 대상에만 액세스할 수 있는지 확인하십시오. 이 단계를 수행하는 데 여전히 문제가 있으면 모든 것을 다시 시작하고 다시 시작해 보세요. 또한 Windows 10 시스템의 고정 IP 구성을 다시 확인하세요. 이는 재부팅 후에도 유지되지 않기 때문입니다.

Linux에서 ZScaler 연결 확인

7단계: 인터넷 접속하기

인터넷에 접속하려면 이제 USB->이더넷 어댑터를 가져와서 Linux 시스템에 연결해야 합니다. 두 번째 이더넷 연결이 확인되어 연결되면 Slack 자동 로그인과 같은 서비스가 표시됩니다.

8단계: ZScaler로 보호되는 웹사이트에 대한 액세스 복원

새로운 인터넷 연결을 연결하면 Linux 어댑터 수준에서 DNS 및 인터넷 설정 구성이 변경되므로 Linux의 IP 테이블을 통해 ZScaler로 보호되는 자산에 대한 액세스를 복원해야 합니다. 이렇게 하려면 보호된 자산의 IP 주소 범위, Windows 10 컴퓨터의 고정 IP, Linux와 Windows 10 간의 내부 개인 연결을 위한 장치 이름 자체를 알아야 합니다. 나와 내 회사의 경우 명령은 다음과 같습니다.

  • sudo ip route add 100.64.0.0/10 via 192.168.137.1 dev eno1
  • sudo ip route add 172.16.0.0/12 via 192.168.137.1 dev eno1

여기서 eno1는 Windows 10을 Linux에 직접 연결하는 네트워크 어댑터의 이름이고, 192.168.137.1는 Windows 10에서 구성한 고정 IP 주소이며, 은 ZScaler 보호 자산의 CIDR 범위 100.64.0.0/10입니다 . Linux 시스템에서 사용 하고 이를 장치 하드웨어 이름으로 바꾸면 172.16.0.0/12ZScaler 트래픽을 라우팅하는 데 사용되는 올바른 어댑터의 이름을 찾을 수 있습니다 .ifconfigeno1

9단계: 향후 ZScaler로 보호되는 웹사이트에 대한 액세스 활성화

이제 인터넷에 연결하기 전에 ZScaler에서 요청한 웹사이트에만 액세스할 수 있습니다. 이것은 DNS 문제입니다. 이 문제를 해결하려면 이름으로 내부 웹 사이트에 대한 액세스를 요청할 때 internal.mycompany.comZScaler를 사용하여 해당 호스트 이름을 확인할 수 있도록 Windows 10 컴퓨터를 기본 DNS 서버로 설정해야 합니다 . 호스트 이름이 확인되고 IP 주소에 이전에 IPTables를 통해 구성한 유효한 내부 범위가 표시되면 트래픽은 eno1로드를 위해 또는 동등한 어댑터로 라우팅된 다음 ZScaler로 라우팅되어야 합니다. 완료되면 이제 Linux에 두 개의 유선 연결이 표시됩니다.

2선 연결 설정

USB->이더넷 어댑터를 통해 인터넷에 연결되는 연결인 "PCI 이더넷 연결" 연결을 편집하세요.

이제 Linux <-> Windows 10 사이에 존재하는 개인 네트워크의 Windows 10 시스템에 대해 선택된 고정 IP 주소가 필요합니다. 이것이 고정 IP 주소 설정이 중요한 이유입니다. 우리는 이 IP 주소를 DNS 서버로 하드코딩하고 싶습니다.

DNS 서버 업데이트

그게 다야! 이것이 작동하는 방식입니다. 네트워크 어댑터를 구성할 때 DNS 항목으로 인해 모든 DNS 요청이 ZScaler로 전송됩니다. 공용 IP가 반환되면 일반 USB 이더넷 연결로 성공적으로 해결됩니다. 개인 IP가 반환되면 IPTables는 실행 시 지정한 어댑터로 요청을 전달합니다 sudo ip route add.... 이를 통해 Windows 10/ZScaler 컴퓨터는 웹 사이트 콘텐츠를 로드하고 Windows 10 연결 공유를 통해 사용자에게 다시 보낼 수 있습니다.

이는 본질적으로 분할 조인입니다.모두DNS 요청은 내부 호스트 이름을 확인하고 로드할 수 있는 유일한 ZScaler에 의해 처리되지만 공개 콘텐츠는 Linux USB 이더넷 어댑터를 통해 로드되고 개인 콘텐츠는 이더넷<->이더넷 공유 연결을 통해 Windows 10에 로드됩니다.

이 "해결 방법"을 깨뜨리는 것은 무엇입니까?

  • Windows 10 컴퓨터를 다시 시작하세요.
  • 정전. 찾다.
  • Windows 10 측의 네트워크 토폴로지가 변경되어 새로운 네트워크/인터넷 연결이 발생함
  • DHCP 임대 시간/갱신 변경

이 솔루션의 차선책은 무엇입니까?

  • 모든 DNS 요청은 ZScaler 시스템을 통과하므로 한때 초고속 유선 연결은 이제 적어도 DNS 요청의 경우 WiFi만큼 느립니다.
  • W10 컴퓨터를 다시는 종료할 수 없습니다. 그렇지 않으면 내부 및 외부 호스트 모두에 대해 인터넷이 다시 제대로 작동하도록 매번 종료해야 합니다.
  • 이 설정이 매일 안정적으로 작동하려면 많은 연습이 필요합니다. 워크플로를 마스터하고 문제가 발생했을 때 신속하게 해결하는 데 약 2개월이 걸렸습니다.

마지막으로 이는 확실히 최후의 수단이며 VPN 솔루션에서 ZScaler로 전환하려는 회사는 전용 Linux 클라이언트의 부족과 이것이 엔지니어의 서비스 수신 능력에 어떤 영향을 미칠 수 있는지, 그렇지 않을 수 있는지 고려해야 한다는 점을 말씀드립니다. 완전한.

답변2

아주 좋은 해결책입니다. 감사합니다!

이 솔루션은 Windows VM에서도 작동한다는 점을 알려드립니다(저는 libvirt/kvm을 사용하고 있습니다).https://libvirt.org/drvqemu.html). 또한 선택의 여지가 없다고 생각합니다. 192.168.137.1/24가 기본 공유 IP입니다(적어도 Windows 10에서는).

VM에 두 번째 가상 네트워크 어댑터를 추가합니다(게이트웨이를 구성하지 마십시오.):

  • 네트워크 주소 변환
  • 192.168.137.1/24

그런 다음 Linux 호스트에서 로컬 IP 별칭을 추가하여 가상 머신과 통신합니다(가상 NIC 어댑터에 "virbr0"을 적용합니다. virtualbox와 같은 다른 가상화 솔루션을 사용하는 경우 다를 수 있음).

sudo ip a add 192.168.137.2/24 dev virbr0

Linux 호스트에서 192.168.137.1의 Windows 가상 머신을 ping할 수 있는지 확인합니다(Windows 10 방화벽에서 ICMP를 수락해야 할 수도 있음).https://www.howtogeek.com/howto/windows-vista/allow-pings-icmp-echo-request-through-your-windows-vista-firewall/)

ping 192.168.137.1

마지막으로 가상 머신을 통해 원격 회사 네트워크에 대한 경로를 추가합니다(필요에 맞게 조정).

sudo ip r add 100.64.0.0/24 via 192.168.137.1
sudo ip r add 100.64.1.0/24 via 192.168.137.1

기업 DNS를 알고 있는 경우 일부 특정 도메인이나 하위 도메인에 대해 이 DNS를 사용하도록 로컬 확인자(예: 바인딩 해제)를 구성할 수도 있습니다.

답변3

또한 Ubuntu에서 Zscaler를 사용하여 개인 회사 웹사이트에 액세스하는 데 문제가 있었습니다. 다행히 아직 Windows 10이 설치된 개인 노트북이 있습니다. 그래서 저는 이 개인용 Windows 10 노트북에 Zscaler를 설치했습니다. 그런 다음 이더넷을 통해 Win-10 노트북을 인터넷에 연결했습니다. 그 후 모바일 핫스팟을 만들었습니다. 그 후 네트워크상의 다른 사용자가 이더넷 연결을 사용할 수 있도록 허용하고 홈 네트워크 연결을 모바일 핫스팟 연결로 설정했습니다. 그 후 모바일 핫스팟을 통해 Ubuntu에 연결할 수 있었고, 사설 회사 네트워크 사이트에도 접속할 수 있었습니다. 이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보