科学上网,服务器上开透明代理方法很多,但是如何才能不代理本机

2023-01-09 18:15:46 +08:00
 wanmyj

centos 做家庭服务器,现在需要给 XBOX 科学上网,我可以在服务器上装一个 clash ,不管是用透明代理,还是 socks/http 代理,给 XBOX 科学上网的需求可以满足,但是这会让我的服务器上网也走 clash ,这不是我所希望的。

所以能不能完成这个需求,就是服务器上搭建透明网关或者 http/socks 代理服务,提供给同一局域网内其他设备上网,但服务器本身的上网选择直连路由器。

我有想过一个方法,但是有点麻烦而且需要 vlan 交换机,多占一个端口(因为路由器不支持 vlan)。就是已有默认 vlan 的 ip1 ,再新建一个 vlan2 interface ,虚拟 mac 获取 IP 地址 ip2 。服务器上网用默认 vlan ,代理建立在 vlan2 的 ip2 上,隔离两个网络。

所以请教下 v2 的大佬们,多谢多谢

2624 次点击
所在节点    宽带症候群
33 条回复
wanmyj
2023-01-10 11:31:21 +08:00
@fish3125 只修改 dns 就可以决定哪些机器不走代理,这个是什么原理,怎么做到的,愿闻其详
virualv
2023-01-10 11:47:56 +08:00
xray 可以,但是切节点比较费事
fish3125
2023-01-10 11:47:57 +08:00
1. 把 dns 解析转发给 clash 的 dns 端口。然后 clash 会按照你在 clash 里的规则来返回正常或者 fakeip 。
我是用 adg 只把 gfw 列表转发给 clash ,让 clash 的 dns 返回的全是 fakeip 。

2. 如果用开源的 clash ,没有 tun 模式,但是可以把 fakeip 转发给 clash 的 redir-port ,内部会自动完成正确域名的转换。
iptables -t nat -A OUTPUT -p tcp -d 198.18.0.0/16 -j REDIRECT --to-port 8088
iptables -t nat -A PREROUTING -p tcp -d 198.18.0.0/16 -j REDIRECT --to-port 8088 #把 ip 段重定向到 clash 的 redir-port

只要解析不经过 clash 的 dns ,就不会走透明代理。
fish3125
2023-01-10 11:55:31 +08:00
fakeip 模式个人使用下来比使用 ipset 来创建 ip 集合的模式稳定,
让 clash 的 dns 返回的全是 fakeip ,clash 的配置文档也只需要添加
```
dns:
enable: true
listen: 0.0.0.0:8088
enhanced-mode: fake-ip
nameserver:
- 8.8.8.8
```
fish3125
2023-01-10 12:00:23 +08:00
修改下,端口打错了。。
fakeip 模式个人使用下来比使用 ipset 来创建 ip 集合的模式稳定,
让 clash 的 dns 返回的全是 fakeip ,clash 的配置文档也只需要添加
```
dns:
enable: true
listen: 0.0.0.0:8089 #这个是 clash 的 dns 端口,
enhanced-mode: fake-ip
nameserver:
- 8.8.8.8
```
strp
2023-01-10 13:05:04 +08:00
开个 4C2G 虚拟机装 OpenWrt ,上面挂 ShadowsocksR Plus+,哪个设备需要翻墙哪个设备就网关指向 OP ,你路由器支持的话还可以在设置里修改 DHCP 服务器分配网关为 OP 的地址,简单旁路由就这样做好啦。
systemcall
2023-01-10 19:47:37 +08:00
clash 和 v2ray 默认不就是只开一个 http/socks 代理吗?
你的需求很简单,不要用什么整合了一大堆功能的软件,只用 clash 或者 v2ray 本身,自己写个脚本生成配置文件就好了
没有用过 xbox ,我只能说 ps 和 steam deck 是可以直接走 http 或者 socks 代理的。设备上面手动配置一下就可以了
可能需要在防火墙里面放行对应端口
Penguium
2023-01-11 00:04:06 +08:00
直接规则里加一条服务器 ip 直连就行了吧
mmdsun
2023-01-11 13:00:25 +08:00
现在没玩软路由了。我是家用路由器刷的梅林固件,来加速 Xbox 游戏机的。猫咪插件默认不代理路由器自身流量
sbmzhcn
223 天前
请问这个如何解决的,开启 v2ray 后,希望默认不要走透明代理,我发现全部流量都经过了 tproxy ,我想默认直连,不经过 v2ray, 连接端口 10801 时才走 v2ray
wanmyj
223 天前
@sbmzhcn 我后来把 iptable 重新学习了一遍,参考 @LGA1150 的回答。
这个要看一下自己的 iptables ,看下 TPROXY 规则插入的位置和内容。

当时弄了一圈虽然弄好了,但感觉挺麻烦的,后来直接不管这个了,时间和学习代价太高,收益低。
sbmzhcn
222 天前
@wanmyj 谢谢回答,这个应该挺麻烦的,我看了下自己机器 Centos7 iptables 是空的,所以不明白它怎么实现所有的流量走 v2ray 的,答案还是需要搞 iptables
wanmyj
221 天前
@sbmzhcn iptables 如果全是空,肯定是无法实现代理的。如果已经实现了本机代理,你要看下你 iptables 的 PREROUTING 和 OUTPUT 的几张表,里面应该有内容

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

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

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

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

© 2021 V2EX