首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Windows端口转发到WSL2

将Windows端口转发到WSL2
EN

Unix & Linux用户
提问于 2023-05-25 12:38:13
回答 1查看 26关注 0票数 -2

我有一个用例,在这个用例中,我在Windows和WSL2上都进行了开发,并且需要使.NET应用程序能够在端口44301的Windows上服务,并且可以从本地主机上的WSL2 (Ubuntu)访问:44301。

我知道Windows主机有一个可以从WSL2内部访问的IP (这可以用grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'发现),但这不是我想要实现的。我想做的是将windows上的44301端口转发到localhost:44301在WSL2上

EN

回答 1

Unix & Linux用户

发布于 2023-05-25 13:07:37

我对WSL2不太了解,但在真正的Linux上,您可能会这样做:

代码语言:javascript
复制
#!/bin/sh
SERVERIP=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}')

# Turn on the IPv4 packet forwarding master switch
sysctl net.ipv4.ip_forward=1

# Change the destination of TCP packets arriving to loopback interface's
# port 44301 to the same port on the actual Windows server
iptables -t nat -A PREROUTING -i lo -p tcp --dport 44301 -j DNAT --to-destination $SERVERIP

# Allow the forwarding of any existing forwarded connections
# (to ensure replies from the Windows server are also allowed)
iptables -t filter -A FORWARD -m conntrack --ctstate ESTABLISHED -j ACCEPT

# Allow the forwarding of connections arriving to loopback TCP port 44301
iptables -t filter -A FORWARD -p tcp -i lo --dport 44301 -j ACCEPT
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/747003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档