WSL设置静态IP
本章重点
了解windows下的虚拟化产品wsl,并设置静态IP,让我们更加方便去连接
记录、交流、实践,让每一份付出皆可看见,让你我共同前行😁
在我们平常使用windows里面的虚拟化服务经常出现电脑重启就连接不到wsl的情况,因此设置一个固定的ip地址是十分有必要的。
首先我们要先确定windows电脑分配给我们wsl的ip地址,输入以下命令
Get-NetAdapter 'vEthernet (WSL)' | Get-NetIPAddress | Where-Object AddressFamily -eq IPv4
里面的IPAddress就是我们要的IP地址,所有以下文档中出现的IP地址为192.168.160.1,出现这个IP地址后记得改为自己本地的IP地址。
- 创建或编辑rc.local文件(Linux系统启动时自动执行的脚本)
sudo vim /etc/rc.local
- 写入以下内容
#!/bin/bash
# 清除现有IP配置
ip addr flush dev eth0
# 设置静态IP(必须在子网192.168.160.0/20范围内)
ip addr add 192.168.173.100/20 dev eth0
# 设置网关(vEthernet (WSL)的IP)
ip route add default via 192.168.160.1 dev eth0
exit 0
- 添加执行权限
sudo chmod +x /etc/rc.local
- 修复rc.local的自动执行机制(部分系统默认不启用)
# 创建系统服务配置
sudo nano /etc/systemd/system/rc-local.service
- 写入以下内容
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99[Install]
WantedBy=multi-user.target
- 保存启用后的服务
sudo systemctl enable rc-local
- 重新启动wsl,并且验证静态IP
ip addr show eth0 | grep "inet\b"
出现这样的内容,表示静态IP设置成功 inet 192.168.173.100/20 scope global eth0
测试22端口是否开放连接
ssh 你的WSL用户名@localhost
如果没有执行以下命令
# 安装 SSH 服务
sudo apt update
sudo apt install openssh-server# 启动 SSH 服务:
sudo service ssh start
# 设置开机自启:
sudo systemctl enable ssh#测试连接
ssh 你的WSL用户名@localhost
在FinalShell里面测试连接
启动成功!
添加root权限
sudo vim /etc/ssh/sshd_config# 在里面添加这个内容,任意一处都可以
PermitRootLogin yes# 保存并重启 SSH 服务
sudo service ssh restart# 设置 root 密码
sudo passwd root# 测试 root 登录
ssh root@localhost
启动成功!