web-dev-qa-db-ja.com

Linux / Ubuntu 18.04でWindows 10接続共有を使用してZScalerで保護されたWebサイトにアクセスする方法

ZScalerを使用して、専用のUbuntuクライアントなしでUbuntu経由で保護されたWebサイトにアクセスするにはどうすればよいですか?

2
anon58192932

私の会社はZScalerのVPNを削除することを決定し、ZScalerにはネイティブLinuxクライアントがないため、会社でLinuxを実行している唯一の人物であり、取り残されました。

この回避策は非常に迷路であり、等しくfragileであると言いましょう。 2台のフルコンピュータが必要になるため、外出先での作業は高額で不可能になるため、これはラップトップやリモート/出張の従業員にとっては解決策ではありません。 2台目のコンピューターについては、専用のWindows 10マシンとして使用するために、eBayで古いコンピューターをピックアップすることをお勧めします。それ以外の場合は、ほとんどすべての古いラップトップを置いて転用できます。 WiFiとイーサネットポートを備えたものであれば何でも機能します。

さらに、ZScalerの製品チームがこの回避策の脆弱性(実際にはハック)を確認し、切り替えた後はmacOSに戻ることができない熱心なLinux担当者向けの専用Linuxクライアントを作成することを願っています。

この回避策には、次のものが必要です。

  • WiFiおよびイーサネット機能で完全に更新されたWindows 10ラップトップ
  • Windows 10のZScalerクライアント
  • LinuxおよびWindows 10マシンを接続するための短いイーサネットケーブル
  • Linuxマシンをインターネットに接続するための長いイーサネットケーブル
  • Linuxデスクトップに2番目のイーサネット接続を提供するUSB​​->イーサネットアダプター

ステップ1:Windows 10でZScalerに接続する

Windows 10用のZScalerクライアントをインストールします。資格情報を使用してログインし、内部またはZScalerで保護されたWebサイト、外部Webサイト、およびより広範なインターネットにアクセスできることを確認します。

Connect and verify ZScaler works on Windows 10

手順2:Windows 10で必要なすべての接続を確認する

これが機能するためには、Windows 10コンピューターが外部インターネット(この例ではWiFi)、ZScalerアダプター、およびZScalerを共有するためのローカルイーサネット接続にアクセスできる必要があります。以下の図は、このすべてを示しています。

Verify Windows 10 Connections

ステップ3:ローカルイーサネット接続を準備する

この回避策の魔法の一部は、イーサネットを介してWindows 10マシンをLinuxマシンに直接接続し、2つの間にプライベートネットワークを作成することです。これを行うには、ローカルイーサネット接続のアダプターのプロパティを入力し、IPV4設定を調整して、静的IPアドレス(非常に重要)とサブネットマスクを設定する必要があります。私はそれぞれ192.168.137.1255.255.255.0を選択しました。有効な内部IPアドレスとサブネットマスクの組み合わせは、理論上は問題なく機能するはずです。

Configure local Ethernet connection

ステップ4:ZScaler接続を共有する

これはパズルの重要な部分の1つです。 Linuxマシンは、Windows 10接続共有を介してZScalerにアクセスします。接続が完了したらZScaler接続を右クリックし、[プロパティ]に移動します。

Open ZScaler Properties

ステップ5:ZScalerアダプターをLinuxマシンと共有する

これを行うには、2台のコンピュータがEthernet to Ethernetを介して直接接続されていることを確認します。 Linux <-イーサネット-> Windows 10である必要があります。次に、ZScalerアダプターのプロパティの[共有]タブに移動し、LinuxマシンをWindows 10マシンにブリッジするイーサネットアダプターとZScalerアダプターを共有します。

Share ZScaler to your Ethernet Adapter

手順6:LinuxでZScalerのアクセスを確認する

これで、LinuxコンピューターがWindows 10マシンに直接接続され、Linuxマシンの内部Webサイトを解決できるようになり、それ以外は何もできない -)。インターネットにアクセスできないはずです。接続している場合は、インターネット接続を提供しているアダプタを取り外します。これは非常に重要なステップです。内部ZScaler固有のターゲットにのみアクセスできることを確認します。それでもこの手順で問題が解決しない場合は、すべてを再起動してやり直してください。また、これは再起動の間に固執する傾向がないため、Windows 10マシンの静的IP構成を再確認してください。

Verify ZScaler connection on Linux

ステップ7:インターネットアクセスを取得する

インターネットにアクセスするには、USB-> Ethernetアダプターを使用してLinuxマシンに接続する必要があります。 2番目のイーサネット接続が解決して接続すると、Slack自動ログインなどのサービスが表示されます。

ステップ8:ZScalerで保護されたWebサイトへのアクセスを復元する

新しいインターネット接続を接続すると、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アドレス、100.64.0.0/10172.16.0.0/12はZScalerで保護されたアセットのCIDR範囲。 Linuxマシンでifconfigを使用してZScalerトラフィックをルーティングし、eno1をデバイスのハードウェア名に置き換えて、正しいアダプターの名前を見つけることができます。

手順9:ZScalerで保護された将来のWebサイトへのアクセスを有効にする

現在、インターネット接続を接続する前に、ZScalerからリクエストしたウェブサイトにのみアクセスできます。これはDNSの問題です。これを修正するには、Windows 10マシンをデフォルトのDNSサーバーとして設定する必要があります。これにより、内部Webサイトへのアクセスを名前internal.mycompany.comで要求したときに、ZScalerを使用してそれらのホスト名を解決できます。ホスト名が解決され、IPアドレスがIPTablesを介して以前に構成した有効な内部範囲を示したら、トラフィックをeno1または同等のアダプターにルーティングし、次にZScalerにルーティングしてロードする必要があります。完了すると、Linuxに2つの有線接続が表示されます。

Double wired connection settings

「PCIイーサネット接続」接続を編集します。これは、USB->イーサネットアダプターを介してインターネットに接続するためです。

ここで、Linux <-> Windows 10間に存在するプライベートネットワーク上のWindows 10マシン用に選択した静的IPアドレスが必要です。このため、静的IPアドレスの設定が重要です。このIPアドレスをDNSサーバーとしてハードコーディングしたいと考えています。

Update your DNS server

以上です!そして、これはそれがどのように機能するかです。ネットワークアダプターの構成時にDNSエントリが原因で、すべてのDNS要求がZScalerに送信されます。パブリックIPが返されると、通常のUSBイーサネット接続で問題が解決されます。プライベートIPが返されると、IPTablesは、Sudo ip route add...を実行したときに指定したアダプタにリクエストを転送します。これにより、Windows 10/ZScalerマシンがWebサイトのコンテンツをロードし、Windows 10の接続共有を介して送信することができます。

これは本質的にスプリット接続であり、allDNSリクエストはZScalerによって処理されます(内部ホスト名を解決およびロードできるのはそれだけなので)パブリックコンテンツLinux USBイーサネットアダプターを介して読み込まれ、Windows 10へのイーサネット<->イーサネット共有接続を介してプライベートコンテンツが読み込まれます.

この「回避策」を打破するものは何ですか?

  • Windows 10マシンの再起動
  • 停電。上記を参照。
  • 新しいネットワーク/インターネット接続を引き起こすWindows 10側のネットワークトポロジの変更
  • DHCPリースタイミングの変更/更新

この回避策の次善策は何ですか?

  • すべてのDNS要求はZScalerマシンを経由するため、かつての超高速有線接続は、少なくともDNS要求のWiFiと同じくらい低速です。
  • W10コンピューターの電源をオフにすることはできません。そうしないと、内部ホストと外部ホストの両方でインターネットを再び機能させるために、この儀式を毎回実行する必要があります。
  • この設定を日​​常的に確実に機能させるには、多くの練習が必要です。ワークフローを習得し、問題が発生したときに迅速に問題を解決するには、約2か月かかりました。

最後に、これは完全な最後の手段であり、VPNソリューションからZScalerへの切り替えを検討している企業は、専用のLinuxクライアントがないことと、それがエンジニアの能力に影響するかどうかを検討する必要があります。仕事完了。

3
anon58192932

非常に良い回避策、ありがとう!

このソリューションがWindowsでも機能していることをお知らせするだけですVM(私はlibvirt/kvm https://libvirt.org/drvqemu.html を使用しています)また、私はあなたに選択肢がなく、192.168.137.1/24がデフォルトの共有IP(少なくともWindows 10の場合)であると思います。

2番目の仮想ネットワークアダプターをVM(do not configure the gateway)に追加します:

  • NAT
  • 192.168.137.1/24

Linuxのホストで、ローカルIPエイリアスを追加してVM(adapt 'virbr0' with your virtual NIC adapter)と通信します。あなたはvirtualboxのような別の仮想化ソリューションを使用しています):

Sudo ip a add 192.168.137.2/24 dev virbr0

LinuxホストからWindows VM on 192.168.137.1にpingできることを確認します(Windows 10ファイアウォールでICMPを受け入れる必要がある場合があります https://www.howtogeek。 com/howto/windows-Vista/allow-pings-icmp-echo-r​​equest-through-your-windows-Vista-firewall /

ping 192.168.137.1

最後に、VMを経由するルートを追加して、遠方の企業ネットワークに到達します(ニーズに適応します):

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

Corp DNSがわかっている場合は、ローカルリゾルバー(たとえばバインドされていない)を構成して、特定のドメインまたはサブドメインでこのDNSを使用することもできます。

2
faust

また、UbuntuでZscalerを使用して民間企業のWebサイトにアクセスする際に問題が発生しました。幸い、私はまだWindows 10のプライベートノートブックを持っています。そのため、このプライベートWindows 10ノートブックにZscalerをインストールしました。次に、Win-10ノートブックをイーサネット経由でインターネットに接続しました。その後、モバイルホットスポットを作成しました。その後、ネットワーク内の他のユーザーにイーサネット接続の使用を許可し、ホームネットワーク接続としてモバイル・ホットスポット接続を設定しました。その後、モバイルホットスポットを介してUbuntuに接続でき、プライベートの企業ネットワークサイトにアクセスできました。これは誰かを助けるかもしれません。

1
MJ1986