一、DHCP原理
1、IP地址的获取方式:
(1)手动配置:工作量大且不好管理,还有可能会造成IP地址冲突等问题;
(2)使用动态主机配置协议DHCP获取:可以减少管理员的工作量,避免用户手工配置网络参数时造成的地址冲突。
2、DHCP服务器能够为大量主机分配IP地址,可进行地址的集中分配,并能够集中管理;
3、DHCP报文类型:
- DHCP DISCOVER (发现):客户端开始DHCP过程发送的包,是DHCP协议的开始;客户端用来寻找DHCP服务器;
- DHCP OFFER (提供):服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP(yiaddr)、客户端的MAC地址、租约过期时间、服务器的识别符以及其他配置信息;
- DHCP REQUEST(请求——广播发送) :客户端对于服务器发出的DHCP OFFER所做出的响应;在续约租期的时候同样会使用。(1)请求分配IP地址等;(2)通过其他的服务器,自己找到了可提供IP地址的服务器,不需要为自己保留空闲的IP地址啦(选择原则:先到先得);
- DHCP ACK :服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。
- DHCP NAK :DHCP ACK的相反的报文,表示服务器拒绝了客户端的请求。
- DHCP RELEASE (释放):一般出现在客户端关机、下线等状况。这个报文将会使DHCP服务器释放发出此报文的客户端的IP地址
- DHCP INFORM :客户端发出的向服务器请求一些配置信息的报文;
- DHCP DECLINE :当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止
使用该IP地址。
DHCP工作原理:
主机新加入网络时,获取IP的流程 :
1、新的client加入网络时,会使用0.0.0.0作为源地址(因为自己开始时没有IP地址),发送discover广播报文,查询网络上有哪些DHCP server,以及这些DHCP server 能Offer哪些IP地址 ;
2、 DHCP服务器接收到DHCP Discover报文后,回应Offer报文,提供IP地址(可能包含DNS等其他信息)给client ;
3、client 根据收到的Offer报文,选择一个DHCP server,并选择它提供的IP地址。然后广播Request报文,向DHCP Server请求该IP地址,同时向本地网络(尤其是其他DHCP Server)公告自己已经选择了某个DHCP Server的某个IP地址;
4、 DHCP Server 回应ACK报文,将IP地址分配给Client端 (特殊情况:DHCP Server在发送Offer报文和接收到Request的短暂时间内把IP分配给了其他主机)
5、DHCP Client 收到ACK报文后,会针对获得的IP地址发送ARP Request,进行IP地址冲突检测(广播发送免费ARP,检测IP地址是否冲突);
6. 如果IP地址已经被其他主机使用,则Client放弃该IP地址,向 Server发送DHCP DECLINE报文告诉Server该地址不能使用。然后一段时间后(一般10s)再此尝试获取该IP地址 ;
7. 如果Client仍然无法使用该IP地址,则发送DHCP RELEASE报文,放弃该地址。
主机已经有IP地址,只想更新租约时:
1. 此时可以跳过DHCP Discover报文和DHCP Offer报文 ;
2. Client发送携带当前IP地址的Request报文 ;
3. 如果Server同意Client续约,则发送DHCP ACK报文。如果拒绝续约,则发送DHCP NAK报文。
主机只想更新IP地址以外的信息时:用DHCP INFORM 取代 DHCP Request报文。
注:在DHCP Discover报文中,客户端在请求地址时,一般会申请它之前使用过的地址,所以在option 50的字段中会存在上一次使用的地址。如果该客户所在的网络中此IP仍然可用,服务器就可以准许该申请。
4、地址池:
(1)接口地址池:为连接到同一网段的主机或终端分配IP地址;在进行配置时,指定好所在网段的网段之后,IP地址会从该网段内被分配;可以在服务器的接口下执行dhcp select interface命令,配置DHCP服务器采用接口地址池的DHCP服务器模式为客户端分配IP地址。
配置操作:
dhcp enable命令——用来使能DHCP功能。在配置DHCP服务器时,必须先执行dhcp enable命令,才能配置DHCP的其他功能并生效。
dhcp select interface命令——用来关联接口和接口地址池,为连接到接口的主机提供配置信息。
dhcp server dns-list命令——用来指定接口地址池下的DNS服务器地址。
dhcp server excluded-ip-address命令——用来配置接口地址池中不参与自动分配的IP地址范围。
dhcp server lease命令——用来配置DHCP服务器接口地址池中IP地址的租用有效期限功能。缺省情况下,接口地址池中IP地址的租用有效期限为1天。
display ip pool命令——查看接口地址池的属性。display信息中包含地址池的IP地址范围,还包括IP网关,子网掩码等信息。
(2)全局地址池:为所有连接到DHCP服务器的终端分配IP地址。可以在服务器的接口下执行dhcp select global命令,配置DHCP服务器采用全局地址池的DHCP服务器模式为客户端分配IP地址;需要进行额外的创建地址池;
配置操作:
ip pool命令——用来创建全局地址池。
network命令——用来配置全局地址池下可分配的网段地址。
gateway-list命令——用来配置DHCP服务器全局地址池的出口网关地址。
lease命令——用来配置DHCP全局地址池下的地址租期。缺省情况下,IP地址租期是1天。
dhcp select global命令——用来使能接口的DHCP服务器功能。
(3)接口地址池的优先级比全局地址池高。配置了全局地址池后,如果又在接口上配置了地址池,客户端将会从接口地址池中获取IP地址。
(4)DHCP服务器会把地址池中的IP地址根据不同状态分成不同的IP地址列表:把未被分配出去的IP地址放在可分配的IP地址列表中,把已经分配出去的IP地址放在正在使用IP地址列表中;把处于冲突状态的IP地址放在冲突IP地址列表中;把不能分配的IP地址放在不能分配IP地址列表中。
DHCP服务器在地址池中为客户端选择IP地址的优先顺序:
a、DHCP服务器上已配置的与客户端MAC地址静态绑定的IP地址;
b、DHCP服务器上记录的曾经分配给客户端到的IP地址;
c、客户端发送的DHCP DISCOVER报文中Option50字段(请求IP地址选项)中指定的地址;
d、按照IP地址从大到小的顺序查询,选择最先找到的可供分配的IP地址;
e、如果未找到可以分配的IP地址,则一次查询超时租期、处于冲突状态的IP地址,如果找到可用的IP地址,则进行分配;否则,发送DHCP NAK报文作为应答,通知DHCP客户端无法分配IP地址。DHCP客户端需要重新发送DHCP DISCOVER报文来申请IP地址。
DHCP重绑定:DHCP客户端在租约期限到达87.5%时,还没收到服务器响应,会申请重绑定IP。
详细解释:(1)DHCP客户端发送DHCP请求报文续租时,如果DHCP客户端没有收到DHCP服务器的DHCP应答报文。默认情况下,重绑定定时器在租期剩余12.5%的时候超时,超时后,DHCP客户端会认为原DHCP服务器不可用,开始重新发送DHCP请求报文。网络上任何一台DHCP服务器都可以应答DHCP确认或DHCP非确认报文。
(2)如果收到DHCP确认报文,DHCP客户端重新进入绑定状态,复位租期更新定时器和重绑定定时器。如果收到DHCP非确认报文,DHCP客户端进入初始化状态。此时,DHCP客户端必须立刻停止使用现有IP地址,重新申请IP地址。
IP地址释放:(1)如果IP租约到期前都没有收到服务器响应,客户端停止使用此IP地址。
(2)如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该IP地址。
二、FTP——文件传输协议原理
1、FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。
2、FTP 提供了一种在服务器和客户机之间上传和下载文件的有效方式(C/S模式);
3、文件传输过程:
在进行文件传输前,需要基于TCP建立两个连接:控制连接、数据连接;
(1)控制连接:FTP服务器开启21号端口,等待FTP客户端发送连接请求。FTP客户端随机开启端口,向服务器发送建立连接的请求。控制连接用于在服务器和客户端之间传输控制命令。
(2)数据连接:服务器使用TCP的20号端口与客户端建立数据连接。通常情况下,服务器主动建立或中断数据连接。
4、FTP的传输模式:
(1)ASCII模式(默认情况下):发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。
(2)二进制模式:二进制模式常用于发送图片文件和程序文件。发送端在发送这些文件时无需转换格式,即可传输。
5、FTP配置:
执行ftp server enable命令——使能FTP功能(配置的前提)。
执行set default ftp-directory命令——设置FTP用户的默认工作目录(视实际情况而定)。
在配置FTP服务器时,可以使用AAA为每个用户分别配置登录账号和访问权限。
local-user xxxx service-type ftp命令——用来配置本地用户的接入类型为ftp。
ftp-directory命令——指定FTP用户可访问的目录。如果不配置FTP用户可访问的目录,则FTP用户无法登录设备。 access-limit指定用户名可建立的最大连接数目。
idle-timeout命令——指定用户的闲置超时时间。
privilege level命令——指定用户的优先级。
ftp命令——用来与远程FTP服务器建立控制连接,并进入FTP客户端视图。
binary命令——用来在设备作为FTP客户端时设置文件传输方式为Binary模式,又称二进制模式。 缺省情况下,文件传输方式为ASCII模式。
get命令——用来从远程FTP服务器下载文件并保存在本地。
put命令——上传文件;
三、Telnet原理
1、可以使用Telnet远程连接到每一台设备上,对这些网络设备进行集中的管理和维护。
2、Telnet用户可以像通过Console口本地登录一样对设备进行操作。远端Telnet服务器和终端之间无需直连,只需保证两者之间可以互相通信即可。
3、Telnet客户端和服务器基于TCP协议,服务器端口号默认为23,连接来传输命令(C/S模式)。
4、认证模式:
(1)AAA模式:当配置用户界面的认证方式为AAA时,用户登录设备时需要首先输入登录用户名和密码才能登录。
(2)Password 模式:当配置用户界面的认证方式为password时,用户登录设备时需要首先输入登录密码才能登录。
(3)None模式:不需要任何形式的认证,但是安全性特别的差!!!
5、Telnet配置:
(1)网络设备作为Telnet服务器,通常使用密码认证机制来认证连接到VTY接口的用户。
(2)VTY:是网络设备用来管理和监控通过Telnet方式登录的用户的界面。VTY 0 4的含义是VTY0,VTY1,VTY2,VTY3,VTY4。如果需要增加Telnet用户的登录数量,可以使用user-interface maximum-vty命令来调整VTY界面的数量。
(3)执行authentication-mode password命令,可以配置VTY通过密码对用户进行认证。
(4)远端设备配置为Telnet服务器之后,可以在客户端(用户视图)上执行telnet命令来与服务器建立Telnet连接。
6、网络设备已经配置完成Telnet服务,但是用户仍然不能实现远程访问,原因可能是:
(1)连通性问题(网络是否可达) (2)检查用户数 (允许同时访问的用户数的最大值)(3)密码的正确性 (4)过滤ACL (5)VTY下的协议设定(Telnet、SSH)
四、综合配置实验
实验要求1:
部署R1为DHCP服务器,实现除R1之外所有地址的自动获取( 注释:配置过后,在PC上指定使用DHCP来获取IP地址,并加以应用。 )——全局地址池的配置
*********R1*********
[Huawei]sys R1
[R1]dhcp enable //全局使能DHCP功能
[R1]ip pool hcia //设定地址池名字
[R1-ip-pool-hcia]network 10.0.1.0 mask 24 //宣告地址池的网段+掩码
[R1-ip-pool-hcia]gateway-list 10.0.1.1 //指定网关地址
[R1-ip-pool-hcia]excluded-ip-address 10.0.1.250 20.0.1.254 //设置保留IP地址
[R1-ip-pool-hcia]static-bind ip 10.0.1.10 mac-address 5489-984F-32FE //配置静态绑定IP地址
[R1-GigabitEthernet0/0/0]ip ad 10.0.1.1 24
[R1-GigabitEthernet0/0/0]dhcp select global //在接口下使能全局DHCP功能
配置过后,在PC-1上使用ipconfig命令查看IP地址等信息。
部署R1为DHCP服务器,实现除R1之外所有地址的自动获取——接口地址池的配置
***********R1**********
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 10.0.2.1 24 //配置从地址池网段的网关地址
[R1-GigabitEthernet0/0/1]dhcp select interface //使能接口DHCP功能
部署R1为DHCP服务器,实现除R1之外所有地址的自动获取——路由器上接口地址池的配置
********R1*********
[R1]dhcp enable
[R1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip ad 10.0.3.1 24 //宣告地址池中IP地址网段的网关地址
[R1-GigabitEthernet0/0/2]dhcp select interface //使能接口DHCP地址池功能
********R2********
[R2]dhcp enable //使能DHCP功能
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip ad dhcp-alloc //指定IP地址从地址池中获取
配置过后,使用display ip int brief命令在路由器R2上查看IP地址的信息:
实验要求2:部署R1为Telnet服务器,认证模式为AAA,采用MD5
********R1********
[R1]user-interface vty 0 4 //进入远程登录用户视图下
[R1-ui-vty0-4]authentication-mode aaa //认证模式为AAA
[R1-ui-vty0-4]aaa //进入AAA视图下
[R1-aaa]local-user hcia password cipher hcia //创建新用户为hcia,设置登录密码为hcia
[R1-aaa]local-user hcia service-type telnet //设置服务类型为Telnet
[R1-aaa]local-user hcia privilege level 3 //设置用户的优先级
实验要求3:
(1)部署R1位FTP服务器;
(2)将/dhcp下的dhcp-duid.txt复制到falsh:下并重新命名为hello.txt;
(3)R2可下载yuxin.txt文件、重命名为123.txt并上传;
*******R1*********
[R1]ftp server enable //先使能FTP服务功能
[R1]user-interface vty 0 4
[R1-ui-vty0-4]authentication-mode aaa
[R1-ui-vty0-4]aaa
[R1-aaa]local-user huawei password cipher huawei
[R1-aaa]local-user huawei service-type ftp //修改服务类型为FTP
[R1-aaa]local-user huawei ftp-directory flash: //指定文件下载或上传可访问的目录
[R1-aaa]local-user huawei privilege level 3
使用pwd命令——查看目录文件;dir命令——查看文件;cd命令——修改路径;
将指定文件复制到相应的位置:使用 copy+指定文件名+要复制到的路径/重命名 命令——完成。
在路由器R2的用户视图上FTP连接R1,输入用户名+密码:
登录到FTP服务器上后,使用get命令下载所需要的文件:
使用rename命令对文件进行重命名:
使用put命令上传文件到FTP服务器上:
在FTP服务器上验证: