实现智能DNS

article/2025/11/7 16:37:52

文章目录

  • 1 实现智能DNS
    • 1.1 GSLB
    • 1.2 CDN(Content Delivery Network)内容分发网络
      • 1.2.1 CDN工作原理
      • 1.3 智能DNS相关技术
      • 1.3.1 bind中ACL
      • 1.3.2 bind有四个内置的acl
      • 1.3.3 访问控制的指令
      • 1.3.4 view视图
        • 1.3.4.1 view:视图,将ACL和区域数据库实现对应关系,以实现智能DNS
        • 1.3.4.2 view格式
    • 1.4 实战案例:利用view实现智能DNS
      • 1.4.1 实验目的
      • 1.4.2 环境要求
      • 1.4.3 前提准备
      • 1.4.4 实现步骤
        • 1.4.4.1 DNS服务器的网卡配置
        • 1.4.4.2 主DNS服务器端配置文件实现view
        • 1.4.4.3 实现区域配置文件
        • 1.4.4.4 创建区域数据文件
        • 1.4.4.5 实现位于不同区域的三个WEB服务器
        • 1.4.4.6 客户端测试

1 实现智能DNS

在这里插入图片描述

1.1 GSLB

GSLB:Global Server Load Balance全局负载均衡
GSLB是对服务器和链路进行综合判断来解决由哪个地点的服务器来提供服务,实现异地服务器群服务质量的保证
GSLB主要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域)
GSLB分为基于DNS实现、基于重定向实现,基于路由协议实现,其中最通用的是基于DNS解析方式

1.2 CDN(Content Delivery Network)内容分发网络

在这里插入图片描述

1.2.1 CDN工作原理

1.用户向浏览器输入www.a.com这个域名,浏览器第一次发现本地没有dns缓存,则向网站的DNS服务器请求
2.网站的DNS域名解析器设置了CNAME,指向了www.a.tbcdn.com,请求指向了CDN网络中的智能DNS负载均衡系统
3.智能DNS负载均衡系统解析域名,把对用户响应速度最快的IP节点返回给用户
4.用户向该IP节点(CDN服务器)发出请求
5.由于是第一次访问,CDN服务器会通过Cache内部专用DNS解析得到此域名的原web站点IP,向原站点服务器发起请求,并在CDN服务器上缓存内容

1.3 智能DNS相关技术

1.3.1 bind中ACL

ACL:把一个或多个地址归并为一个一个集合,并通过一个统一的名称调用
注意:只能先定义后使用;因此一般定义在配置文件中,处于options的前面
格式:
acl acl_name {
ip;
net/prelen;

};
范例:
acl beijingnet {
172.16.0.0/16;
10.10.10.10;
};

1.3.2 bind有四个内置的acl

  • none 没有一个主机
  • any 任意主机
  • localhost 本机
  • localnet 本机的IP同掩码运算后得到的网络地址

1.3.3 访问控制的指令

  • allow-query {}:允许查询的主机;白名单
  • allwo-transfer {}:允许区域传送的主机;白名单
  • allow-recursion {}:允许递归的主机,建议全局使用
  • allow-update {}:允许更新区域数据库中的内容

1.3.4 view视图

1.3.4.1 view:视图,将ACL和区域数据库实现对应关系,以实现智能DNS

  • 一个bind服务器可定义多个view,每个view中可定义一个或多个zone
  • 每个view用来匹配一组客户端
  • 多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件
    注意:
  • 一旦启用了view,所有的zone都只能定义在view中
  • 仅在允许递归请求的客户端所在view中定义根区域
  • 客户端请求到达时,是自上而下检查每个view所服务的客户端列表

1.3.4.2 view格式

view VIEW_NAME {match-clients { beijingnet; };zone "kobe.org" {type master;file "kobe.org.zone.bj";};include "/etc/named.rfc1912.zones";
};view VIEW_NAME {match-clients { shanghainet; };zone "kobe.org" {type master;file "kobe.org.zone.sh";};include "/etc/named.rfc1912.zones";
};

1.4 实战案例:利用view实现智能DNS

1.4.1 实验目的

搭建DNS主从服务器架构,实现DNS服务冗余

1.4.2 环境要求

需要五台主机
DNS主服务器和web服务器1:10.0.0.8/24,172.16.0.8/16
web服务器2:10.0.0.7/24
web服务器3:172.16.0.7/16
DNS客户端1:10.0.0.6/24
DNS客户端2:172.16.0.6/16

1.4.3 前提准备

关闭SELinux
关闭防火墙
时间同步

1.4.4 实现步骤

1.4.4.1 DNS服务器的网卡配置

#配置两个IP地址
#eth0:10.0.0.8/24
#eth1:172.16.0.8/16

1.4.4.2 主DNS服务器端配置文件实现view

yum -y install bind
vim /etc/name.conf
#在文件最前面加下面行
acl beijingnet {10.0.0.0/24;
};
acl shanghainet {172.16.0.0/16;
};
acl othernet {any;
};注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
//allow-query { localhost; };#其他略#创建view
view beijingview {match-clients { beijingnet; };include "/etc/named.rfc1912.zones.beijing";
};
view shanghaiview {match-clients { shanghainet; };include "/etc/named.rfc1912.zones.shanghai";
};
view otherview {macth-clients { othernet; };include "/etc/named.rfc1912.zones.other";
};
include "/etc/named.root.key";

1.4.4.3 实现区域配置文件

vim /etc/named.rfc1912.zones.beijing
zone "." IN {type hint;file "name.ca";
};
zone "kobe.local" IN {type master;file "kobe.local.zone.beijing";
};vim /etc/named.rfc1912.zones.shanghai
zone "." IN {type hint;file "named.ca";
};
zone "kobe.local" IN {type master;file "kobe.local.zone.shanghai";
};vim /etc/named.rfc1912.zones.other
zone "." IN {type hint;file "named.ca";
};
zone "kobe.local" {type master;file "kobe.local.zone.other";
};chgrp named /etc/named.rfc1912.zones.beijing
chgrp named /etc/named.rfc1912.zones.shanghai
chgrp named /etc/named.rfc1912.zones.other

1.4.4.4 创建区域数据文件

vim /var/named/kobe.local.zone.beijing
$TTL 1D
@	IN	SOA	master		admin.kobe.local. (1		; serial1D	; refresh1H	; retry1W	; expire3H ) ; minimumNS	master
master		A	10.0.0.8
websrv		A	10.0.0.7
www		CNAME websrvvim /var/named/kobe.local.zone.shanghai
$TTL 1D
@	IN	SOA	master		admin.kobe.local. (11D1H1W3H )NS 	master
master		A		10.0.0.8
websrv		A		172.16.0.7
www		CNAME	websrvvim /etc/named/kobe.local.zone.other
$TTL 1D
@	IN	SOA	master		admin.kobe.local. (11D1H1W3H )NS	master
master			A		10.0.0.8
websrv 		A		127.0.0.1
www			CNAME	websrvchgrp named /var/named/kobe.local.zone.beijing
chgrp named /var/named/kobe.local.zone.shanghai
chgrp named /var/namde/kobe.local.zone.othersystemctl start named
rndc reload

1.4.4.5 实现位于不同区域的三个WEB服务器

#分别在三台主机上安装http服务
#在web服务器1:10.0.0.8/24实现
yum -y install httpd
echo www.kobe.local in other > /var/www/html/index.html
systemctl start httpd
#在web服务器2:10.0.0.7/16
echo www.kobe.local in beijing > /var/www/html/index.html
systemctl start httpd
#在web服务器3:172.16.0.7/16
yum -y install httpd
echo www.kobe.local in shanghai > /var/www/html/index.html
systemctl start httpd

1.4.4.6 客户端测试

#分别在三台主机上访问
#DNS客户端1:10.0.0.6/24 实现,确保DNS指向10.0.0.8
curl www.kobe.local
www.kobe.local in beijing
#DNS客户端2:172.16.0.6/16 实现,确保DNS指向172.16.0.8
curl www.kobe.local
www.kobe.local in shanghai
#DNS客户端3:10.0.0.8 实现,确保DNS指向127.0.0.1
curl www.kobe.local
www.kobe.local in other

http://chatgpt.dhexx.cn/article/xrj1ZVxY.shtml

相关文章

bind搭建智能DNS

小生不才,明知文拙脑蠢,却喜挥笔泼墨,畅叙幽情。才疏学浅,未能熟读圣贤之书,以至学识浅薄,明然众人也,有何不足处望不吝赐教。 DNS域名解析服务(Domain Name System)是用于解析域名与IP地址…

DNS服务搭建

目录 DNS简介 DNS解析原理 DNS的相关配置 DNS主从服务 DNS缓存服务 DNS智能解析(分离解析) DNS简介 DNS的功能 DNS 域名系统(Domain Name System) 的缩写,它的功能是将域名解析成ip。我们日常上网浏览网页时,在浏览器&#…

基于Java的Cplex入门

Cplex是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。Cplex提供灵活的高性能优化程序,解决线性规划 (Linear Programming)、二次方程规划 (Quadratic Programming)、二次方程约束规划 (Quadratically Constrained Programming) 和混合整型规划 (…

python 调用cplex-学术版

转载 https://zhuanlan.zhihu.com/p/101713127 本文要解决的问题(默认你已经对python有一定的使用经验):如何用python调用cplex求解器。 这次不能信官网,害我踩了一下午坑(其实是官网表述文件和实际不符,而且还少了一…

CPLEX教程 | Cplex介绍,CPLEX教育版和安装Cplex

前言 最近学习列生成算法,需要用到优化求解器。所以打算学习一下cplex这个商业求解器。 当然也有其他更多的选择,这里暂时以比较容易上手和性能比较好的cplex开始吧。其实,小编也早就想学习使用这个cplex了,毕竟是个好东西。 所…

cplex求解1

python环境下cplex安装 发现了一个简单的方法,直接使用 Anaconda 安装 cplex 包,因为 cplex 把自己最新的 python 包都发到 Anaconda 云里面了。 (1)打开 dos 命令行窗口,输入: conda install -c IBMDeci…

基于Cplex的分支定价

前言 分支定界(branch and bound)和分支定价(branch and price)仅一字之差,这两者之间也有着紧密联系,简单来说分支定价分支定界列生成。个人觉得在运筹学领域,分支定价算法也算是比较高级的算…

安装 cplex 求解器

安装 cplex 求解器 安装 cplex 求解器和python-docplexcplex 安装matlab 用户安装 cplexpython 版本 安装 cplex 求解器和python-docplex cplex 安装 cplex 是解决优化问题的一个工具箱,用来线性规划、混合整数规划和二次规划的高性能数学规划求解器。可以理解成…

Python配置CPLEX

大致的安装步骤如下 1.百度搜索CPLEX,进入官网,获取许可后,下载并安装(要能找到自己的安装路径) 2.安装完成后,可以直接用ide进行编程,但是,还可以用Python来调用CPLEX 3.给Pytho…

C++用户的Cplex使用指南(一)——在VS2019中运行Cplex程序

在VS2019中运行Cplex程序 前言 Cplex是IBM开发并仍在维护更新的商业求解器,也是目前使用人数最多的求解器,类似的还有Gurobi,两者各有各的特点(两家颇有渊源,感兴趣的可以了解一下)。 Cplex的一些基本概…

CPLEX相关问题汇总

求解流程 1)定义常量:可以通过float、int、boolean定义常量。定义范围是为了便于对数组进行操作。 //定义常量 int F ...;//定义整型 float R...;//定义浮点型 int m...; int B ...;//定义范围 range nF1..F; range Machs 1..m;定义常量数组 //定义…

c++调用cplex的基本配置问题

1.创建c空项目 2.修改运行环境 为release以及x64 3.创建cpp文件 4。鼠标右键点击项目中的属性 5.点击c/c,点击第一项常规,配置附加库目录 5.添加文件索引,主要用于把路径导进来 6.这一步要添加的目录与你安装的cplex的目录有关系 F:\program…

cplex python安装及入门

cplex python安装及入门 1. cplex安装2. cplex学习资源3. 百度网盘资源 笔者最近学习cplex,从安装到入门走了不少弯路,现在提供一个相对全面的cplex学习博文。 1. cplex安装 可以参考这篇博文DOcplex系列(二)——怎样成功安装和调…

CPLEX求解器入门案例

其他文章: 通过0-1背包问题看穷举法、贪心算法、启发式算法(JAVA) 模拟退火(SA)算法实例介绍(JAVA) 遗传算法(GA)实例介绍(JAVA) CPLEX求解器入门案例 java集成Cplex:Cplex下载、IDEA环境搭…

Cplex入门教程(二)

一、写在前面 在文章《Cplex入门教程&#xff08;一&#xff09;》的基础上&#xff0c;补充代码的部分 二、如何写代码 代码头&#xff0c;请无脑直接抄。 #include <ilcplex/ilocplex.h> #include <stdio.h> using namespace std;ILOSTLBEGIN声明环境&#x…

【 CPLEX安装】

系列文章目录 提示&#xff1a;版本匹配matlab2019bcplex12.10.0.0 版本查询网址&#xff1a; https://www.ibm.com/software/reports/compatibility/clarity/productsForPrereq.html 一、CPLEX安装 python E:\software\Cplex\python\setup.py install file:///E:/software/…

Cplex求解器

博主个人博客 在求解整数线性规划问题是,Matlab下yalmip+cplex的组合会让如虎添翼。本人是在研究早晚班排班过程中才发现的这一工具。其能够求解各种整数规划模型。在matlab中使用cplex求解时,还可以使用yalmip工具进行建模,比直接使用cplex建模方便很多。 在正式开始使用…

Cplex入门教程(一)

文章目录 1、主要内容2、Cplex简介CPLEX具有的优势 3、安装Cplex 12.94、在 Windows 上设置 CPLEX5、测试代码 1、主要内容 Cplex 简介安装Visual Studio 2017 (64位)安装cplex12.9 (64位)在 Windows 上设置 Cplex在 Visual Studio 中将 Cplex 链接代码逻辑介绍 2、Cplex简介…

Cplex的安装和使用实例

最近有文章复现需要用到Cplex&#xff0c;所以捣鼓了一下&#xff0c;看其他博客感觉不解渴&#xff0c;所以索性在这里记录一些key point 1&#xff09;下载与安装&#xff1a;Cplex的下载可以在官方网站下载&#xff0c;学生是免费下载使用的&#xff0c;非学生可以在网上找…

运筹优化学习19:Cplex中文教程与实例详解

目录 1 绪论 1.1 Cplex简介 1.1.1 基本界面介绍 1.1.2 处理流程介绍 1.2 OPL语言 1.2.1 OPL的主要关键字 1.2.2 数据文件 1.3 如何调用Cplex 1.3.1 使用AMPL脚本语言调用 1.3.2 IBM CPLEX Studio IDE 1.3.3 Cplex with Concert Technology 2 官方gas示例演示 2.1 导…