不懂就问, proxifier 能直接接管桥接模式下的虚拟机吗?

2021-04-07 12:50:22 +08:00
 xeathen

小弟最近在看《鸟哥的 linux 私房菜》,就用 virtual box 装了个 ubuntu 20.04 研究研究。 网络环境使用的是桥接模式(很奇怪,用 NAT 模式获取不到 IP,明明 DHCP 开了),桥接模式下访问外网是没问题,但是我还想让 ubuntu 走我的 clash 代理。 于是在惯性思维下,我直接开启了 proxifier 试图接管虚拟机的流量,却发现 proxifier 的 app list 里根本没有虚拟机的相关进程,是因为桥接模式本就如此吗,由于 NAT 无法获取 IP,也无法做对照实验,望各位赐教,感谢!

3551 次点击
所在节点    宽带症候群
12 条回复
xeathen
2021-04-07 12:51:26 +08:00
换行符为什么丢失了,这糟糕的排版,对不起大家
NilChan
2021-04-07 12:56:15 +08:00
桥接应该不能的了。不同网络栈。
Darkatse
2021-04-07 15:30:55 +08:00
clash 直接用 tun/tap 就可以了,大可不必用 proxifier
iloveayu
2021-04-07 15:43:28 +08:00
2 楼正解,proxifier 只能在同系统内应用层拦截流量。
xeathen
2021-04-07 15:43:45 +08:00
@Darkatse tun 模式下就能接管桥接模式下的流量了吗
xeathen
2021-04-07 16:22:37 +08:00
@iloveayu @NilChan 感谢解答,还有一个问题问下大佬们,我 NAT 模式下获取不到 IP 可能是哪些原因呢?
ryansvn
2021-04-07 16:45:35 +08:00
虚拟机走的应该是虚拟网卡,所以不是按照进程来设置网络代理的
JJstyle
2021-04-07 16:56:37 +08:00
Q: 发现 proxifier 的 app list 里根本没有虚拟机的相关进程,是因为桥接模式本就如此吗
A: 是的,桥接模式下的 guest 相当于是一个新的设备,就像 proxifier 无法检测到你的局域网下的手机的网络请求一样。

我的做法是弄两个网卡,可以参考我以前的帖子: /t/732615
no1xsyzy
2021-04-07 19:23:23 +08:00
网络接口的命名空间不同,就是 NAT 模式也没有虚拟机相关进程
TUN 模式下你可以把你的宿主机当网关,把虚拟机网关调到你的宿主机上,此时宿主机是一个旁路由。

关于 NAT 模式下获取不到 IP,任何 Linux 问题你永远可以找 Arch Linux Wiki 帮忙,就算你不是 Arch,也能找到差不多的答案。
https://wiki.archlinux.org/index.php/Network_configuration#Check_the_connection
先按这七步检查一下
hxy100
2021-04-08 19:33:17 +08:00
proxifier 是通过注入进程和驱动过滤器的形式实现拦截流量的,也就是他的拦截功能一般只对 exe 有效,如果需要拦截更底层的流量,需要支持创建虚拟网卡的软件,以 TUN/TAP 模式实施拦截。推荐 Netch,可以完美解决你的问题。
https://github.com/NetchX/Netch
nuk
2021-04-09 03:29:42 +08:00
winsock 和 NDIS 了解一下?
xeathen
2021-04-09 17:08:58 +08:00
@nuk 感谢,我去补下知识
@hxy100 感谢解答,去试试 netch

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

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

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

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

© 2021 V2EX