最近买了个大陆境内的 VPS ,准备给自己做个内网穿透和反向代理之类的服务,然后就令人头疼了。各种下载依赖什么的实在是太糟心了,很多程序又不使用环境变量里设的代理,所以想搞个全局代理。
我试着用 iptables 弄了一下,全局代理是实现了,但是 SSH 就连不上了。我思来想去,单靠这台 VPS 自己是不是没法实现全局代理?毕竟在 OSI 里,三层好像不分请求和响应,就分不出来哪些是本机作为 cilent 的,那些是本机作为 server 的。
另外,我的这个是 NAT VPS ,应该没啥影响吧?
实在是研究不出啥东西了,求大佬给个方案。
1
titanium98118 2022-10-20 15:36:25 +08:00 1
把 iptables 的 Output 链重定向到透明代理的端口就可以了。
如:iptables -t nat -A OUTPUT -p tcp --dport 80:443 -j REDIRECT --to-ports 1080 但网友都说国内 VPS 不让跑这类软件?我没有国内 vps 不太清楚。 |
2
7RTDKSAK 2022-10-20 15:54:11 +08:00
删机封号警告
|
3
IvanLi127 OP |
4
northbrunv 2022-10-20 17:41:41 +08:00 1
wireguard 或者 open 威皮恩
|
5
yaott2020 2022-10-20 18:11:38 +08:00 via Android
tproxy
|
6
IvanLi127 OP @yaott2020 #5 我是按 xray 文档上的 TProxy 教程做的,就差 SSH 这种外部连接连不上的问题。
@titanium98118 #1 我想通了,加上了像下面这样的,目前 SSH 没掉,全局代理有效果了。谢谢 iptables -t mangle -A XRAY_SELF -p tcp --sport 22 -j RETURN |
7
yaott2020 2022-10-20 20:26:10 +08:00 via Android 1
@IvanLi127 挂在 Prerouting 上的链只给打 mark 1 的进,其他的 return 这样 ssh 就能连上了
|
8
yaott2020 2022-10-20 20:27:33 +08:00 via Android 1
我个人是用 gid 配合 iptables 标识代理流量的,指定 gid 走代理,其他直连
|
9
yaott2020 2022-10-20 20:28:35 +08:00 via Android 1
推荐用 sagernet/sing-box 开 sniff 和 sniff_override_destination 这样 dns 污染也不怕
|