首页 文章 精选 留言 我的

精选列表

搜索[MoE架构],共10000篇文章
优秀的个人博客,低调大师

无懈可击之完美dns架构

一:dns简介:DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。域名与IP地址之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 二:dns的阶层式管理模式:每一级dns服务器只管理其相邻的下一级dns,如图: 三:dns的查询过程: 第一种是本地解析:就是客户端可以使用缓存信息就地应答,这些缓存信息是通过以前的查询获得的 第二种是递归查询:即设定的DNS服务器代表客户端向其他DNS服务器查询,以便完全解析该名称,并将结果返回至客户端。 第三种是迭代查询:即设定的DNS服务器向客户端返回一个可以解析该域名的其他DNS服务器,客户端再继续向其他DNS服务器查询。 四:dns的服务器类型: 1:主dns服务器:记录可以修改,删除 2:辅助dns服务器:从主dns那里拷贝记录,不能修改,删除。 3.缓存dns服务器: 4:存根dns服务器:为某些特定的用户进行域名解析 五:dns资源记录 SOA(起始授权机构):此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等 NS(名称服务器):此记录指定负责给定区域的名称服务器 A(主机): 此记录列出特定主机名的 IP 地址。 CNAME (标准名称):此记录指定标准主机名的别名。 MX邮件交换器记录:此记录列出了负责接收发到域中的电子邮件的主机。 PTR(指针) :把IP地址映射到域名。 六:dns区域: 正向区域:将主机名解析为ip地址 反向区域:将ip地址解析为主机名 案例一:北京总公司有一台主dns服务器 ,并且建立了一台辅助dns服务器,实现主dns服务器的内容同步到辅助dns服务器中。主dns服务器用Linux,辅助dns服务器用windowsserver 2003. 拓扑方案: 一:首先配置Linux主机: 1:[root@lyt ~]# mkdir /mnt/cdrom [root@lyt ~]# mount /dev/cdrom /mnt/cdrom/ [root@lyt ~]# cd /mnt/cdrom/Server/ [root@lyt Server]# ll bind* #查询与dns相关的软件包:如图: 2:[root@lyt Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm #安装dns的主软件包 [root@lyt Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm #有助于dns服务器安全的软件包 [root@lyt Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm #dns服务器的缓存 [root@lyt named]# cd /var/named/chroot #切换到dns服务器的根目录 [root@lyt named]# cd /var/named/chroot/etc/ #切换到dns服务器的主配置文档目录 [root@lyt etc]# cp -p named.caching-nameserver.conf named.conf #-p表示将文件的属性也拷贝一下,新文件名字一定是named.conf [root@lyt etc]# vim named.conf #编辑该文件如图所示: [root@lyt etc]# vim named.rfc1912.zones #编辑区域声明文件 3:[root@lyt chroot]# cd /var/named/chroot/var/named/ #切换到dns服务器的区域文件中 [root@lyt named]# cp -p localhost.zone a.com.db #使用模板拷贝成一个数据库文件 [root@lyt named]# vim a.com.db #编辑该区域的数据库文件如图: [root@lyt named]# service named restart [root@lyt named]# rndc reload #将dns的更新重新加载 二:配置windows server 2003主机: 1:选择:开始——〉设置——〉控制面板——〉添加或删除程序——〉添加/删除windows组件 2:开始——〉设置——〉控制面板——〉管理工具——〉dns 三:测试Linux主机和windows server主机的连通性: 四:修改Linux上主区域的数据库文件,查看windows server 主机上的辅助区域变化: [root@lyt named]# vim a.com.db [root@lyt named]# rndc reload #将dns的更新重新加载 五:限制windows主机到Linux主机上复制主区域内容 1:在named.conf文件中做限制: [root@lyt named]# cd ../../etc/ [root@lyt etc]# vim named.conf #再次编辑次文件,如图: [root@lyt etc]# vim ../var/named/a.com.db [root@lyt etc]# rndc reload 2:在区域文件named.rfc1912.zones中做限制,只能限制某个区域: 将上一步骤中的named.conf文件中的allow-transfer { 192.168.101.100; };禁用,然后用named.rfc1912.zones 作测试: [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# rndc reload 案例二:主dns服务器用windows server 2003, 辅助dns:linux 。实现主dns服务器内容同步到辅助dns服务器中。 拓扑方案: 一:配置windows server 2003主机 二:配置linux主机: [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# rndc reload [root@lyt etc]# cd ../var/named/slaves/ [root@lyt slaves]# more b.com.db #查看b.com.db中的信息,如图: 三:如果windows server主机中有更新:查看linux主机上是否能够同步信息: [root@lyt slaves]# service named restart [root@lyt slaves]# rndc reload [root@lyt slaves]# cat b.com.db 案例三:反向区域: 1:要求:使用linux主机创建反向区域。windows server 2003主机创建反向区域,作为linux主机的备份dns服务器: 首先配置linux主机: [root@lyt ~]# cd /var/named/chroot/etc/ [root@lyt etc]# vim named.rfc1912.zones [root@lyt named]# cp -p named.local 10.10.10.db 配置windows server 2003主机: 用xp主机进行测试: 2:要求:使用windows server 2003创建反向区域。linux主机建立反向区域,作为辅助区域: 配置linux主机: [root@lyt ~]# cd /var/named/chroot/etc/ [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# service named restart [root@lyt etc]# cd ../var/named/slaves/ 案例四:区域的委派与转发1: 1:linux主机做父域,windows server 2003主机做子域 委派:将相关区域解析权限下放给某一台DNS服务器在委派服务器上只存储一条委派方与被委派方的记录。 转发:一般是本地的DNS不能为本地的用户进行服务,然后转发到其他指定的DNS。(转发可以通过转发器和根提示来实现) 说明:在北京总公司有一台dns服务器,域名是c.com,北京分公司的域名是bj.c.com。在上海的分公司域名是sh.c.com。在北京总公司的dns服务器上建立父子域,并对上海分公司dns服务器授权。上海分公司通过设置根提示和转发其来解析北京总公司及北京分公司。 拓扑方案: 一:首先配置linux上的dns-server:(在上个案例中已经将有关dns的软件包安装完毕,现在只修改配置文件) [root@lyt etc]# pwd #显示当前目录 /var/named/chroot/etc [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# cd ../var/named/ [root@lyt named]# cp -p localhost.zone c.com.db #复制模板文件,-p表示连同属性一起复制 [root@lyt named]# cp -p localhost.zone bj.c.com.db [root@lyt named]# vim c.com.db#编辑c.com域,对上海分公司进行委派: [root@lyt named]# vim bj.c.com.db #编辑bj.c.com子域的数据库文件如图: [root@lyt named]# named-checkconf /var/named/chroot/etc/named.conf #检测主配置文档是否有错 [root@lyt named]# named-checkzone a.com /var/named/chroot/var/named/a.com.db #检测区域文件是否有错 [root@lyt named]# service named restart 二:配置windwos server 2003主机:(在上个案例中,dns已经安装。这里不用安装了) 三:用xp主机进行测试: 1:dns指向linux主机: 查看解析结果: 2:使xp主机的dns指向windows server 2003主机: 查看解析结果: 在windows server 2003主机上设置根提示: 在xp主机上再次测试,xp主机dns指向子域sh.c.com。设置根提示之后解析成功: 将windows server 2003主机上设置的根提示删除,然后设置转发器: 在xp主机上使用ipconfig /flushdns清除缓存,然后再次进行测试: 2:区域的委派与转发2:windows server 2003主机做父域,linux主机做子域: 首先配置winodws server 2003主机: 在linux主机上配置委派的域sh.d.com: [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# cd ../var/named/ [root@lyt named]# cp -p localhost.zone sh.d.com.db [root@lyt named]# vim sh.d.com.db 使用xp主机进行测试:dns指向windows server 2003: dns指向linux主机(sh.d.com子域): 在linux主机上设置根提示: [root@lyt named]# vim named.ca #编辑dns的根指向文件 [root@lyt named]# service named restart 再次用xp主机测试: 在linux主机上设置转发器:(将根指向删除) 1:无条件转发: [root@lyt named]# cd ../../etc/ [root@lyt etc]# vim named.conf 2:配置有条件转发: [root@lyt etc]# vim named.rfc1912.zones [root@lyt etc]# rndc reload 用xp主机,再次进行测试: 看完务必赞一个,写博客好辛苦!!! 本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/973781,如需转载请自行联系原作者

优秀的个人博客,低调大师

JPDA 架构研究22 - 总结

引入: 前面有几十篇文章从JPDA的各个层面深入剖析了这个协议的细节和其中的各个组成部分细节,现在到了我们总结的时候了。因为图比文字更直观,所以这里精心设计一组图来详细阐述这其中的整个奥秘。如果要对某些部分做特别关注,可以参见前面相关文章。 分析(还是分场景): 场景1: JVM加载阶段: 其中dt_mem只适合于windows平台。 场景2:建立连接阶段(分两种情况.): Scenario 1: 如果是 Target VM主动发起对Debugger的连接。 Scenario 2:如果是Target VM被动等Debugger建立的连接。 场景3:调试阶段: 本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1588773,如需转载请自行联系原作者

优秀的个人博客,低调大师

Linux集群架构介绍

▎根据功能划分为两大类: 高可用 负载均衡 高可用 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务。 实现高可用的开源软件有:heartbeat、keepalived等,其中heartbeat这款软件在CentOs6上面的bug略多,假如主服务器宕机,备用服务器不可以在短时间正常切换提供服务,而且长时间没有更新,所以不建议使用。 负载均衡 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2台。 实现负载均衡的开源软件有LVS、keepalived、haproxy、nginx,商业的有F5、Netscaler,商业的价格比较昂贵,优点:高并发量支持,稳定性不错,如果使用开源的软件去搭建,其稳定性在于设备, keepalived通过VRRP(Virtual Router Redundancy Protocl)来实现高可用。 在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。 master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就需要根据各个backup的优先级来决定谁成为新的mater。 Keepalived要有三个模块,分别是core、check和vrrp。其中core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析,check模块负责健康检查,vrrp模块是来实现VRRP协议的。 本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1963995 ,如需转载请自行联系原作者

优秀的个人博客,低调大师

Exchange Server 2010 架构拓扑

前段时间一直忙于测试,发布的都是些配置文档,这次给大家呈现下Exchange邮件系统的规划拓扑。 拓扑说明: 2台CAS和HUB服务器,CAS和HUB角色服务器安装在一起,CAS角色服务器组成一个CAS Array阵列 负载平衡,HUB角色服务器负责Internet邮件和Internal邮件,其中路由传输路由冗余;2台Mailbox服务器挂接SAN(FC)存储设备存放邮箱数据库,并组成一个DAG组,NLB+DAG实现邮件系统高可用; 2台DC负责目录服务;1台MailGateway负责病毒及垃圾邮件过滤。 本文转自liang_simon51CTO博客,原文链接:http://blog.51cto.com/shubao ,如需转载请自行联系原作者

优秀的个人博客,低调大师

mozilla的分层IO架构

mozilla的IO实现是分层的,本质上和BIO是一样的,只是写法不同罢了,最上层,mozilla封装了一个结构体: struct PRFileDesc { const PRIOMethods *methods; //本层的IO函数的实现 PRFilePrivate *secret; PRFileDesc *lower, *higher; //上下两层,如此所有的层次可以三个三个连成链表 void (PR_CALLBACK *dtor)(PRFileDesc *fd); PRDescIdentity identity; //标识 }; 关于mozilla对分层io描述符的实现请参考nsprpub/pr/src/io/prio.c和nsprpub/pr/src/io/prlayer.c,特别值得一提的是最具有代表性的push操作: PR_IMPLEMENT(PRStatus) PR_PushIOLayer(PRFileDesc *stack, PRDescIdentity id, PRFileDesc *fd) { PRFileDesc *insert = PR_GetIdentitiesLayer(stack, id); if (stack == insert) { //插入在当前IO栈的顶端 PRFileDesc copy = *stack; *stack = *fd; *fd = copy; fd->higher = stack; stack->lower = fd; stack->higher = NULL; } else { //插入在当前IO栈的任意位置 fd->lower = insert; fd->higher = insert->higher; insert->higher->lower = fd; insert->higher = fd; } return PR_SUCCESS; } 和OpenSSL的BIO_push是十分类似的,只是BIO_push只能在顶端push,是真正的push,而mozilla的实现命名为insert倒是更好。类似的,PR_CreateIOLayerStub和OpenSSL的BIO_new很类似,都是初始化一个新的“要插入”的io描述符,BIO_next在mozilla中直接通过结构体引用,即fd->lower,BIO中的BIO_METHOD实现了本层的io策略,而mozilla的prio实现中的PRIOMethods起着同样的作用。 通过使用PRFileDesc以及prio所提供的众接口,你可以将一系列的io例程堆积在一起,形成一个io栈,这就是分层的思想。分层的IO可以很方便的加入任何自定义的过滤策略和数据加工策略。突然想到,windows操作系统的drivers目录下有一个叫做tcpip.sys的文件,而unix在/dev目录下亦有一个ip,tcp文件。 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271799

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册