ArchWSL网络配置教程:WSL2端口转发与防火墙规则设置

ArchWSL网络配置教程:WSL2端口转发与防火墙规则设置

【免费下载链接】ArchWSL ArchLinux based WSL Distribution. Supports multiple install. 【免费下载链接】ArchWSL 项目地址: https://gitcode.com/gh_mirrors/ar/ArchWSL

在使用ArchWSL(ArchLinux on WSL)进行开发或服务器部署时,经常需要从Windows主机或局域网访问WSL2中运行的服务。本文将详细介绍WSL2端口转发配置方法和防火墙规则设置,解决本地开发环境中服务访问难题。

准备工作

确保已安装ArchWSL并切换到WSL2版本。通过以下命令检查当前WSL版本:

wsl --list --verbose

若版本为1,可通过Arch.exe工具切换:

Arch.exe config --wsl-version 2

WSL2端口转发配置

手动配置方法

WSL2运行在Hyper-V轻量级虚拟机中,需通过Windows端口转发实现外部访问。以将WSL2的8080端口转发到Windows的8080端口为例:

  1. 获取WSL2实例IP地址:
ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}/\d+' | cut -d/ -f1
  1. 在Windows管理员命令提示符中执行端口转发命令:
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=<WSL2_IP>

自动配置脚本

创建port-forward.ps1脚本实现自动配置:

$wslIp = wsl -d ArchWSL -- ip addr show eth0 | Select-String -Pattern 'inet\s(\d+\.\d+\.\d+\.\d+)/' | ForEach-Object { $_.Matches.Groups[1].Value }
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=$wslIp

防火墙规则设置

Windows防火墙配置

  1. 允许端口通过Windows防火墙:
netsh advfirewall firewall add rule name="WSL2-8080" dir=in action=allow protocol=TCP localport=8080 remoteip=any profile=any
  1. 查看已配置规则:
netsh advfirewall firewall show rule name="WSL2-8080"

ArchWSL内部防火墙

ArchWSL默认未启用防火墙,可通过预设配置文件安装并配置iptables:

sudo pacman -S iptables
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

验证与测试

启动一个测试服务验证配置是否生效:

python -m http.server 8080

在Windows浏览器中访问http://localhost:8080,或在局域网其他设备访问http://<Windows_IP>:8080

常见问题解决

端口冲突处理

若提示端口已被占用,可通过以下命令查找占用进程:

netstat -ano | findstr :8080

WSL2 IP变化问题

WSL2重启后IP会变化,可通过任务计划程序设置脚本在系统启动时自动更新端口转发规则。

相关资源

通过以上步骤,可实现稳定的WSL2网络配置,满足本地开发和测试需求。建议定期备份配置,避免系统更新导致规则丢失。

【免费下载链接】ArchWSL ArchLinux based WSL Distribution. Supports multiple install. 【免费下载链接】ArchWSL 项目地址: https://gitcode.com/gh_mirrors/ar/ArchWSL

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值