12.14linux学习第十七天

今天老刘收了下第13章尾巴,讲了第14章和第15章。

13.6 分离解析技术

现在,喜欢看我们这本《Linux就该这么学》的海外读者越来越多,如果继续把本书配套的网站服务器(https://www.linuxprobe.com)架设在北京市的机房内,则海外读者的访问速度势必会很慢。可如果把服务器架设在美国那边的机房,也将增大国内读者的访问难度。

为了满足海内外读者的需求,外加刘遄老师不差钱,于是可以购买多台服务器并分别部署在全球各地,然后再使用DNS服务的分离解析功能,即可让位于不同地理范围内的读者通过访问相同的网址,而从不同的服务器获取到相同的数据。例如,我们可以按照表13-5所示,分别为处于北京的DNS服务器和处于美国的DNS服务器分配不同的IP地址,然后让国内读者在访问时自动匹配到北京的服务器,而让海外读者自动匹配到美国的服务器,如图13-9所示。

表13-5                                      不同主机的操作系统与IP地址情况

主机名称 操作系统 IP地址
DNS服务器 RHEL 7 北京网络:122.71.115.10
    美国网络:106.185.25.10
北京用户 Windows 7 122.71.115.1
海外用户 Windows 7 106.185.25.1

第13章 使用Bind提供域名解析服务。第13章 使用Bind提供域名解析服务。

图13-9  DNS分离解析技术

为了解决海外读者访问https://www.linuxprobe.com时的速度问题,刘遄老师已经在美国机房购买并架设好了相应的网站服务器,接下来需要手动部署DNS服务器并实现分离解析功能,以便让不同地理区域的读者在访问相同的域名时,能解析出不同的IP地址。

做了个美国IP访问和中国IP访问的实验。

14.1 动态主机地址管理协议

动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数。

简单来说,DHCP协议就是让局域网中的主机自动获得网络参数的服务。在图14-1所示的拓扑图中存在多台主机,如果手动配置每台主机的网络参数会相当麻烦,日后维护起来也让人头大。而且当机房内的主机数量进一步增加时(比如有100台,甚至1000台),这个手动配置以及维护工作的工作量足以让运维人员崩溃。借助于DHCP协议,不仅可以为主机自动分配网络参数,还可以确保主机使用的IP地址是唯一的,更重要的是,还能为特定主机分配固定的IP地址。

第14章 使用DHCP动态管理主机地址。第14章 使用DHCP动态管理主机地址。

图14-1  DHCP协议的拓扑示意图

DHCP协议的应用十分广泛,无论是服务器机房还是家庭、机场、咖啡馆,都会见到它的身影。比如,本书的某位读者开了一家咖啡厅,在为顾客提供咖啡的同时,还为顾客免费提供无线上网服务。这样一来,顾客就可以一边惬意地喝着咖啡,一边连着无线网络刷朋友圈了。但是,作为咖啡厅老板的您,肯定不希望(也没有时间)为每一位造访的顾客手动设置IP地址、子网掩码、网关地址等信息。另外,考虑到咖啡馆使用的内网网段一般为192.168.10.0/24(C类私有地址),最多能容纳的主机数为200多台。而咖啡厅一天的客流量肯定不止200人。如果采用手动方式为他们分配IP地址,则当他们在离开咖啡厅时并不会自动释放这个IP地址,这就可能出现IP地址不够用的情况。这一方面会造成IP地址的浪费,另外一方面也增加的IP地址的管理成本。而使用DHCP协议,这一切都迎刃而解—老板只需安心服务好顾客,为其提供美味的咖啡;顾客通过运行DHCP协议的服务器自动获得上网所需的IP地址,等离开咖啡厅时IP地址将被DHCP服务器收回,以备其他顾客使用。

既然确定在今后的生产环境中肯定离不开DHCP了,那么也就有必要好好地熟悉一下DHCP涉及的常见术语了。

作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数。

超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表。

排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。

地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围。

租约:DHCP客户端能够使用动态分配的IP地址的时间。

预约:保证网络中的特定设备总是获取到相同的IP地址。

14.2 部署dhcpd服务程序

dhcpd是Linux系统中用于提供DHCP协议的服务程序。尽管DHCP协议的功能十分强大,但是dhcpd服务程序的配置步骤却十分简单,这也在很大程度上降低了在Linux中实现动态主机管理服务的门槛。

是的,您没有看错!dhcp的服务程序的配置文件中只有3行注释语句,这意味着我们需要自行编写这个文件。如果读者不知道怎么编写,可以看一下配置文件中第2行的参考示例文件,其组成架构如图14-2所示。

第14章 使用DHCP动态管理主机地址。第14章 使用DHCP动态管理主机地址。

图14-2  dhcpd服务程序配置文件的架构

14.3 自动管理IP地址

DHCP协议的设计初衷是为了更高效地集中管理局域网内的IP地址资源。DHCP服务器会自动把IP地址、子网掩码、网关、DNS地址等网络信息分配给有需要的客户端,而且当客户端的租约时间到期后还可以自动回收所分配的IP地址,以便交给新加入的客户端。

为了让实验更有挑战性,刘遄老师来模拟一个真实生产环境的需求:

“机房运营部门:明天会有100名学员自带笔记本电脑来我司培训学习,请保证他们能够使用机房的本地DHCP服务器自动获取IP地址并正常上网”。

机房所用的网络地址及参数信息如表14-2所示。

表14-2                                       机房所用的网络地址以及参数信息

参数名称
默认租约时间 21600秒
最大租约时间 43200秒
IP地址范围 192.168.10.50~192.168.10.150
子网掩码 255.255.255.0
网关地址 192.168.10.1
DNS服务器地址 192.168.10.1
搜索域 linuxprobe.com
14.4 分配固定IP地址

在DHCP协议中有个术语是“预约”,它用来确保局域网中特定的设备总是获取到固定的IP地址。换句话说,就是dhcpd服务程序会把某个IP地址私藏下来,只将其用于相匹配的特定设备。

要想把某个IP地址与某台主机进行绑定,就需要用到这台主机的MAC地址。MAC地址是网卡上面的一串独立的标识符,具备唯一性,因此不会存在冲突的情况,如图14-6所示。
第14章 使用DHCP动态管理主机地址。第14章 使用DHCP动态管理主机地址。

图14-6  查看运行Linux系统的主机MAC地址

在Linux系统或Windows系统中,都可以通过查看网卡的状态来获知主机的MAC地址。在dhcpd服务程序的配置文件中,按照如下格式将IP地址与MAC地址进行绑定。

第14章也是有点难的。

15.1 电子邮件系统

20世纪60年代,美苏两国正处于冷战时期。美国军方认为应该在科学技术上保持其领先的地位,这样有助于在未来的战争中取得优势。美国国防部由此发起了一项名为ARPANET的科研项目,即大家现在所熟知的阿帕网计划。阿帕网是当今互联网的雏形,它也是世界上第一个运营的封包交换网络。但是很快在1971年阿帕网遇到了严峻的问题,如图15-1所示,参与阿帕网科研项目的科学家分布在美国不同的地区,甚至还会因为时差的影响而不能及时分享各自的研究成果,因此科学家们迫切需要一种能够借助于网络在计算机之间传输数据的方法。

尽管本书第10章和第11章介绍的Web服务和FTP文件传输服务也能实现数据交换,但是这些服务的数据传输方式就像“打电话”那样,需要双方同时在线才能完成传输工作。如果对方的主机宕机或者科研人员因故离开,就有可能错过某些科研成果了。好在当时麻省理工学院的Ray Tomlinson博士也参与到了阿帕网计划的科研项目中,他觉得有必要设计一种类似于“信件”的传输服务,并为信件准备一个“信箱”,这样即便对方临时离线也能完成数据的接收,等上线后再进行处理即可。于是,Ray Tomlinson博士用了近一年的时间完成了电子邮件(Email)的设计,并在1971年秋天使用SNDMSG软件向自己的另一台计算机发送出了人类历史上第一封电子邮件—电子邮件系统在互联网中由此诞生!

第15章 使用Postfix与Dovecot部署邮件系统。第15章 使用Postfix与Dovecot部署邮件系统。

图15-1  1971年阿帕网科研项目运营情况历史资料图片

既然要在互联网中给他人发送电子邮件,那么对方用户用于接收电子邮件的名称必须是唯一的,否则电子邮件可能会同时发给多个重名的用户,也或者干脆大家都收不到邮件了。因此,Ray Tomlinson博士决定选择使用“姓名@计算机主机名称”的格式来规范电子信箱的名称。选择使用@符号作为间隔符的原因其实也很简单,因为Ray Tomlinson博士觉得人类的名字和计算机主机名称中应该不会有这么一个@符号,所以就选择了这个符号。

电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。

简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。

邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。

Internet消息访问协议版本4(Internet Message Access Protocol 4):用于在本地主机上访问邮件,占用服务器的143/TCP端口。

15.2 部署基础的电子邮件系统

一个最基础的电子邮件系统肯定要能提供发件服务和收件服务,为此需要使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件了。电子邮件系统的工作流程如图15-3所示。

第15章 使用Postfix与Dovecot部署邮件系统。第15章 使用Postfix与Dovecot部署邮件系统。

图15-3  电子邮件系统的工作流程

在RHEL 5、RHEL 6以及诸多早期的Linux系统中,默认使用的发件服务是由Sendmail服务程序提供的,而在RHEL 7系统中已经替换为Postfix服务程序。相较于Sendmail服务程序,Postfix服务程序减少了很多不必要的配置步骤,而且在稳定性、并发性方面也有很大改进。

一般而言,我们的信箱地址类似于“[email protected]”这样,也就是按照“用户名@主机地址(域名)”格式来规范的。如果您给我一串“[email protected]”的信息,我可能猜不到这是一个信箱地址,没准会将它当作SSH协议的连接信息。因此,要想更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

15.2.1 配置Postfix服务程序

Postfix是一款由IBM资助研发的免费开源电子邮件服务程序,能够很好地兼容Sendmail服务程序,可以方便Sendmail用户迁移到Postfix服务上。Postfix服务程序的邮件收发能力强于Sendmail服务,而且能自动增加、减少进程的数量来保证电子邮件系统的高性能与稳定性。另外,Postfix服务程序由许多小模块组成,每个小模块都可以完成特定的功能,因此可在生产工作环境中根据需求灵活搭配它们。

15.2.2 配置Dovecot服务程序

Dovecot是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性极高,配置简单,执行速度快,而且占用的服务器硬件资源也较少,因此是一款值得推荐的收件服务程序。

15.2.3 客户使用电子邮件系统

如何得知电子邮件系统已经能够正常收发邮件了呢?可以使用Windows操作系统中自带的Outlook软件来进行测试(也可以使用其他电子邮件客户端来测试,比如Foxmail)。请按照表15-2来设置电子邮件系统及DNS服务器和客户端主机的IP地址,以便能正常解析邮件域名。

当使用Outlook软件成功发送邮件后,便可以在电子邮件服务器上使用mail命令查看到新邮件提醒了。如果想查看邮件的完整内容,只需输入收件人姓名前面的编号即可。

第15章,虽然之前预习的时候说有点难,其实跟着老刘一起做下实验后感觉也不难嘛。

猜你喜欢

转载自www.cnblogs.com/herofox1982/p/12051871.html