转发数据流量到指定的服务,Linux代理路由设置,socks5 代理转发,通过redsocks、iptables实现透明代理和流量透传,以及自建DNS避免DNS污染。
SOCKS
SOCKS是一种网络传输协议,当防火墙后的客户端要访问外部的服务器时,就跟SOCKS代理服务器连接。这个代理服务器控制客户端访问外部服务器的资格,允许的话,就将客户端的请求发往外部的服务器。
SOCKS5协议
参考
rfc:https://tools.ietf.org/html/rfc1928
wikipadia:https://zh.wikipedia.org/wiki/SOCKS
协议这里不展开了。
iptables
参考
wikipadia:https://zh.wikipedia.org/wiki/Iptables
Archlinux: https://wiki.archlinux.org/index.php/Iptables_(简体中文)
iptables 是一个配置 Linux 内核 防火墙 的命令行工具,是 netfilter 项目的一部分。术语 iptables 也经常代指该内核级防火墙。iptables 用于 ipv4,ip6tables 用于 ipv6。
iptables 可以检测、修改、转发、重定向和丢弃 IPv4 数据包。过滤 IPv4 数据包的代码已经内置于内核中,并且按照不同的目的被组织成 表 的集合。表 由一组预先定义的 链 组成,链 包含遍历顺序规则。每一条规则包含一个谓词的潜在匹配和相应的动作(称为 目标),如果谓词为真,该动作会被执行。也就是说条件匹配。iptables 是用户工具,允许用户使用 链 和 规则。
透明代理
透明代理可以是通过配置iptable(设置防火墙