Configure the system proxy for Ubuntu under WSL2
Abstract
Configure the system proxy for Ubuntu under WSL2, utilizing Clash as the system proxy on Windows.
Tips
If you're using Windows 11 22H2
or later, you can add the following configuration to C:\Users\<your_user>\.wslconfig
to skip the subsequent steps:
[wsl2]
networkingMode = mirrored
autoproxy = true
Retrieve the local IP address and the proxy port
First, confirm the proxy port on Windows, as well as the local IP address. Using Clash as an example, the port is typically <a>7890</a>
. You can view the local IP address using the following command:
PS C:\Users\Vang-z> ipconfig
# ------------------------ The results are as follows: ------------------------
Windows IP 配置
以太网适配器 vEthernet (Default Switch):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::22d4:483a:5879:d6ff%28
IPv4 地址 . . . . . . . . . . . . : 172.23.32.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
无线局域网适配器 本地连接* 1:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 本地连接* 2:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 VMware Network Adapter VMnet1:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::529a:b8d:106b:6c20%18
IPv4 地址 . . . . . . . . . . . . : 192.168.83.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
以太网适配器 VMware Network Adapter VMnet8:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::8461:112c:ee6d:44a9%9
IPv4 地址 . . . . . . . . . . . . : 192.168.200.1
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
以太网适配器 SSTAP 1:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网 2:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
无线局域网适配器 WLAN:
连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2001:250:5806:3e85:2f26:5c9f:34fc:4970
临时 IPv6 地址. . . . . . . . . . : 2001:250:5806:3e85:24d4:47ab:a129:839b
本地链接 IPv6 地址. . . . . . . . : fe80::9e68:7c4:e1a6:5538%15
IPv4 地址 . . . . . . . . . . . . : 10.117.74.215
子网掩码 . . . . . . . . . . . . : 255.255.0.0
默认网关. . . . . . . . . . . . . : fe80::761f:4aff:fe53:2%15
10.117.255.254
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 以太网:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
以太网适配器 vEthernet (WSL (Hyper-V firewall)):
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::bd71:6fb7:7162:fefa%62
IPv4 地址 . . . . . . . . . . . . : 172.19.32.1
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . :
From the output information, locate the <a>IPv4</a>
address for <a>WSL (Hyper-V firewall)</a>
, which is <a>172.19.32.1</a>
.
Configure WSL2 to utilize the system proxy
Edit the <a>~/.bashrc</a>
file in <a>WSL2</a>
, adding the following content. Here, replace <a>proxy_address</a>
and <a>proxy_port</a>
with the IP address (<a>172.19.32.1</a>
) and port (<a>7890</a>
), respectively:
export http_proxy="http://<proxy_address>:<proxy_port>"
export https_proxy="http://<proxy_address>:<proxy_port>"
export socks_proxy="socks5://<proxy_address>:<proxy_port>"
export no_proxy="localhost,127.0.0.1"
After saving the file, execute the following command to apply the changes:
source ~/.bashrc
Finally, verify the proxy success by executing the following command. If the output matches the expected content, the configuration is successful:
curl --head https://google.com
# ------------------------ The results are as follows: ------------------------
HTTP/1.1 200 Connection established
HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
content-security-policy-report-only: object-src 'none';base-uri 'self';script-src 'nonce-1KhurnXZiL-szgzpMCTp8Q' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp
date: Wed, 18 Sep 2024 02:38:14 GMT
expires: Fri, 18 Oct 2024 02:38:14 GMT
cache-control: public, max-age=2592000
server: gws
content-length: 220
x-xss-protection: 0
x-frame-options: SAMEORIGIN
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Thus, the configuration of the system proxy for Ubuntu under WSL2 is complete.