• 我的首页
  • 星空画廊

My thought on web

Think what ? think

透明代理

透明代理踩坑指北

2019年8月22日 by caoli5288 1 Comment

最近入手了一台矿渣NAS,想着不能浪费机器性能就动了在上面部署透明代理的心思。本想以我对网络层的了解配个透明代理是件比较容易的事情,但还是踩中了一些坑,导致花了两个晚上才全搞定,并且没有达到理想中的完美效果,特意记录下来中间遇到几个问题以供指北。

代理软件是V2Ray,CDN加速模式。官方文档比较简单,没有给出完整可用的示例,但是各模块功能解释得还算清晰。TCP部分的处理比较简单,nat链的PREROUTING阶段把非LAN目标的流量全部DIRECT到V2Ray的自由入站端口就行,但是UDP部分遇到了第一个坑点。

按我的经验UDP流量其实是没必要走代理的,只要DNS请求由代理处理好就行了。这个软件恰好就支持DNS代理,软件作者有写博文讲解如何使用,但是没收进官网文档里,于是我就开始按作者博文尝试部署DNS代理。一番功夫后终于明白了为什么不收进官网文档里,因为这个功能根本就不能用。

最后还是老老实实改iptables规则。期间发现这个软件竟然同时支持TCP和UDP的TProxy,这点其实很有利但是文档里没有重点体现,还是在翻isuess的时候注意到有人提到了这点。

最终写成的iptables和路由规则如下,纯TProxy非常的漂亮。


# ROUTE RULES ip route add local default dev lo table 100 ip rule add fwmark 1 lookup 100 # CREATE TABLE iptables -t mangle -N V2RAY # RETURN LOCAL AND LANS iptables -t mangle -A V2RAY -d 0.0.0.0/8 -j RETURN iptables -t mangle -A V2RAY -d 10.0.0.0/8 -j RETURN iptables -t mangle -A V2RAY -d 127.0.0.0/8 -j RETURN iptables -t mangle -A V2RAY -d 169.254.0.0/16 -j RETURN iptables -t mangle -A V2RAY -d 172.16.0.0/12 -j RETURN iptables -t mangle -A V2RAY -d 192.168.0.0/16 -j RETURN iptables -t mangle -A V2RAY -d 224.0.0.0/4 -j RETURN iptables -t mangle -A V2RAY -d 240.0.0.0/4 -j RETURN # FORWARD ALL iptables -t mangle -A V2RAY -p tcp -j TPROXY --on-port 12345 --tproxy-mark 0x01/0x01 iptables -t mangle -A V2RAY -p udp -j TPROXY --on-port 12345 --tproxy-mark 0x01/0x01 # REDIRECT iptables -t mangle -A PREROUTING -j V2RAY

同时,需要手动打开入站连接的TProxy支持。


{ "protocol": "dokodemo-door", "streamSettings": { "sockopt": { "tproxy": "tproxy" } } }

TCP与UDP连接全部代理成功,但仅仅是做到这一步会发现访问国内网站的速度变慢了,这是因为DNS请求全部走代理的原因,软件内置的路由规则并不对代理流量中的DNS请求自动生效。

翻阅文档后发现,软件其实可以拦截入站流量中的DNS请求由自己发出,这个过程可以针对站点分流,简单设置即可。


"dns": { "servers": [ "1.1.1.1", { "address": "114.114.114.114", "port": 53, "domains": [ "geosite:cn", ] } ] }

这个配置会把所有符合geosite:cn规则的域名分流到114服务器,而其他不在列的则走1.1.1.1服务器,虽不完美但将就着用。

至此基本完美透明代理,只要把手机和笔记本的网关指向这台NAS就可以愉快的上网了,甚至不需要修改DNS服务器,体验还是很良好的。

Posted in: 笔记 Tagged: NAS, 透明代理

标签

c docker dynamic fedora ffmpeg hevc java libmfx linux mingw mount mp4 NAS parallel qsv rime x264 x265 ZFS 事件 互联网 交叉编译 优化 分布式 反射 性能 文件系统 杂谈 游戏 站点 网卡 网络 自由 调优 透明代理

近期文章

  • lxc安装openwrt
  • NAS 文件系统方案的选择
  • 透明代理踩坑指北
  • QSV编码HEVC视频参数测试
  • FFmpeg中的几个新视频降噪滤镜

友情链接

  • 梦之地
  • Vultr

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

文章归档

Copyright © 2021 My thought on web.

Omega WordPress Theme by ThemeHall