跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请问各位大佬, windows 下可以实现这种 ip 转发的效果吗
未分類
26 6 月 2020

请问各位大佬, windows 下可以实现这种 ip 转发的效果吗

请问各位大佬, windows 下可以实现这种 ip 转发的效果吗

資深大佬 : Saurichthys 8

A: 10.10.10.11 B: 10.10.10.12 C: 10.72:74:74

服务器 A 和 B 是相同的局域网,B 可以通过 C 一个端口(比如 8888)进行 TCP 访问,且 B 只能访问 C,C 不能主动访问 B,A 和 C 是不相通的。

要实现在 A 服务器中访问 C 服务器的地址请求,实现 10.10.10.11 -> 10.72:74:74,访问地址为 http:// 10.72:74:74:8888/api 。 请问 A 服务器如何监听请求的 ip 为 10.72:74:74,把 10.72:74:74 转换成请求 10.10.10.12 的 8888 端口就可以, 请问有什么技术可以实现这样子的功能吗,各位大佬们

大佬有話說 (20)

  • 資深大佬 : laoyur

    要不试试在 A 机器上添加静态路由?

    route add 10.72:74:0 MASK 255.255.255.0 10.10.10.12

  • 資深大佬 : diguoemo

    sokit 里面带的转发器功能可以用,去找个 sokit win32 版本

  • 資深大佬 : Jirajine

    Windows 不清楚,Linux 系统你可以这样做:
    A 上添加路由:
    ip route add 10.72.74.74 via 10.0.0.12
    B 上打开转发和 masquerade
    sysctl -w net.ipv4.ip_forward=1
    iptables -I FORWARD -J ACCEPT
    iptables -t nat -A POSTROUTING -i <与 A 相连的接口名称> -J MASQUERADE

  • 資深大佬 : imn1

    我怎么看看看着,B 就像个 proxy ?
    你这里只写了 AB 是相同局域网,没写 B 有没有开放给 A 访问呢

  • 主 資深大佬 : Saurichthys

    @laoyur 大佬试了不行唉
    @Jirajine 尴尬了 都是 windows server 服务器
    @imn1 A 和 B 都是同个局域网的,都是可以自由访问的

  • 資深大佬 : tomczhen

    HTTP 反向代理可以用 IIS 的 ARR 模块来做。如果是基于 IP 的路由,Windows 也有路由功能模块,开启配置就行。

    建议是如果仅仅因为路由表问题,那么调整本地路由表更简单。如果仅需要代理 HTTP 协议,那么用 IIS 反代更简单。

  • 資深大佬 : Jirajine

    @Saurichthys Windows 也有 nat 和路由转发功能,具体怎么打开你需要查一下文档。
    或者如果能接受的话用传输层转发,随便什么反代、端口转发工具都可以。

  • 主 資深大佬 : Saurichthys

    @tomczhen 你好大佬,这应该不是反向代理 A 服务器只能请求 C 服务器的地址( 10.72:74:74:8888 ),而不能通过请求直接请求 B 服务器达到效果

  • 資深大佬 : imn1

    如果你能操控 B,事情很简单,把 C:8888 监听转发到 B:某个端口对外监听,一般隧道工具就可以,高级点就上面各位说的添加路由(这个对我超纲),所以我说 B 像个 proxy 。反正你现在就缺在 B 上设置一个监听,并把数据转发给 C,就是这个意思

  • 主 資深大佬 : Saurichthys

    @imn1 大佬的意思还是 从 A 请求 B 然后实现 A 请求 C 的效果,我的意思是要实现 A 请求 C 实现 A 请求 B 的效果,协议是 TCP 协议,另外发现有一个 v2 文章就是讨论这个,但是没有结果,https://www.v2ex.com/amp/t/421219

  • 資深大佬 : Xusually

    B 上开个反向代理就可以了,nginx 之类的,几行配置

  • 主 資深大佬 : Saurichthys

    @Xusually 你好,A 是不直接请求 B 的,在 B 开一个反向代理行得通吗

  • 資深大佬 : Xusually

    哦,仔细看了一下,你需要的是在 A 本身可能代码不改动的情况下,自己劫持自己的访问,把对 C 的访问,自己更改成对 B 的中转访问,B 获取后给 A 。
    那么,B 上面还是需要一个反代,或者转发。
    A 上面需要对网络做处理,实现的方式也很多呀,最简单的还是在 A 上开个代理服务器,过滤 C 的请求,单独代理

    感觉主你这是要共享某些鉴权啊。。。手动狗头.jpg

  • 資深大佬 : imn1

    @Saurichthys #10
    还是 proxy,Sorry,我只懂 http,其他协议你自己举一反三吧
    1.是改 A 的 DNS 请求,把 C 指向 B,你这个情况好像不适用
    2.接管 A 的请求,把 C 的请求指向 B,一是 redir 工具,二是 proxy 工具
    原则都是自我劫持 A 的请求,遇到 filter 指定的就更改目标 host,当然 B 上面要有相关监听端口转发

    C 是 google,A 在墙内,B 在墙外,不就跟你的需求一样么?你搞定协议问题就行了

  • 資深大佬 : yongbeili

    b 上管理员执行
    netsh interface portproxy add v4tov4 listenaddress=10.10.10.12 listenport=8888 connectaddress=10.72.74.74 connectport=74
    然后 a 直接访问 10.10.10.12:8888

  • 主 資深大佬 : Saurichthys

    @Xusually 哈哈是的 方便某些操作而已啦
    @imn1 现在就是要劫持自己的请求,请问劫持请求这块有什么工具
    @yongbeili 大佬 就是 A 不能直接访问 B 啦

  • 資深大佬 : takemeaway

    A 不能访问 B ? 局域网都不能访问? 你这不是逗吗?

  • 資深大佬 : imn1

    @takemeaway #17
    他的意思 A 上面的某个(些)软件已经写死了,是直接请求访问 C,他现在没法改这个软件请求,只能用工具绕路

    @Saurichthys #16
    基本 socks 类的 proxy 软件都能做全局 proxy,不过需要带一个 filter (例如 pac )把其他请求排除

  • 資深大佬 : mingl0280

    windows 非服务器防火墙配置下转发规则。
    winserver 请打开路由和远程访问功能配一下 NAT.

  • 資深大佬 : mingl0280

    另外还有 proxifier 可以用

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具