1.DNS分流
这里首先基于dnsmasq来做,在配置文件中做如下修改
ipset=/zoogvpn.com/vpn
ipset=/zootool.com/vpn
ipset=/zoozle.net/vpn
ipset=/writer.zoho.com/vpn
大概意思是这几个域名及其子域名,在获取到ip之后加入到vpn这个ipset里面去,这里的dnsmasq需要是full 版本,也就是需要支持ipset这种操作
2.ipset
ipset是一条命令,用来创建一个ip的集合
ipset create vpn hash:net
创建好集合之后,可以往里面添加ip信息
ipset add vpn 64.18.2.0/24
ipset add vpn 64.18.3.0/24
ipset add vpn 64.18.4.0/24
3.使用
在ipset和dnsmasq的配置做好之后,通过ping或者nslookup去查询域名,如果查询到之后,对应的ip会出现在ipset之中。使用ipset list vpn 可以查看。
4.路由
假设这里有多张网卡,上面对应的vpn集合需要走网卡a(10.0.0.1,eth0),这里就创建一张新的路由表
ip route add default via 10.0.0.1 dev eth0 table 56
路由表是专门用在eth上的,这里再为路由表添加fwmark
ip rule add fwmark 56 table 56
将路由表的fwmark信息设置为56,也可以设置为其他