windows 居然搞不定出站端口转发...

2023-07-13 18:18:34 +08:00
 basncy
只想把所有出站 tcp 443 转发到 1.2.3.4:8443, 类似于 linux 下的
iptables -t nat -A OUTPUT -p tcp -m tcp --dport 443 -j DNAT --to-destination 1.2.3.4:8443
居然木有办法....
3498 次点击
所在节点    Windows
27 条回复
iamwho
2023-07-13 18:29:29 +08:00
话说清楚,是你搞不定,不是 Windows 搞不定。
ysc3839
2023-07-13 18:32:29 +08:00
是的,Windows 的网络功能相比类 Unix 系统都少了很多的。部分功能(如 VLAN NAT)在 Windows Server 中有,非 Server 没有。还有一些高级功能则是 Server 也没有。
gleox
2023-07-13 18:44:54 +08:00
可以用 netsh 的端口代理功能

```ps1
# 以管理员身份运行
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=443 connectaddress=1.2.3.4 connectport=8443
```
gleox
2023-07-13 18:46:51 +08:00
没注意审题,出站啊
yinmin
2023-07-13 18:51:07 +08:00
纯微软方案:iis+arr+rewrite ,具体部署可以问 chatgpt
tool2d
2023-07-13 18:57:26 +08:00
可以的,需要安装一个第三方的 ip 包过滤和拦截器驱动。
windows 没有自带。
basncy
2023-07-13 18:58:22 +08:00
@yinmin 网络层的东西, 不想放到应用层去做. 某些设备不能动, 要不然一个 pac 文件就搞定的.
yinmin
2023-07-13 19:00:26 +08:00
windows 做 nat ,在“路由与远程访问”里配置。如果做 tcp 转发(四层)见 3 楼,如果做 https 转发(七层)见 5 楼,都是纯微软方案
ysc3839
2023-07-13 19:02:42 +08:00
@tool2d 内核层面一般是可以的,主要问题是没自带。

如果使用第三方的话,也许可以考虑一下 eBPF for Windows ? https://github.com/microsoft/ebpf-for-windows
不过我不知道能否用来转发包。
mohumohu
2023-07-13 19:15:39 +08:00
一条 gost 命令就搞定了
basncy
2023-07-13 19:26:03 +08:00
3 楼是入站转发, 5 楼的工作在 1.2.3.4:8443 做了... 需要把 https 数据发给 1.2.3.4:8443
装三方 app 有合规风险.

想了一下, 还是 1.改 dns 得到选择性泛解析,2.配合 3 楼. 两行基础命令, 方便无风险.
documentzhangx66
2023-07-13 20:00:19 +08:00
楼主的问题在于选错了方案。

任何东西都有自己的优缺点,都有自己的适用场景。Windows 的确不合适做这个事情,但 x86 的 Linux 其实也不合适。

正确的方案应该用硬路由去做,或者基于哈佛架构的 ARM 的 OpenWRT 。
flyqie
2023-07-13 23:20:29 +08:00
@documentzhangx66 #12

你这方案。。

楼主可能只想在本地做下转发,你这一下就给楼主怼到路由设备上了。。

楼主也没说他设备就一定是 x86 啊,现在 windows 也有 arm 版,况且 openwrt 也是一个 linux 发行版。。
duke807
2023-07-13 23:35:57 +08:00
把 windows 安装到 linux 主机的虚拟机里面
JensenQian
2023-07-13 23:52:48 +08:00
整个 pve 里装 windows
yeqizhang
2023-07-14 01:20:58 +08:00
搞个虚拟网卡,可以将指定出栈 ip 转发到某个 destination ,不确定是不是可以将所有 ip
zed1018
2023-07-14 08:52:02 +08:00
你这个不就是 clash tun 么(
sujin190
2023-07-14 08:57:51 +08:00
或许用 proxifier 按应用程序拦截应该是比较容易的方案了吧
documentzhangx66
2023-07-14 09:00:08 +08:00
@flyqie

不要觉得 [只想做 XXXX] 这种需求很简单。

比如我只想在小米 K50Pro 手机上玩绝地求生,你觉得我这需求,真的只是 [只想] 级别?

用正确的工具,做正确的事,不要浪费时间去钻牛角尖,这才是王者办事的准则。当然,科研除外。
roofs
2023-07-14 10:09:01 +08:00
黄老爷!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/956547

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX