小弟最近在看《鸟哥的 linux 私房菜》,就用 virtual box 装了个 ubuntu 20.04 研究研究。 网络环境使用的是桥接模式(很奇怪,用 NAT 模式获取不到 IP,明明 DHCP 开了),桥接模式下访问外网是没问题,但是我还想让 ubuntu 走我的 clash 代理。 于是在惯性思维下,我直接开启了 proxifier 试图接管虚拟机的流量,却发现 proxifier 的 app list 里根本没有虚拟机的相关进程,是因为桥接模式本就如此吗,由于 NAT 无法获取 IP,也无法做对照实验,望各位赐教,感谢!
1
xeathen OP 换行符为什么丢失了,这糟糕的排版,对不起大家
|
2
NilChan 2021-04-07 12:56:15 +08:00 via Android
桥接应该不能的了。不同网络栈。
|
3
Darkatse 2021-04-07 15:30:55 +08:00 via Android
clash 直接用 tun/tap 就可以了,大可不必用 proxifier
|
4
iloveayu 2021-04-07 15:43:28 +08:00
2 楼正解,proxifier 只能在同系统内应用层拦截流量。
|
6
xeathen OP |
7
ryansvn 2021-04-07 16:45:35 +08:00
虚拟机走的应该是虚拟网卡,所以不是按照进程来设置网络代理的
|
8
JJstyle 2021-04-07 16:56:37 +08:00
Q: 发现 proxifier 的 app list 里根本没有虚拟机的相关进程,是因为桥接模式本就如此吗
A: 是的,桥接模式下的 guest 相当于是一个新的设备,就像 proxifier 无法检测到你的局域网下的手机的网络请求一样。 我的做法是弄两个网卡,可以参考我以前的帖子: /t/732615 |
9
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 先按这七步检查一下 |
10
hxy100 2021-04-08 19:33:17 +08:00
proxifier 是通过注入进程和驱动过滤器的形式实现拦截流量的,也就是他的拦截功能一般只对 exe 有效,如果需要拦截更底层的流量,需要支持创建虚拟网卡的软件,以 TUN/TAP 模式实施拦截。推荐 Netch,可以完美解决你的问题。
https://github.com/NetchX/Netch |
11
nuk 2021-04-09 03:29:42 +08:00
winsock 和 NDIS 了解一下?
|