PBR策略路由初体验

  |   0 评论   |   0 浏览

背景

需求:

根据域名进行路由:将请求特定域名的流量,路由到特定的节点上。

分析

直接路由

路由工作在3层网络层,可以感知到源IP、目标IP等信息。而域名DNS是工作在7层应用层。所以不能直接根据域名来进行路由。

策略路由

[2]

通过 dnsmasq+ipset区分出不同域名的不同ip,并且对ip进行分组,然后使用
iptable 对不同组的ip打上不同的标签,最后再走不同的路由表实现策略路由。

策略路由初体验

创建ipset

#安装
apt-get update && apt-get install -y ipset

#配置(使用这个即可 下面的都是一些常用命令)
ipset create gfwlist2 hash:ip
ipset create gfwlist3 hash:ip

#可以通过以下命令查看
ipset list

# 保存
ipset save | tee /etc/ipset.conf

参考

  1. How to route based on domain name?
  2. dnsmasq ipset iptables 实现对流量进行分流
  3. Dnsmasq+ipset+iptables基于域名的流量管理