Windows WSL子系统设置独立IP访问

Windows WSL子系统设置独立IP访问

最近在研究mcp server,然后想用 langflow 进行测试,结果死活配置不成功。

原来是ip的问题,langflow运行在独立的容器,mcp server也运行在独立的容器,然windows和wsl只能通过 127.0.0.1 通信,所以当我配置为 127.0.0.1:xxxx/mcp 这样的服务时,从 langflow容器会找容器内部的服务,而非宿主机的服务。尝试过使用windows宿主机不能访问,也问了AI,无果,于是有了今天的记录。

解决方案

为wsl创建独立的虚拟网络,分配独立的IP地址,这样就可以通过ip进行访问了。

解决步骤

1、管理者身份运行 powershell

2、按照以下的命令顺序执行

复制代码
PS C:\Windows\system32> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
PS C:\Windows\system32> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
PS C:\Windows\system32> Restart-Computer
PS C:\Windows\system32> Get-NetAdapter
Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
vEthernet (Default Swi... Hyper-V Virtual Ethernet Adapter             28 Up           00-15-5D-B0-08-DC        10 Gbps
WLAN                      Intel(R) Wi-Fi 6E AX211 160MHz               20 Disconnected F8-B5-4D-69-B7-AC          0 bps
以太网                    Realtek Gaming 2.5GbE Family Controller      11 Up           00-E0-4C-51-98-0F       100 Mbps
WLAN 2                    802.11n USB Wireless LAN Card                 3 Disconnected 60-EE-5C-32-CC-6B          0 bps

PS C:\Windows\system32> New-VMSwitch -Name WSLBridge -NetAdapterName "以太网" -AllowManagementOS $true
Name      SwitchType NetAdapterInterfaceDescription
----      ---------- ------------------------------
WSLBridge External   Realtek Gaming 2.5GbE Family Controller

注意:Get-NetAdapter 查看到的网卡列表最好是选择常用的,比如我这边的 以太网 就是网线直连的网卡,所以下面使用了 以太网 创建桥接网络。

3、配置wsl网络

编辑 C:/用户/用户名/.wslconfig 文件,如果没有就创建一个,并写入以下内容:

复制代码
[wsl2]
networkingMode=bridged
vmSwitch=WSLBridge
ipv6=true

4、重启wsl

复制代码
wsl --shutdown
wsl

5、查看ip

复制代码
ai@ZHANGJW:~$ 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 5e:bb:f6:9e:ee:fa brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.28/24 brd 192.168.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5cbb:f6ff:fe9e:eefa/64 scope link
       valid_lft forever preferred_lft forever
ai@ZHANGJW:~$ ping www.baidu.com
PING www.a.shifen.com (153.3.238.28) 56(84) bytes of data.
64 bytes from 153.3.238.28: icmp_seq=1 ttl=52 time=31.7 ms
64 bytes from 153.3.238.28: icmp_seq=2 ttl=52 time=31.7 ms
64 bytes from 153.3.238.28: icmp_seq=3 ttl=52 time=31.7 ms

能够看到分配了 192.168.3.28 这样的局域网地址,并且ping百度正常。

至此,愿看到的小伙伴不迷路~

相关推荐
懂点Tech10 小时前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
川石课堂软件测试11 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
云梦谭12 小时前
让 Linux 主动连接 Windows:配置 Windows 11 SSH 服务端
linux·windows·ssh
奇树谦12 小时前
Windows CMD 下 mc 运维指南:SeaweedFS 安装验收与 MinIO 数据迁移
运维·windows
zl_dfq12 小时前
Windows 下 TCP 套接字编程指南::从 Winsock 初始化到回显服务器
tcp/ip
明天也要努力学习13 小时前
IP 协议的相关特性
网络·网络协议·tcp/ip
2501_9160074716 小时前
抓包工具功能对比,TraceEagle、Charles、Fiddler、Wireshark、mitmproxy 差别
前端·网络协议·ios·adb·https·fiddler·wireshark
keren216 小时前
SceneDock:Windows 场景化工作台——一键启动工作链,还能被 AI Agent 调用(CLI / MCP)
windows·开发工具·效率工具·mcp
成旭先生18 小时前
车辆、能源与地理数据 API 实战:把定价、油价、行政区划串成一条链路
人工智能·windows·能源·api集成·油价查询·车辆定价·地址清洗
山雀~19 小时前
CSP 安全漏洞修复
前端·网络协议