加速原理
概念
定义
- 加速即访问海外资源(翻墙),公司有营业执照、合法访问
无法访问海外资源原因
- DNS解析: 国内DNS Server对国外资源进行DNS污染(无法解析出正确的IP)
- 报文转发: 访问国外资源响应慢或者无法访问
相关配置
DNS解析文件
-
在
/etc/dnsmasq.d/下会存在以下文件:-
domain-X.conf:域名名单,只用在BSS上手动添加名单时,该文件就会创建;文件内容为 域名 -> DNS Server ,只要请求的域名匹配上规则的域名后,会从重定向到规则的 DNS Server;若是白名单域名,则DNS Server是隧道出口的当地DNS Server,若是黑名单域名,则DNS Server默认都为114.114.114.114223.5.5.5 -
defaultserver.conf:白名单默认DNS,该DNS Server默认用加速隧道的出口的当地DNS Server(默认填充两个DNS Server),在CC系统的业务DNS配置信息板块

-
ipset.conf:该文件内容为 域名 -> ipset_name ,将该域名解析出的IP追加到 ipset的地址集中
-
-
reslov.conf- 该文件在
/etc下,用于DNS请求在本地Internet上请求,WAN口指定的DNS Server
- 该文件在
ipset地址集
whitedns-X:存放隧道出口的当地DNS Server的IPnoproxy:存放不需要加速的网段,如私网网段、D类网段CN-DNS:精确黑名单,存放手动添加黑名单的IPCN:模糊黑名单,存放国内的IPX-DNS:白名单,存放手动添加白名单的IP
iptables
- 对于非本机报文,iptables 匹配链顺序为
PREROUTING->路由表->POSTROUTING->下一跳;对于本机报文, iptables 匹配链顺序为OUTPUT->路由表->POSTROUTING->下一跳 - 报文的DIP匹配上白名单的IP进行打标记,将国内/外流量进行区分,再通过
ip rule的策略路由,对该标记的报文指定某个路由表查询路由,路由指定下一跳为vnetc口,在vnetc口内进行封装以送入加速隧道中 - 若有多个加速隧道,则有多个 白名单 <-> 标记 <-> 策略路由 <-> vnetc口 ,通过不同标记进入不同
vnetc口封装并送入不同隧道进行加速
ip rule
- 配置策略路由,匹配标记以指定某个路由表进行查询路由;该策略路由优于普通路由
原理
概括
- 通过打标记进行分流。对访问国外资源的报文进行打标记,再通过策略路由指定到
vnetc口上进行封装,最后本机转发到入PoP节点;入PoP节点解封装后,再次封装并转发到出PoP节点;出PoP节点收到报文后解封装,用出接口的IP进行NAT地址转发,向当地Internet转发报文
匹配规则
| 类型 | 顺序 |
|---|---|
| 匹配链顺序 | 非本机报文: PREROUTING( mangle -> nat ) -> 路由表 -> POSTROUTING ( mangle -> nat ) -> 下一跳 本机报文: OUTPUT ( mangle -> nat ) -> 路由表 -> POSTROUTING ( mangle -> nat ) -> 下一跳 |
| 匹配DNS解析文件顺序 | domain-X.conf > dnsserver.conf > reslov.conf |
vnet 链匹配顺序 |
whitedns-X -> noproxy -> CN-DNS -> CN -> X-DNS ,白名单默认DNS -> 不加速名单 -> 精确黑名单 -> 模糊黑名单 -> 精确白名单 |
分流报文转发流程
-
DNS请求报文(DNS劫持)
-
非本机DNS请求报文
- 该报文匹配
PREROUTING链时,mangle表匹配规则并允许通过、nat表匹配规则并重定向到本地(向本机请求),本机查询并匹配DNS解析文件内容,重新重定向到新的DNS Server上请求-
重定向为白名单默认DNS:
- 重定向后的报文为本机报文,匹配
OUTPUT链时,mangle表规则会跳转到vnet链中, 匹配whitedns-X并打上标记,查看路由表时命中策略路由,指定在某个路由表上查询路由,该路由指向vnet口;然后报文匹配POSTROUTING链,mangle表匹配规则并允许通过,nat表匹配规则并用vnetc口进行NAT转换;最后进入ventc口进行封装
- 重定向后的报文为本机报文,匹配
-
重定向为国内DNS:
- 重定向后的报文为本机报文,匹配
OUTPUT链时,mangle表规则会跳转到vnet链中,会匹配CN,不会打上标记,查看路由表时命中默认路由,进行本机转发;然后报文匹配POSTROUTING链,mangle表匹配规则并用允许通过,nat表匹配规则并用WAN口进行NAT转换;最后进入WAN口进行本地转发
- 重定向后的报文为本机报文,匹配
-
- 该报文匹配
-
本机DNS请求报文
- 该报文查询并匹配DNS解析文件内容,重定向到新的DNS Server上请求,后续流程跟非本机报文匹配 iptables 规则一样
-
-
其他报文
-
非本机报文
- 匹配
PREROUTING链时,在mangle表上跳转到vnet链中- 报文的DIP为国外的IP:
- 匹配上
X-DNS,打上标记,nat表匹配默认规则,允许通过;然后匹配路由时命中策略路由,指定某个路由表上查询路由,该路由指向vnetc口,然后报文匹配POSTROUTING链,mangle表匹配规则并允许通过,nat表匹配规则并用vnetc口进行NAT转换;最后进入ventc口进行封装
- 匹配上
- 报文的DIP为国内的IP:
- 匹配上
CN-DNS/CN,不会打上标记,查看路由表时命中默认路由,进行本机转发;然后报文匹配POSTROUTING链,mangle表匹配规则并允许通过,nat表匹配规则并用WAN口进行NAT转换;最后进入WAN口进行本地转发
- 匹配上
- 报文的DIP为国外的IP:
- 匹配
-
本机报文
- 匹配
OUTPUT链,在mangle表上跳转到vnet链中,后续流程跟非本机报文匹配 iptables 规则一样
- 匹配
-
分流后报文转发流程
-
封装后的报文以及国内本地转发报文都属于本地报文,匹配链顺序按照本地报文进行匹配
- 封装后的报文:报文的DIP为隧道的入PoP节点,会命中
CN地址集 - 国内本地转发报文:报文的DIP为国内的IP,会命中
CN-DNS地址集
- 封装后的报文:报文的DIP为隧道的入PoP节点,会命中
-
在
OUTPUT链上,匹配mangle表的规则,由于封装报文的DIP为入PoP节点,报文会命中CN-DNS/CN,不打标记;匹配路由时查看策略路由,匹配本地路由表的默认路由;在POSTROUTING链上,mangle表匹配规则并允许通过,nat表匹配规则并用WAN口进行NAT转换;最后进入WAN口进行本地转发
配置解析
- DNS解析阶段(非本机DNS请求报文)




















加速模式
- 模式
- 加速 :匹配白名单的流量就会进行加速
- 匹配规则顺序:
CN-DNS(精确黑名单) ->CN(模糊黑名单)->X-DNS(白名单)
- 匹配规则顺序:
- 全加速 :没有匹配上
CN的流量都会进行加速- 匹配规则顺序:CN-DNS(精确黑名单) -> X-DNS(白名单) -> CN(模糊黑名单)
- 全转 :所有流量都会加速
- 对于DNS Server需指向国外公共DNS Server
- 由于CPE设备配置全转后,不再DNS劫持,若终端的DNS指向CPE设备后,CPE设备收到DNS请求后,会用
/etc/resolv.conf内的DNS进行请求,即会请求国内DNS Server,这时就会出现DNS污染
- 加速 :匹配白名单的流量就会进行加速
Web配置
- 配置步骤
- 进入客户管理,创建用户-->进入用户的“编辑”界面-->创建设备(设备型号、区域、城市、带宽、服务时间)-->进入”设备管理“并搜索用户名称,找到新增的设备列表-->绑定设备的SN号-->添加黑白名单(区域、黑/白名单)-->添加加速隧道











- DNS解析截图
-
终端解析域名:Google.com(加了白名单)

-
终端解析域名:Google.com(加了黑名单)

-