1 cnbatch 2022-06-24 00:47:01 +08:00 ![]() 如果你用过 wireguard 和 OpenVPN 之类的虚拟网卡 VPN ,并且在这些 VPN 连接完成后看过路由表,就会发现他们的做法跟你的一样,专门针对远程服务器 IP 单独设一条路由,走原先的路径。断开连接后,再恢复回去。 每切换一次远程节点,都要更新一次路由表。 所以,既然选择了虚拟网卡的方式,那么更新路由表并没什么不妥。 |
![]() | 2 gfreezy 2022-06-24 00:54:37 +08:00 via iPhone 可以用 fakedns 的方法,把需要走 tun 的域名全部解析到一个特殊的网段,这个网段的 IP 在路由到 tun |
![]() | 3 kennylam777 2022-06-24 05:34:03 +08:00 Routing table 可以自定的,不必去 Main 。 ip route --help 看看 另外可以用 ip rule 指定段使用自定的 routing table |
![]() | 4 kennylam777 2022-06-24 05:35:57 +08:00 噢,看到了是 Windows ,那法了,OpenVPN 也是把 remote server 的 IP x.x.x.x/32 via y.y.y.y 加到 routing table 後才加 0.0.0.0/0 的 |
![]() | 5 nojsja OP @gfreezy #2 这个倒是了解过,考虑加入支持,但只能解决域名访问的问题。另外多级 dns 缓存的情况下好像仍有 dns 污染的问题,虽然已经设置 TTL 为 1 。 |
![]() | 6 nojsja OP @kennylam777 #4 linux 就没这么多麻烦事儿了 |
![]() | 7 kennylam777 2022-06-24 07:19:39 +08:00 |
![]() | 9 gfreezy 2022-06-24 08:23:35 +08:00 via iPhone @kennylam777 每个域名分配唯一 IP 好像就可以了 |
10 lovelylain 2022-06-24 09:04:21 +08:00 via Android ![]() 本机透明代理是一个难解的难题,之前也折腾过,给局域网内其他 ip 代理或者 bridge 容器内代理都好实现,但是本机或 host 容器把本机路由全导给代理,代理本身又要走原来网关出去,目标 ip 固定还好说,但是我是代理内部做分流, |
![]() | 11 Ehco1996 2022-06-24 09:06:38 +08:00 ![]() 可以看一下 clash fake-ip 的实现 |
13 caobug 2022-06-24 11:12:13 +08:00 via iPhone 直接用 wintun |
14 sslyd 2022-06-24 11:14:05 +08:00 用一条静态路由指定 ss-server?? |
15 ty359 2022-06-24 18:21:12 +08:00 我弱弱的问一句,shadowsocks 图形化客户端的全局代理是怎么实现的么 |
![]() | 16 nojsja OP @ty359 #15 那个是操作系统提供的 proxy 接口,通过系统设置界面自定义 http 或 socks 代理地址和端口就行。不过一般只能浏览器用,而且只能代理 tcp 流量。 |
![]() | 18 yaott2020 2022-06-25 09:08:51 +08:00 via Android 没啥好的办法,14 楼算是目前最普遍的方式了。linux 下倒是可以用 uid/gid mark 来规避 |
![]() | 20 gfreezy 2024-04-04 22:04:12 +08:00 @liufengsoft722 fakedns ,需要将需要中转的域名都解析道 10.11.*.* ,然后 10.11.*.* 这个网段的 ip 都路由到 tun 。 自己实现一个 dns 服务器,然后将本机 dns ip 设置为自己服务器启动的地址。 |