本帖最后由 秦祥林 于 2020-3-12 10:42 编辑
一、需求背景 模拟环境:公司两根外网线路,一根电信、一根联通。 内网有两台服务器提供web服务。 用户已从域名服务商注册域名caoronghua.xyz。 希望通过caoronghua.xyz访问到内部web服务, 不同运营商返回不同的地址,联通用户返回联通地址,电信用户返回电信地址。 其他运营商自动选择最快链路访问。
二、实现方式 智能DNS(静态就近性)+虚拟服务发布
三、测试拓扑
测试条件: 1、在域名供应商申请域名,设置域名NS记录指向AD地址 (本次测试使用自申请阿里域名,记录指向AC公网地址,AC端口映射tcp80端口和udp53端口给AD,80是http,53为dns) 具体操作如下:(如何申请域名略,自行百度阿里云注册,小白式,最便宜的域名5元一年)
点击解析,输入ns和A记录分别指向AC两根公网线路(阿里域名ns和A记录生效时间默认十分钟,其他运营商A记录也很快,NS记录2-48小时不等)
新增两条NS记录和A记录,域名ns记录指向ns1.caoronghua.xyz(自定义,一般默认域名前直接加ns1-9) 而后ns1.caoronghua.xyz还需要写明对应A记录指向固定IP。 申请域名之后,新增NS记录免费,这个NS记录相当于在阿里上注册的。 这样操作完成后,相当于给域名指定了NS和A记录在那里,但是NS记录并非在这里注册的。我们返回上一页点击管理,新建一个dns host 删除阿里赠送的dns记录,只保留自定义的ns记录
如此,阿里端配置完成。
2、全网相关设备相互通信,端口映射完成。这里再次强调53端口需要用UDP协议。
四、预期效果 联通用户访问caoronghua.xyz解析到联通DNS,电信用户访问caoronghua.xyz解析到电信地址。
五、测试过程 5.1、配置七层虚拟服务发布(暂时理解为高级端口映射,区别在于AD在与客户端和服务器之间各自建立了一次TCP连接,相当于一个代理服务器) 1)新增虚拟一个虚拟服务,建议虚拟服务名称和域名一致,后期业务发布越来越多便于区分 2)新增节点池,建议与虚拟服务名称一致,后期业务发布越来越多便于区分
其他可以暂时保持默认,这样最简答的虚拟服务发布就搭建完成了,如要验证,直接公网访问对应AC上的两个公网地址的80端口即可
5.2、智能DNS发布,实现入栈联通进来走联通线路,电信进来走电信线路 原理介绍: 智能DNS工作原理:
1、PC将dns请求到local dns 服务器
2、local dns 服务器将请求发送给域名提供商
3、域名提供商将对应NS和A记录返回给本地dns服务器
4、本地服务器将运营商商返回的NS记录请求发送给AD设备
5、AD根据配置的策略返回一个IP级 LOCAL DNS映射
6、loca dns 将IP告诉客户端
1)新增DNS服务器 2)配置虚拟IP池
3)配置DNS映射
4)配置LDNS集合
5)配置本地虚拟IP池级别 联通同理
整个工作过程解析如下: 1、业务IP探测是否有业务访问进来,我将如何处理 2、有业务请求时,AD返回相应公网地址,监测公网地址是否存活并使用静态就近性策略 3、绑定映射关系,业务请求访问AD指定域名时,通过静态就近性,返回相应的预设的公网地址 4、设置静态就近性条件,ISP地址库,电信、联通、移动 5、设置静态就近性关系,当电信访问进来,使用电信固定IP180.167.81.109返回。 当联通访问进来,使用联通固定IP180.167.81.110返回
六、效果验证 使用电信运营商多次访问均解析到联通固定地址109 使用联通运营商多次访问均解析到固定地址110
备注: 后面的几张截图删不掉,我拨入公司VPN后内网解析错误,看备注前面的就可以。
小伙子,哥看你骨骼精奇,天赋异禀,将来必成大业!不如这样,你把鼠标移到帖子右上角,那里有点赞图标,你给我加个分,然后我们一起拯救世界如何? |