V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nyxsonsleep
V2EX  ›  问与答

虚拟机怎么给另一个虚拟机代理

  •  
  •   nyxsonsleep · 2023-06-11 21:42:56 +08:00 · 1218 次点击
    这是一个创建于 527 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我希望 windows 所有流量经过 openwrt ,由 openwrt 来决定分流。

    现在我部署了一个 windows 虚拟机和一个 openwrt 虚拟机。

    两个都在虚拟机 nat 网络下,openwrt 在 nat 网里连接到了网关,所以现在 openwrt 已经连上 internet ,但是我不知道该怎么让 windows 连上 openwrt 了,两个能互 ping ,ipv4 里直接设定 openwrt 的 ip 为网关连不上网。

    应该是要给 openwrt 设置什么吧,搜了半天,解决不过去了。

    版本:openwrt-22.03

    16 条回复    2023-06-11 23:02:11 +08:00
    gzlock
        1
    gzlock  
       2023-06-11 21:44:33 +08:00
    openwrt 虚拟机开 socket 代理给 windows 虚拟机用
    pagxir
        2
    pagxir  
       2023-06-11 21:45:55 +08:00 via Android   ❤️ 1
    openwrt 没开路由转发吧
    nyxsonsleep
        3
    nyxsonsleep  
    OP
       2023-06-11 21:46:18 +08:00
    @gzlock #1 这个是要 windows 配系统代理是吧。有的应用不走系统代理,才有的这个需求。
    stcQ2G13k9yxep40
        4
    stcQ2G13k9yxep40  
       2023-06-11 22:05:18 +08:00 via iPhone
    网卡用啥 NAT 模式,直接使用本地物理网络,所有虚拟机都跟宿主机在同一个网段,就解决了。
    linuxgo
        5
    linuxgo  
       2023-06-11 22:05:26 +08:00
    把 windows 的网关设为 op 就可以了呀
    nyxsonsleep
        6
    nyxsonsleep  
    OP
       2023-06-11 22:21:32 +08:00
    @linuxgo #5 不行,上不了网。
    我试过网关是 op 的 ip ,windows 的地址无论是设置成独立的还是 op 的 ip ,dns 也设置过了。都连不上网。
    nyxsonsleep
        7
    nyxsonsleep  
    OP
       2023-06-11 22:22:29 +08:00
    @qishouvip2022 #4 没看懂,我需要的是给一个虚拟机做透明代理,和宿主机在不在同一个网段有什么影响吗?
    linuxgo
        8
    linuxgo  
       2023-06-11 22:28:36 +08:00   ❤️ 1
    @nyxsonsleep #6 相当于用 op 做旁路由。op 做 windows 的网关,然后 op 的网关指向路由器,确实没错呀,我以前用 op 的时候就是这样用的。不行的话,你可以试试换个 op 的固件,有些固件编译可能有 bug
    stcQ2G13k9yxep40
        9
    stcQ2G13k9yxep40  
       2023-06-11 22:36:37 +08:00 via iPhone
    @nyxsonsleep openwrt 做旁路由只能在同一个局域网,同一个网段下,你这都经过一层 NAT 了,windows 的网关没法指定为 op 的啊。
    0o0O0o0O0o
        10
    0o0O0o0O0o  
       2023-06-11 22:37:11 +08:00   ❤️ 1
    桥接的话就是旁路由的方式,网上搜下就行

    我的用途比较特别,所以我是这样:
    - 当 router 的虚拟机添加两张网卡,在 virtualbox 分别叫做 NAT 模式和 Internal Network ,在 vmware 分别叫做 NAT 模式和 LAN segment ,配置 DNS Server 、DHCP Server 、forward 规则等等
    - 当 client 的虚拟机添加一张网卡,也就是 router 里添加的 Internal Network 或 LAN segment

    (简陋版 Whonix )
    nyxsonsleep
        11
    nyxsonsleep  
    OP
       2023-06-11 22:44:53 +08:00
    @qishouvip2022 #9 windows 和 op 在 vmware 的 nat 下,是同一个网段。
    yuanix
        12
    yuanix  
       2023-06-11 22:51:45 +08:00 via Android   ❤️ 1
    桥接到物理网卡
    nyxsonsleep
        13
    nyxsonsleep  
    OP
       2023-06-11 22:56:19 +08:00
    @pagxir #2 好像是这么回事,开了转发之后我连上网了。
    根据这位老哥的提点,我配合 gpt 把 openwrt 的路由转发打开了。
    这个 nftable 实在是难搞。
    nyxsonsleep
        14
    nyxsonsleep  
    OP
       2023-06-11 23:00:48 +08:00
    @yuanix #12 确实如此,需要桥接一个在本地,另一个虚拟网卡在 nat 。
    能请教一下为什么需要桥接一个网卡到本地吗?
    我是这么想的,vmware 的 nat 本身就有一个网关(否则这些虚拟机在非桥接情况下也上不了网),那么我只需要用 op 转发 windows 的请求到 vmware 的网关,做一遍代理分流即可。试了半天都不行。
    但是好像没有相关的资料,我对计算机网络不是非常熟悉,也可能是搞错了什么。
    nyxsonsleep
        15
    nyxsonsleep  
    OP
       2023-06-11 23:00:53 +08:00
    @0o0O0o0O0o #10 确实如此,需要桥接一个在本地,另一个虚拟网卡在 nat 。
    能请教一下为什么需要桥接一个网卡到本地吗?
    我是这么想的,vmware 的 nat 本身就有一个网关(否则这些虚拟机在非桥接情况下也上不了网),那么我只需要用 op 转发 windows 的请求到 vmware 的网关,做一遍代理分流即可。试了半天都不行。
    但是好像没有相关的资料,我对计算机网络不是非常熟悉,也可能是搞错了什么。
    nyxsonsleep
        16
    nyxsonsleep  
    OP
       2023-06-11 23:02:11 +08:00
    @linuxgo #8 我之前只用了一个 nat 的虚拟网卡,想要直接转发到 vmware 的网关里去,好像不成功。现在用桥接+nat 虚拟网卡做路由转发成功了。
    感谢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3176 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:16 · PVG 21:16 · LAX 05:16 · JFK 08:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.