dns有三种角色
主服务器
从服务器
转发器,当dns服务器收到客户端请求,如果没有响应的区域就会转发给跟,从跟上试图去寻找,就是递归行为
之前把30.7作为dns服务器
只有内网地址,没有外网地址
这个网卡设置过但是没有关联到eth1上
实现一个eth1的设置
创建之后没有合适的设备
只能先重启,可能是后来加的网卡
客户端的dns服务器
先把dns2取消
重启网络
插上网线应该有地址了
因为有网卡可以连接外网,把客户端的dns服务器修改成只有30.7
由于没有淘宝的定义,所以要跑到跟上去解析
希望是企业内部用的,不希望跑到跟上去。就需要把配置文件中的递归行为取消就可以了
变成no就可以
就找不到淘宝了
访问本身还是正常的
局域网的服务器一般都是关掉的,禁用自带的自身的转发行为。
还有另外一种情况
跨区域的公司
希望各地的网络不直接联互联网,只通过北京的口子出去,便于管理
那么dns服务器各地都有,方便本地区的人使用
上海的dns服务器缓存对于台北无效,这样无形中造成了资源的浪费
我们可以各地区发送的请求转到北京的dns服务器,用dns的服务器取找跟,北京的服务器就把缓存存下来了,下次台北的请求,就可以直接查到了
这样的话也提高了本公司域名访问的速度
当然我们先要改变默认转发到跟的行为,要让它转发到特定的某一个dns服务器上去,如何实现dns转发
30.6找到 请求先请求7,7再转发。17
这样30。17已经搭建了基本服务
成功
客户端指向的是30.7不是17
现在想向30。7去查询wang.com,让30.7转发到17上去,需要设置转发器,有两种
一种是,发过来,只要我这里没有的都统统转发到指定的服务器上去
first是,如果找不到就,转发到跟上
only是指定ip,只转发给30。17。不转发到跟上
成功
也可以根据特定域转发,只是转发wangge域不是
在30.17再添加一块网卡
当30.7和30.17都没有这个网络
但是客户端可以查到,查看如何查到的
30.7没有转发给30。17,30.17转发给互联网去
两边清一下缓存,重新抓取
查看是否有访问外网的信息
再次清空缓存
把30。17的网络断开,现在查不到了,表明确实从互联网出去
针对特定的域转发
其他的不转发就需要把全局删除
说明转到30.17上去了
没有aa就说明是转发给30。17查询到的
查询其他的也查的到,因为不是wangge.com域,就会在30.7上转发给跟上去
关闭递归查询
就失败了
但是wange也失败了,因为把递归查询关闭了的化,连转发也 不发了,统统拒绝
改回yes就可以了
智能dns
上面的是随机的
如果一台放在北京,一台放在上海,就有可能上海用户访问北京,舍近求远了,怎么解决
当主机访问量较大的时候,希望就近访问,而且访问的页面可以根据地方的页面变化
要把所有ip地址端放到数据库
智能dns可以判断用户的来源,根据用户的来源
区域代理 缓存服务器就是现在的CDN服务,内容分发网络
企业级的带宽上传下载速度是一样的,价格与家庭差了10倍,为了降低带宽可能就需要用cdn服务,cdn按流量收费,应该尽可能让数据变小,不能变大,保证质量下,尽量压缩,gzip,bz2,图片的一些压缩
以前有个互联网公司,忘记压缩图片,直接放到网站上去,几百K,缓存在cdn,流量一下子多了很多,两小时,损失了几十万
需要通过客户端的来源,来提供不同的查询地址,如何判断客户端的来源,就需要定制ACL(文件管理,),是为了控制用户ip来源的,自带的是4个ACL来源,none(复制的dns服务器,不允许forward),any;localhost(本机的所有ip),localnet(本网段)
也可以自定义ACL,把特定的地址段放到ACL里
各子地区的都放都独立的ACL里,先规划网络拓补,把所有北京地址段放到数据库里去
假设192.168属于北京网络。172.20.0。0属于上海网络,也可以定义未知的地址段,排序的时候有要求
排序的时候有要求,172.20 和101应该是包含关系,访问的时候是按照顺序的
这样写16网络就包含它,等于下面的白写了,
即时有包含关系,小的地址往前放,大的地址往后放,否则小的地址如下图永远无效
下图的小地址段永远不能生效
修改成这样
准备数据库
修改上海的
3个文件里的内容都是不一样的
北京用户返回1,上海2,其他3
把映射关系关联起来
view视图,语句块,定义了解析数据库的映射关系,只要启用view,就需要把所有的区域信息(原来放在zone和rfc1912都无所谓。但一旦有了view)必须把所有信息放到view的语句块里,否则将失效
移走存到rfc文件里
把所有的区域信息放到view里,写上ACL是谁,区域数据库是谁
match-client客户端
有了三套区域数据
也可以直接写区域
先检查语法是否有错误
访问不了,有问题
成功
配置文件。还有一个是/etc/named.rfc1912.zones
各自有各自 的s数据库