[笔记] wsl 禁用配置 win系统环境变量+代理

wsl 配置禁用 win系统环境变量

进入 wsl 的 /etc/wsl.conf 目录,增加以下配置:

[interop]
enabled=false
appendWindowsPath=false

然后退出wsl,并且执行关闭正在运行的 wsl,执行命令 wsl --shutdown

最后重新进入wsl 即可。

参考资料

wsl 配置禁用 win 系统代理

进入用户目录,创建配置文件 .wslconfig,输入或追加以下配置:

[experimental]
autoProxy=false

然后重启 wsl 即可。

参考资料

wsl docker 安装

进入 wsl, 执行以下命令

curl -fsSL https://get.docker.com -o get-docker.sh
# 指定镜像源为 阿里云 或者 --mirror AzureChinaCloud
sh install-docker.sh --mirror Aliyun

等待 20秒后即可开始安装

wsl2 启用 systemd

wsl1 并不支持服务进程,wsl2 中没有默认启用,当尝试使用 systemctl 命令检查服务进程状态时,wsl 会抛出以下异常。

System has not been booted with systemd as init system (PID 1). 
Can't operate. Failed to connect to bus: Host is down

当我们想要一只运行一些服务器软件如 Nginx , sshd 时就需要配置开启 systemd。

此时我们需要在 wsl 中进入到配置文件 /etc/wsl.conf` 里,添加如下配置:

[boot]
systemd=true

然后退出 wsl,使用 wsl --shutdown 命令结束当前正在运行的 wsl 然后重新进入 wsl,此时就可以看到 wsl 已经开启了 systemd.

通过远程ssh 链接 wsl2

我们在配置好 wsl 之后,可以通过开启 systemd 的方式,然后安装 openssh-server 使得 wsl 启动 ssh 服务,并监听在 22 端口。

[root]# systemctl status ssh
○ ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
     Active: inactive (dead)
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
[root]# ss -nltp
LISTEN 0      4096      127.0.0.54:53        0.0.0.0:*    users:(("systemd-resolve",pid=99,fd=16))
LISTEN 0      4096   127.0.0.53%lo:53        0.0.0.0:*    users:(("systemd-resolve",pid=99,fd=14))
LISTEN 0      4096               *:22              *:*    users:(("systemd",pid=1,fd=51))
[root]# ip addr
[root]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:43:75:13 brd ff:ff:ff:ff:ff:ff
    inet 172.21.125.77/20 brd 172.21.127.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe43:7513/64 scope link
       valid_lft forever preferred_lft forever

那现在就好办了,我们只需要将其监听到本地 win 地址上就好了:
以管理员身份运行 cmd ,并输入下面的命令,即可实现端口转发:

> netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=72.21.125.77 connectport=22
> netsh interface portproxy show v4tov4

侦听 ipv4:                 连接到 ipv4:

地址            端口        地址            端口
--------------- ----------  --------------- ----------
0.0.0.0         22        72.21.125.77   22

删除转发:

> netsh interface portproxy show v4tov4
Listen on ipv4:             Connect to ipv4:
Address         Port        Address         Port
--------------- ----------  --------------- ----------
0.0.0.0         22         72.21.125.77       22
> netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0
> netsh interface portproxy show v4tov4

现在我们访问 win主机的 22 端口,就能直接连接进入 wsl了。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值