免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1769 | 回复: 5

[DNS] 能实现客户端条件转发功能吗? [复制链接]

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2014-10-11 17:06 |显示全部楼层
各位,我搭建了一个DNS,用的BIND9.10,我想实现根据客户端地址来进行条件转发,有办法实现吗?

比如:客户地址段1用本机DNS1进行解析,客户地址段2转发到DNS2进行解析。

我知道让客户地址段2直接修改本地DNS配置最简单,但我现在不方便通知所有客户修改DNS。

貌似OPTIONS里的转发,要么不转发,要么都转发,针对ZONE特定域名转发我知道。

VIEW里,倒是可以匹配客户地址段,这里面如何配置转发??

大家有何高见?谢谢!

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
发表于 2014-10-13 07:37 |显示全部楼层
bind view功能

下面帖中的bind view配置看看
http://bbs.chinaunix.net/thread-4153855-1-1.html

论坛徽章:
23
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2015-11-23 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
发表于 2014-10-13 13:54 |显示全部楼层
你要的功能其实就是我下面说的dns view功能,不用什么dns1和dns2,看完你就明白了。你无非就是想让一个域名在2个域名服务器上解析成不同ip地址,其实你整的有点复杂,看完下面你就知道怎么做了。


偶dns总结的部分内容:
DNS VIEW功能則和上面的輪詢完全不同,VIEW是把同一個域名根據用戶的IP網段分配到不同的主機上,這樣不光有一定的可控性,還可以根據地理區域,將用戶按照就近原則訪問離自己近的web服務器或郵件服務器。例如:
電信和網通的接口只有10GB,當電信用戶和網通用戶互訪是有一定的帶寬延遲,那麼通過VIEW功能正好解決此問題,通過view將所有電信用戶訪問到在電信網段的服務器上,將所有網通用戶訪問到網通網段的服務器上。範例:
acl dianxin { 110.110.110.110/16;};      電信
(這個acl可以配置成一個文件,直接通過include加載例如:
include "local_acl.conf";
然後在local_acl.conf配置上面這段話也行)


acl wangtong { 220.220.220.220/16;};    網通
acl others    {221.221.221.221/16;};     其他ISP
view “dianxintest” {
       Match-clients { “dianxin”;};
zone “.” IN {                       (設定各個view,必須要設定根域zone)
      type hnnt;
      file “named.ca”;
};

zone www.baidu.com IN {
      type master;
      file “www.baidu.com.zone”;     
};
};


下來看另外一個VIEW
View “wangtongtest” {
      Match-clients { “wangtong”;};
zone “.” IN {                        
      type hnnt;
      file “named.ca”;
};

zone www.baidu.com IN {
      type master;
      file “cn.www.baidu.com.zone”;        存放的zone文件名稱要和第一個view不同.
};
};
View “otherstest” {
      Match-clients { “others”;};
zone “.” IN {                        
      type hnnt;
      file “named.ca”;
};

zone www.baidu.com IN {
      type master;
      file “others.www.baidu.com.zone”;        存放的zone文件名稱要和前面的view不同.
};
};
Named.conf設定到上述即可。
Zone的設定很簡單,只要分別把這3個zone的A記錄的IP設定到你想分配到那三台web服務器上的IP即可。


论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2014-10-14 14:54 |显示全部楼层
哎,到底是你没有看明白我的文字,还是我的文字表达的不够明白。

我知道VIEW的功能,就是同一个域名针对不同的客户A/B解析成不同的地址A1/B1

而我想做的,是A和B都向DNS1发出请求,A被DNS1解析了,B被DNS1转发了

如此而已。

论坛徽章:
26
CU十二周年纪念徽章
日期:2013-10-24 15:41:34技术图书徽章
日期:2014-07-11 16:27:52辰龙
日期:2014-09-04 13:40:43白羊座
日期:2014-09-09 12:51:55双子座
日期:2014-09-26 11:00:042014年中国系统架构师大会
日期:2014-10-14 15:59:00子鼠
日期:2014-10-23 16:48:23巨蟹座
日期:2014-10-27 08:21:10申猴
日期:2014-12-08 10:16:282015年辞旧岁徽章
日期:2015-03-03 16:54:15NBA常规赛纪念章
日期:2015-05-04 22:32:03IT运维版块每日发帖之星
日期:2016-01-29 06:20:00
发表于 2014-10-14 15:41 |显示全部楼层
本帖最后由 cryboy2001 于 2014-10-14 15:41 编辑

forwarders
设定转发使用的ip地址。默认的列表是空的(不转发)。转发也可以设置在每个域上,这样全局选项中的转发设置就不会起作用了。用户可以将不同的域转发到服务器上,或者对不同的域可以实现forward only或first的不同方式,也可以根本就不转发。


view "external" {

match-clients { any; };

recursion no;

zone "example.com" {

type master;

file "example-external.db";

[ forward (only|first) ; ]
用来代替全局的转发器列表。如果不在forward类型的域中设定,就不会有这个域查询的被转发;全局的转发设置则没有起作用。
[ forwarders

{ ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; ... ] }; ]

};

};

论坛徽章:
23
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2015-11-23 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
发表于 2014-10-14 19:50 |显示全部楼层
本帖最后由 woxizishen 于 2014-10-14 19:56 编辑

回复 4# flutter

俺把你理解成你就是因为后端放置了相同内容的多台服务器,想用view做简单的负载均衡。楼上的版主已经精准回答了,我就不多说了。

到时提醒下你,做view又做了MASTER/SLAVE同步的话,對於多個VIEW,slave只能下載到一個view。故若要slave下載所有view,則slave需要用到transfer-source 语句。




















   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP