0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu on Windows (WSL) や VM 環境で SWG 製品のクライアントを踏み台にしてプロキシサーバを通りインターネットにアクセスする

Posted at

はじめに

今回は Ubuntu on Windows などの WSL や Virtual Machine(VM)など、コンピュータ内の仮想環境から企業などにおける社内のネットワークなどに設置されている SWG 製品のクライアントを踏み台にして外部と通信できるようなやり方を、備忘録として残しておきます。
これによって、社用 PC などからしかアクセスできないようなネットワーク環境でも、社用 PC の中でポートフォワーディングを行うことで、社用 PC にインストールされている Zscaler の ZCC などのクライアントを踏み台にして、仮想環境と外部との通信を可能になります。

bastion-zcc.png

投稿者の環境

踏み台とするコンピュータでポートフォワーディングを活用することが本稿におけるミソなのであまり関係ないですが、一応念のために記述。

  • Windows 10 Enterprise 22H2
  • WSL2 - Ubuntu 22.04 LTS
  • プロキシサーバ(SWG): Zscaler
  • SWG 製品のクライアント(今回なら Zscaler Client Connector)の待ち受けポートは 17200 と既知

手順

  1. WSL のインストール(割愛)

  2. Windows の WSL アダプタの IP アドレスを ipconfig で調べる

    > ipconfig
    (中略)
     イーサネット アダプター vEthernet (WSL):
    
     接続固有の DNS サフィックス . . . . .:
     リンクローカル IPv6 アドレス. . . . .: fe80::8b89:6755:cb07:dea2%61
     IPv4 アドレス . . . . . . . . . . . .: 172.17.112.1
     サブネット マスク . . . . . . . . . .: 255.255.240.0
     デフォルト ゲートウェイ . . . . . . .:
    

    これで、ホストマシンの IPv4 アドレスが 172.17.112.1 と判明

  3. Windows でポートフォワーディングの設定
    管理者権限のある PowerShell で、以下のコマンドを入力(listenaddr は 2. で判明した IPv4 アドレスを入力)

    (注意)

    1. Zscaler などの SWG 製品のクライアント(Zscaler Client Connector)の待ち受けポート番号は 17200 と既知なため、17200 を入力しています。別の SWG 製品をお使いの場合は、それらの待ち受けポート番号に変更してください。
    2. listenaddr を全てにする 0.0.0.0 にして、かつ listenport を SWG 製品の待ち受けポート番号(今回なら 17200)にしてしまうとループが起こり接続できなくなりますので、この記事のように送信元アドレスを指定する(listenaddr で指定する)か、0.0.0.0 にした場合は SWG 製品の待ち受けポート番号とは別のポート番号で LISTEN するようにしてください。
    > netsh interface portproxy add v4tov4 listenport=17200 listenaddr=172.17.112.1 connectport=17200 connectaddress=127.0.0.1
    
  4. 結果が反映されているかを、3. の PowerShell で確認

    > netsh interface portproxy show all
    ipv4 をリッスンする:         ipv4 に接続する:
    
     Address         Port        Address         Port
     --------------- ----------  --------------- ----------
     172.17.112.1    17200       127.0.0.1       17200
    
  5. Windows のファイヤーウォールをあける
    Windows の設定の「Windows Defender ファイアウォール」> 「詳細設定」で、「受信の規則」において新しい規則を追加する。

    追加内容: 規則の種類

    • ポート
    • TCPを選択、特定のローカルポート「17200」
    • 接続を許可する
    • この規則はいつ適用しますか?「すべて選択」
    • 名前はお好みで

これで、WSL においてプロキシを設定する際には「172.17.112.1:17200」をプロキシサーバの宛先にすればいけると思います。これでも無理なら SWG の CA 証明書を WSL のゲスト OS に追加。

ポートフォワーディングを削除するとき

3. や 4. でポートフォワーディングを削除する際は、以下のコマンドを実行

> netsh interface portproxy delete v4tov4 listenport=17200 listenaddr=172.17.112.1

参考文献

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?