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

2023-06-11 21:42:56 +08:00
 nyxsonsleep

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

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

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

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

版本:openwrt-22.03

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

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

(简陋版 Whonix )
nyxsonsleep
2023-06-11 22:44:53 +08:00
@qishouvip2022 #9 windows 和 op 在 vmware 的 nat 下,是同一个网段。
yuanix
2023-06-11 22:51:45 +08:00
桥接到物理网卡
nyxsonsleep
2023-06-11 22:56:19 +08:00
@pagxir #2 好像是这么回事,开了转发之后我连上网了。
根据这位老哥的提点,我配合 gpt 把 openwrt 的路由转发打开了。
这个 nftable 实在是难搞。
nyxsonsleep
2023-06-11 23:00:48 +08:00
@yuanix #12 确实如此,需要桥接一个在本地,另一个虚拟网卡在 nat 。
能请教一下为什么需要桥接一个网卡到本地吗?
我是这么想的,vmware 的 nat 本身就有一个网关(否则这些虚拟机在非桥接情况下也上不了网),那么我只需要用 op 转发 windows 的请求到 vmware 的网关,做一遍代理分流即可。试了半天都不行。
但是好像没有相关的资料,我对计算机网络不是非常熟悉,也可能是搞错了什么。
nyxsonsleep
2023-06-11 23:00:53 +08:00
@0o0O0o0O0o #10 确实如此,需要桥接一个在本地,另一个虚拟网卡在 nat 。
能请教一下为什么需要桥接一个网卡到本地吗?
我是这么想的,vmware 的 nat 本身就有一个网关(否则这些虚拟机在非桥接情况下也上不了网),那么我只需要用 op 转发 windows 的请求到 vmware 的网关,做一遍代理分流即可。试了半天都不行。
但是好像没有相关的资料,我对计算机网络不是非常熟悉,也可能是搞错了什么。
nyxsonsleep
2023-06-11 23:02:11 +08:00
@linuxgo #8 我之前只用了一个 nat 的虚拟网卡,想要直接转发到 vmware 的网关里去,好像不成功。现在用桥接+nat 虚拟网卡做路由转发成功了。
感谢。

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

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

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

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

© 2021 V2EX