CN113824815A - 一种wsl2系统用的端口智能映射方法 - Google Patents
一种wsl2系统用的端口智能映射方法 Download PDFInfo
- Publication number
- CN113824815A CN113824815A CN202111389622.4A CN202111389622A CN113824815A CN 113824815 A CN113824815 A CN 113824815A CN 202111389622 A CN202111389622 A CN 202111389622A CN 113824815 A CN113824815 A CN 113824815A
- Authority
- CN
- China
- Prior art keywords
- wsl2
- address
- subsystem
- windows
- seconds
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008859 change Effects 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种WSL2系统用的端口智能映射方法,包括:将WSL2子系统和BAT脚本安装并设置为自动启动后,计算机初始化;WSL2HOST服务监控WSL2子系统的IP是否有改变,若有改变,则将新的IP地址写入Windows 10系统中用于域名‑IP地址映射关系管理的hosts文件中;BAT脚本每隔m秒读取hosts文件内的文件数据,根据读取到的文件数据解析出Windows 10系统所在的主机记录的IP地址是否发生变化,若发生变化,则跳转步骤4执行;BAT脚本将WSL子系统服务需要的所有端口根据新的IP地址进行映射,完成端口映射。本发明具有部署简单和具有很好的稳定性。
Description
技术领域
本发明涉及Windows系统下的端口映射技术领域,具体涉及一种WSL2系统用的端口智能映射方法。
背景技术
WSL是Windows 10系统中的一个适用于Linux的Windows子系统,是Windows 10系统新增加的一个功能,主要用于可直接在Windows 10系统上运行原生Linux系统及命令。WSL2是WSL的一个新版本,也是目前为止的最新版本,它支持适用于Linux的Windows 子系统在Windows上运行ELF64 Linux二进制文件,以提高文件系统的性能和增加系统调用的完全兼容性。
但目前WSL2子系统的使用有诸多不足,主要为WSL2子系统的IP地址在每次WSL2子系统重启后都会改变,从而直接导致WSL2子系统与Windows 10系统之间的端口映射无效,从而导致WSL2子系统上的服务变为全部不可用。为此,需要人工来干预进行查新IP地址,并将新的IP地址重新执行映射脚本,建立新的端口映射关系,这在实际使用时显得非常繁琐麻烦。为此,需要一种更好的更智能的端口映射方法。
发明内容
针对现有技术的不足,本发明的目的提供一种WSL2系统用的端口智能映射方法,其能够解决系统重启后仍然自动建立新的端口映射的问题。
实现本发明的目的的技术方案为:一种WSL2系统用的端口智能映射方法,包括以下步骤:
步骤1:将WSL2子系统和BAT脚本安装在目标Windows 10系统内并设置为自动启动后,
计算机初始化;
步骤2:WSL2HOST服务监控WSL2子系统的IP是否有改变,若有改变,则将新的IP地址写入Windows 10系统中用于域名-IP地址映射关系管理的hosts文件中后执行步骤3,否则,继续监控;
步骤3:BAT脚本每隔m秒读取hosts文件内的文件数据,根据读取到的文件数据解析出Windows 10系统所在的主机记录的IP地址是否发生变化,若发生变化,则跳转步骤4执行,若未发送变化,则休息n秒后继续读取hosts文件的文件数据;
步骤4:BAT脚本将WSL2子系统服务需要的所有端口根据新的IP地址进行映射,完成WSL2子系统与Windows 10系统之间的端口映射。
进一步地,在完成步骤4后,重新跳转至步骤3,监控下一次IP地址是否发生变化,以实现动态监控IP地址变化下的动态端口映射。
进一步地,所述步骤3中,通过解析hosts文件中的debian.wsl固定主机的解析记录,从而判断出IP地址是否发生变化。
进一步地,所述m=3秒,n=10秒。
本发明的有益效果为:本发明具有部署简单,只需要在目标的Windows 10系统上安装WSL2子系统和一套BAT脚本即可,且WSL2子系统稳定地用于实际生产环节,只需要将监控到的新IP地址写入hosts文件即可,可以做到真正的无人值守,具有很好的稳定性。
附图说明
图1为本发明的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
如图1所示,一种WSL2系统用的端口智能映射方法,包括以下步骤:
步骤1:将WSL2子系统和BAT脚本安装在Windows 10系统内并设置为自动启动,也即将WSL2子系统和BAT脚本放入Windows 10系统的自启动菜单栏中,以使得WSL2子系统的WSL2HOST服务和BAT脚本能够跟随Windows 10系统的启动而同步启动,
计算机初始化。
本步骤中,将WSL2HOST服务设置为自动启动,也即是在Windows 10系统的服务管理器中,将WSL2HOST服务的启动类型设置为自动,从而使得WSL2HOST服务能够跟随Windows10系统启动而启动。在将WSL2子系统安装在Windows 10系统后,将WSL2子系统的启动放入Windows 10系统的自启动菜单栏中,以确定Windows 10系统启动完毕的同时也启动了WSL2子系统。
步骤2:WSL2HOST服务监控WSL2子系统的IP是否有改变,若有改变,则将监控到的新的IP地址写入Windows 10系统中用于域名-IP地址映射关系管理的hosts文件中。若没有改变,则继续监控WSL2子系统的IP是否有改变。
在默认情况下,Windows 10系统的hosts文件安装在C:\Windows\System32\drivers\etc目录下的hosts文件中,因此可以根据此路径(即目录)快速将新的IP地址写入hosts文件中。Hosts文件是Windows系统自带的一个文件,专门用于记录域名与域名对应的P地址之间的映射关系。
步骤3:BAT脚本启动后,每隔若干时间(通常为若干秒)读取hosts文件内的文件数据,例如,每隔3秒读取hosts文件内的文件数据,根据读取到的文件数据解析出Windows 10系统所在的主机记录的IP地址是否发生变化,若发生变化,则跳转步骤4执行,若未发送变化,则休息若干时间(也通常为几秒)后继续读取hosts文件的文件数据,例如,休息10秒后继续读取hosts文件的文件数据。
其中,hosts文件中记录了debian.wsl(对应为debian分发版的WSL2子系统)固定主机的解析记录。
步骤4:BAT脚本将WSL子系统中的debian模块服务需要的所有端口根据新的IP地址进行映射,完成映射后,跳转至步骤3继续执行。
通过步骤3和步骤4,可以将每一次新的IP地址读取到,并通过BAT脚本重新进行端口映射,建立了WSL2子系统和Windows 10系统之间的端口应用。实现端口的动态映射,每次IP变化后,都可以自动将所需端口自动映射到新IP地址上,确保了WSL2子系统在Windows10系统的永久使用,也即是系统重启后也不需要人为干预,能够自动地进行端口映射。
其中,端口映射可以在BAT脚本中写入对应的代码即可,实现端口映射的关键代码示例如下:
netsh interface portproxy add v4tov4 listenport=22 connectaddress=%myip% listenaddress=* protocol=tcp
netsh interface portproxy add v4tov4 listenport=80 connectaddress=%myip% listenaddress=* protocol=tcp。
本发明具有部署简单,只需要在目标的Windows 10系统上安装WSL2子系统和一套BAT脚本即可,且WSL2子系统稳定地用于实际生产环节,只需要将监控到的新IP地址写入hosts文件即可,可以做到真正的无人值守,具有很好的稳定性。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (4)
1.一种WSL2系统用的端口智能映射方法,其特征在于,包括以下步骤:
步骤1:将WSL2子系统和BAT脚本安装在目标Windows 10系统内并设置为自动启动后,
计算机初始化;
步骤2:WSL2HOST服务监控WSL2子系统的IP是否有改变,若有改变,则将新的IP地址写入Windows 10系统中用于域名-IP地址映射关系管理的hosts文件中后执行步骤3,否则,继续监控;
步骤3:BAT脚本每隔m秒读取hosts文件内的文件数据,根据读取到的文件数据解析出Windows 10系统所在的主机记录的IP地址是否发生变化,若发生变化,则跳转步骤4执行,若未发送变化,则休息n秒后继续读取hosts文件的文件数据;
步骤4:BAT脚本将WSL2子系统服务需要的所有端口根据新的IP地址进行映射,完成WSL2子系统与Windows 10系统之间的端口映射。
2.根据权利要求1所述的WSL2系统用的端口智能映射方法,其特征在于,在完成步骤4后,重新跳转至步骤3,监控下一次IP地址是否发生变化,以实现动态监控IP地址变化下的动态端口映射。
3.根据权利要求1所述的WSL2系统用的端口智能映射方法,其特征在于,所述步骤3中,通过解析hosts文件中的debian.wsl固定主机的解析记录,从而判断出IP地址是否发生变化。
4.根据权利要求1所述的WSL2系统用的端口智能映射方法,其特征在于,所述m=3秒,n=10秒。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111389622.4A CN113824815B (zh) | 2021-11-23 | 2021-11-23 | 一种wsl2系统用的端口智能映射方法 |
PCT/CN2022/077427 WO2023092875A1 (zh) | 2021-11-23 | 2022-02-23 | 一种wsl2系统用的端口智能映射方法 |
US18/647,796 US20240272889A1 (en) | 2021-11-23 | 2024-04-26 | Intelligent port mapping method for wsl2 system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111389622.4A CN113824815B (zh) | 2021-11-23 | 2021-11-23 | 一种wsl2系统用的端口智能映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113824815A true CN113824815A (zh) | 2021-12-21 |
CN113824815B CN113824815B (zh) | 2022-04-08 |
Family
ID=78919661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111389622.4A Active CN113824815B (zh) | 2021-11-23 | 2021-11-23 | 一种wsl2系统用的端口智能映射方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240272889A1 (zh) |
CN (1) | CN113824815B (zh) |
WO (1) | WO2023092875A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092875A1 (zh) * | 2021-11-23 | 2023-06-01 | 广州市保伦电子有限公司 | 一种wsl2系统用的端口智能映射方法 |
WO2023193402A1 (zh) * | 2022-04-07 | 2023-10-12 | 广州市保伦电子有限公司 | 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9606900B1 (en) * | 2016-03-24 | 2017-03-28 | Fmr Llc | Intelligent automation of computer software test scripts and code requirements |
CN112291377A (zh) * | 2019-07-25 | 2021-01-29 | 杭州拾贝知识产权服务有限公司 | 一种自动化检测外网ip动态变化方法 |
CN112363985A (zh) * | 2020-11-28 | 2021-02-12 | 杭州玳数科技有限公司 | 一种hosts集中化管理平台及其方法 |
CN113824815B (zh) * | 2021-11-23 | 2022-04-08 | 广州市保伦电子有限公司 | 一种wsl2系统用的端口智能映射方法 |
-
2021
- 2021-11-23 CN CN202111389622.4A patent/CN113824815B/zh active Active
-
2022
- 2022-02-23 WO PCT/CN2022/077427 patent/WO2023092875A1/zh unknown
-
2024
- 2024-04-26 US US18/647,796 patent/US20240272889A1/en active Pending
Non-Patent Citations (6)
Title |
---|
HEEI: "《WSL2 与 Win10 固定host互相访问》", 《HTTPS://WWW.CNBLOGS.COM/HEEI/P/15407237.HTML》 * |
ICODE9: "《WSL2 与 Win10 固定host互相访问》", 《HTTPS://WWW.ICODE9.COM/CONTENT-4-1178375.HTML》 * |
压马路: "《WSL2设置端口映射》", 《URL:HTTPS://BLOG.CSDN.NET/KEYIIS_SH/ARTICLE/DETAILS/113819244;20210215》 * |
大鱼天: "《解决WIN 10 WSL2 IP地址经常变动导致docker容器无法正常访问》", 《HTTPS://BLOG.CSDN.NET/KFENG632/ARTICLE/DETAILS/105979109/》 * |
学亮编程手记: "《WSL端口映射到WIN》", 《URL:HTTPS://BLOG.CSDN.NET/A772304419/ARTICLE/DETAILS/120172587?UTM_MEDIUM=DISTRIBUTE.PC_RELEVANT.NONE-TASK-BLOG-2~DEFAULT~BAIDUJS_BAIDULANDINGWORD~DEFAULT-0.PC_RELEVANT_DEFAULT&SPM=1001.2101.3001.4242.1&UTM_RELEVANT_INDEX=3》 * |
码农教程: "《 WSL2 与 Win10 固定host互相访问》", 《HTTP://WWW.MANONGJC.COM/DETAIL/26-NDZSIJYKSIOEOHT.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092875A1 (zh) * | 2021-11-23 | 2023-06-01 | 广州市保伦电子有限公司 | 一种wsl2系统用的端口智能映射方法 |
WO2023193402A1 (zh) * | 2022-04-07 | 2023-10-12 | 广州市保伦电子有限公司 | 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113824815B (zh) | 2022-04-08 |
US20240272889A1 (en) | 2024-08-15 |
WO2023092875A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113824815B (zh) | 一种wsl2系统用的端口智能映射方法 | |
US20190332367A1 (en) | Method and apparatus for installing application | |
CN103544031B (zh) | 多分区外存储设备的Android系统升级方法和系统 | |
CN107577510B (zh) | 一种无盘环境下硬件驱动自动快速预装方法及系统 | |
CN108920725B (zh) | 一种对象存储的方法及对象存储网关 | |
CN106484719B (zh) | 一种扩展手机存储的方法及终端 | |
CN112764874B (zh) | 一种基于cmdb配置管理系统的虚拟机服务器信息采集方法 | |
CN111638916B (zh) | 一种用于数据取证的通用安卓移动终端驱动系统及方法 | |
WO2019148657A1 (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN112506616A (zh) | 一种基于云平台卷实现虚拟机跨云快速恢复的系统及方法 | |
CN108664255B (zh) | 一种软件升级方法及装置 | |
CN115629814A (zh) | 数据处理方法、装置和电子设备 | |
CN112860325A (zh) | 一种无盘环境下硬件驱动自动快速预装方法和系统 | |
CN104866388A (zh) | 数据处理方法及装置 | |
CN109922014B (zh) | 一种交换机冷热启动判断方法及系统 | |
CN117234781A (zh) | 一种设置选项的选项值修正方法、装置、设备及介质 | |
WO2016131294A1 (zh) | 版本升级处理方法及装置 | |
CN109561121B (zh) | 监控部署的方法及装置 | |
CN109101278B (zh) | 一种实现终端刷机的方法及装置 | |
CN116185706A (zh) | 数据备份方法、装置、计算及存储介质及电子设备 | |
CN111930707B (zh) | 一种windows云迁移的盘符修正方法及系统 | |
CN114253757A (zh) | 一种第三方系统接口对接的异常补偿方法 | |
CN111694727A (zh) | 一种网卡固件升降级测试方法、系统、终端及存储介质 | |
CN110333985B (zh) | 记录移动终端操作信息的方法和装置 | |
CN104579844B (zh) | 服务器测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Patentee after: Guangdong Baolun Electronics Co.,Ltd. Address before: No.19 Chuangyuan Road, Zhongcun street, Panyu District, Guangzhou, Guangdong 510000 Patentee before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |