WSL (Windows Subsystem for Linux)からプロキシ環境下でインターネット通信する手順


はじめに

プロキシ環境下においてUbuntu on WSLからインターネット通信ができずハマったのでメモしました.なお,WSL(バージョン2)では未だインターネット通信に成功していないので解決策をお持ちの方ご共有いただけると幸いです.

TL;DR

  • WSLバージョンが2の場合,バージョンを1に設定する.
  • /etc/environmentファイルに環境変数http_proxyhttps_proxyを追記する.

手順

ディストリビューションはUbuntu 18.04を使用しています.

1. WSLバージョンを2から1に設定する

自分がここでハマりました.WSLのバージョンによってネットワーク周りの仕様が異なるためか,WSLバージョンが2のときプロキシ環境下でインターネット通信できないという問題が起きていました.ここではWSLバージョンを2から1に設定する手順を載せます.

もしプロキシ環境下においてUbuntu on WSL(バージョン2)からインターネット通信に成功した方がいらっしゃれば,コメント等で共有していただけると幸いです.

まずインストールされているディストリビューションを確認します.

> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2

WSLバージョンが2の場合は1に変更します.

> wsl --set-version Ubuntu-18.04 1
> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         1

2. /etc/environmentファイルにプロキシの環境変数を追記する

/etc/environmentファイルをスーパーユーザー権限で編集します.

$ sudo nano /etc/environment

以下をを追記します.プロキシサーバーのURLはhttp://proxy.example.com:8080/とします.ご自身の環境に合わせて変更してください.

/etc/environment
http_proxy=http://proxy.example.com:8080/
https_proxy=http://proxy.example.com:8080/

認証が必要な場合はhttp://username:[email protected]:8080(ユーザー名: username,パスワード: password)のように書きます.

おわりに

本稿ではプロキシ環境下においてUbuntu on WSLからインターネット通信するための手順について記載しました.

繰り返しになりますが,もしプロキシ環境下においてUbuntu on WSL2からインターネット通信に成功した方がいらっしゃれば,コメント等で共有していただけると幸いです.