basncy
V2EX  ›  Windows

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

  •  
  •   basncy · Jul 13, 2023 · 4825 views
    This topic created in 1212 days ago, the information mentioned may be changed or developed.
    只想把所有出站 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
    居然木有办法....
    27 replies  •  2024-05-24 09:25:50 +08:00
    iamwho
    iamwho
    Jul 13, 2023❤️1
    1
    话说清楚,是你搞不定,不是 Windows 搞不定。
    ysc3839
    ysc3839
    Jul 13, 2023 via Android
    2
    是的,Windows 的网络功能相比类 Unix 系统都少了很多的。部分功能(如 VLAN NAT)在 Windows Server 中有,非 Server 没有。还有一些高级功能则是 Server 也没有。
    gleox
    gleox
    Jul 13, 2023❤️1
    3
    可以用 netsh 的端口代理功能

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

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

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

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

    正确的方案应该用硬路由去做,或者基于哈佛架构的 ARM 的 OpenWRT 。
    flyqie
    flyqie
    Jul 13, 2023 via Android
    13
    @documentzhangx66 #12

    你这方案。。

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

    楼主也没说他设备就一定是 x86 啊,现在 windows 也有 arm 版,况且 openwrt 也是一个 linux 发行版。。
    duke807
    duke807
    Jul 13, 2023 via Android
    14
    把 windows 安装到 linux 主机的虚拟机里面
    JensenQian
    JensenQian
    Jul 13, 2023 via Android
    15
    整个 pve 里装 windows
    yungo8
    yungo8
    Jul 14, 2023 via Android
    16
    搞个虚拟网卡,可以将指定出栈 ip 转发到某个 destination ,不确定是不是可以将所有 ip
    zed1018
    zed1018
    Jul 14, 2023
    17
    你这个不就是 clash tun 么(
    sujin190
    sujin190
    Jul 14, 2023 via Android
    18
    或许用 proxifier 按应用程序拦截应该是比较容易的方案了吧
    documentzhangx66
    documentzhangx66
    Jul 14, 2023
    19
    @flyqie

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

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

    用正确的工具,做正确的事,不要浪费时间去钻牛角尖,这才是王者办事的准则。当然,科研除外。
    roofs
    roofs
    Jul 14, 2023
    20
    黄老爷!!!
    roofs
    roofs
    Jul 14, 2023
    21
    @gleox 黄老爷!!!
    kenvix
    kenvix
    Jul 14, 2023
    22
    Windows 的网络功能确实垃圾,我到现在都不知道在 Windows 上怎么做 NAT66
    hez2010
    hez2010
    Jul 26, 2023
    23
    Windows 在 XP 之前还是暴露了完整的用户态操作 socket 网络栈的能力的,从 Vista 开始因为这么搞容易被病毒利用于是就把用户态能干的事情砍的剩不了多少了。
    现在如果你想自定义 Windows 的网络栈的话,可能唯一方法是编写 Windows 驱动。
    hez2010
    hez2010
    Jul 26, 2023
    24
    有一个简单的方法是你可以安装 npcap ,npcap 在 Windows 上实现了个自己的驱动,然后你利用 npcap 的 sdk 进行开发就能不需要碰内核态代码也能做到自己想做的东西。
    Subfire
    Subfire
    May 14, 2024
    25
    实现出站转发的一种方式
    比如:
    已经打好的游戏 APK 安装包, 游戏登录服的地址是无法修改的
    这时候用这个 APK 安装包安装的游戏, 如何连上其他登录服(私服)
    1. SocksCap 添加一个代理:
    代理地址:127.0.0.1 端口:8888 代理类型:HTTP
    2, Fiddler 修改 ip 映射: > 工具 > Hosts 管理 > 勾选"用一台主机到另一台主机",并添加以下:
    192.168.10.79:8000 192.168.0.145:8000
    127.0.0.1:8000 192.168.0.145:8000
    Subfire
    Subfire
    May 14, 2024
    26
    还有一个就是现成的工具, 比如 https://www.verigio.com/products/multi-port-forwarder/default
    xiaoriri666
    xiaoriri666
    May 24, 2024
    27
    @Subfire #26 老哥可以请教下怎么用吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2304 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 11:45 · PVG 19:45 · LAX 03:45 · JFK 06:45
    ♥ Do have faith in what you're doing.