第七章 局域网安全技术
7.1 ACL、NAT概述
7.1.1 ACL
- 概念
对于许多网管员来说,配置路由器的访问控制列表是一件经常性的工作,可以说,路由器的访问控制列表是网络安全保障的第一道关卡。访问列表提供了一种机制,它可以控制和过滤通过路由器的不同接口去往不同方向的信息流。这种机制允许用户使用访问表来管理信息流,以制定公司内部网络的相关策略。这些策略可以描述安全功能,并且反映流量的优先级别。例如,某个组织可能希望允许或拒绝Internet对内部Web服务器的访问,或者允许内部局域网上一个或多个工作站能够将数据流发到广域网上。这些情形,以及其他的一些功能 都可以通过访问表来达到目的。
- 访问列表的种类划分
目前的路由器一般都支持两种类型的访问表:基本访问表和扩展访问表。
这两种ACL的区别是,标准ACL只检查数据包的源地址; 扩展ACL既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。 网络管理员可以使用标准ACL阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。
扩展ACL比标准ACL提供了更广泛的控制范围。例如,网络管理员如果希望做到“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使用扩展ACL来达到目的,标准ACL不能控制这么精确。
- 标准IP访问控制列表
一个标准IP访问控制列表匹配IP包中的源地址或源地址中的一部分,可对匹配的包采取拒绝或允许两个操作。编号范围是从1到99的访问控制列表是标准IP访问控制列表。
- 扩展IP访问控制列表
扩展IP访问控制列表比标准IP访问控制列表具有更多的匹配项,包括协议类型、源地址、目的地址、源端口、目的端口、建立连接的和IP优先级等。编号范围是从100到199的访问控制列表是扩展IP访问控制列表。
- 命名的IP访问控制列表
所谓命名的IP访问控制列表是以列表名代替列表编号来定义IP访问控制列表,同样包括标准和扩展两种列表,定义过滤的语句与编号方式中相似。
- 标准IPX访问控制列表
标准IPX访问控制列表的编号范围是800-899,它检查IPX源网络号和目的网络号,同样可以检查源地址和目的地址的节点号部分。
- 扩展IPX访问控制列表
扩展IPX访问控制列表在标准IPX访问控制列表的基础上,增加了对IPX报头中以下几个宇段的检查,它们是协议类型、源Socket、目标Socket。扩展IPX访问控制列表的编号范围是900-999。
- 命名的IPX访问控制列表
与命名的IP访问控制列表一样,命名的IPX访问控制列表是使用列表名取代列表编号。从而方便定义和引用列表,同样有标准和扩展之分。
- 访问控制列表的作用
- 限制网络流量,提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。
- 提供流量控制。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。
- 提供网络访问的基本安全级别。ACL允许主机A访问人力资源网络,而拒绝主机B访问。
- 在路由器接口决定哪种流量被转发或被阻塞。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。
4.访问控制列表使用原则
- 最小特权原则
只给受控对象完成任务所必须的最小的权限。也就是说被控制的总规则是各个规则的交集,只满足部分条件的是不容许通过规则的。
- 最靠近受控对象原则
所有的网络层访问权限控制。也就是说在检查规则时是采用自上而下在ACL中一条条检测的,只要发现符合条件了就立刻转发,而不继续检测下面的ACL语句。 - 默认丢弃原则
在CISCO路由交换设备中默认最后一句为ACL中加入了DENY ANY ANY,锐捷路由交换设备也具有此特性。也就是丢弃所有不符合条件的数据包。这一点要特别注意,虽然我们可以修改这个默认,但未改前一定要引起重视。
由于ACL是使用包过滤技术来实现的,过滤的依据又仅仅只是第三层和第四层包头中的部分信息,这种技术具有一些固有的局限性,如无法识别到具体的人,无法识别到应用内部的权限级别等。因此,要达到端到端的权限控制目的,需要和系统级及应用级的访问权限控制结合使用。
5.访问控制列表的格式
标准IP访问表
- 标准IP访问表的基本格式为:
access-list [list number][permit|deny][host/any][sourceaddress][wildcard-mask][log]
下面对标准IP访问表基本格式中的各项参数进行解释:
list number---表号范围
标准IP访问表的表号标识是从1到99。 - permit/deny----允许或拒绝
关键字permit和deny用来表示满足访问表项的报文是允许通过接口,还是要过滤掉。permit表示允许报文通过接口,而deny表示匹配标准IP访问表源地址的报文要被丢弃掉。 - source address----源地址
对于标准的IP访问表,源地址是主机或一组主机的点分十进制表示。 - host/any----主机匹配 host和any分别用于指定单个主机和所有主机。
host表示一种精确的匹配,其屏蔽码为0.0.0.0。
any是源地证/目标地址0.0.0.0/255.255.255.255的简写。
- wi1dcardmask------通配符屏蔽码 二进制的0表示一个"匹配"条件,二进制的1表示一个"不关心"条件。
- Log----日志记录 如果该关键字用于访问表中,则对那些能够匹配访问表中的permit和deny语句的报文进行日志记录。日志信息包含访问表号、报文的允许或拒绝、源IP地址以及在显示了第一个匹配以来每5分钟间隔内的报文数目。
扩展的IP访问控制列表
扩展IP访问表的基本格式为:
access-list access-list-number[dynamic dynamic-name[timeout minutes]] {deny|permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log|log-input] [time-range time range-name] [fragments]
- access-list-number ----表号范围
扩展IP访问表的表号标识从l00到199。 - dynamic dynamic-name (可选项)把ACL定义为动态的ACL。
- timeout minutes 指定时间的绝对长度,准确到分钟的一个临时访问控制列表入口可以保持在动态访问控制列表种的时间。默认的是一个无穷大的时间,并允许一个入口保持不变。
- deny|permit
deny 如果条件符合就拒绝访问。
permit 如果条件符合就允许访问。
- protocol-----协议
协议项定义了需要被过滤的协议,例如IP、TCP、UDP、1CMP等等。协议选项是很重要的,因为在TCP/IP协议栈中的各种协议之间有很密切的关系,如果管理员希望根据特殊协议进行报文过滤,就要指定该协议。 - Source 发送份组的网络号或主机。
- source-wildcard 用于源地址的通配符位。
- Destination 分组的目的网络号或主机。
- destination-wildcard 用于源地址的通配符位。
- precedence precedence 分组可基于优先级来过滤。
- tos tos 分组可基于服务类型的级别来过滤。
- log|log-input 日志的输出消息包括输入接口和源MAC地址或虚拟信道。
- ime-range time range-name 应用与该语句的时间范围的名称。时间发内的名称及其要求由ime-range命令指定。
- Icmp-type (可选项)基于ICMP消息类型来过滤ICMP分组。
- Icmp-code (可选项)基于ICMP消息代码来过滤ICMP分组。
- Icmp-message (可选项)基于ICMP消息的类型名或者ICMP消息类型和代码名称来过滤ICMP分组。
- igmp-type (可选项)基于IGMP消息类型或者消息名称来过滤ICMP分组,消息类型是一个从0到15的数字。
- Operator (可选项)比较源和目的端口,可用的操作符包括lt(小于),gt(大于),eq(等于),neq(不等于)和range(包括的范围)
如果操作符位于源地址和源地址通配符之后,那么它必须匹配源端口。
如果操作符位于目的地址和目的地址统配符之后,那么它必须匹配目的端口。
Range操作符需要两个端口号,其他操作符只需要一个端口号。
- Port (可选项)指明TCP或UDP端口的十进制数字或名字。
- Established (可选项)只针对TCP协议,指一个已经建立的连接。如果TCP数据报中的ACK,FIN,PSH,RST,SYN或者URG等控制位被指定,则匹配,如果是要求建立连接的初始数据报,则不匹配。
- Fragments (可选项)该ACL入口应用于分组的非初始部分,这个段将被允许或拒绝。
6.注意事项
- ACL语句属于相同的ACL并具有相同的ACL号很重要。
- 为创建一个ACL时ACL语句的顺序是至关重要的。当根据访问控制列表来比较分组时,比较是按照ACL语句一句一句比较的,直到与某一语句匹配。一旦与某一语句匹配,就执行匹配语句中所指定的动作,不再检查其他条件语句。
- 当一个ACL被创建后,新的语句行都会被加到ACL的最后。无法删除列表中的单独一行,只能删除整个ACL列表。
- 最好的办法是,使用PC机上的文本编辑器创建或修改ACL,然后再通过TFTP或超级终端的发送文本文件将ACL传到路由器。
- 为每个ACL分配唯一的编号
- ACL语句中条件判断的语句是无限的,其数量的大小只受内存的限制。当然,条件判断语句越多,该ACL的执行和管理就越困难。ACL会消耗路由器的CPU资源,路由器在转发分组时不得不消耗大量资源。
- 当分组不能与任何一个条件判断语句匹配时,则在ACL的末尾隐含对所有访问的拒绝。
7.ACL的配置方法
ACL的配置分为两个步骤:
- 在全局配置模式下,使用下列命令创建ACL:
Router (config)# access-list access-list-number {permit | deny } {test-conditions}
其中,access-list-number为ACL的表号。人们使用较频繁的表号是标准的IP ACL(1—99)和扩展的IP ACL(100-199)。
- 在接口配置模式下,使用access-group命令ACL应用到某一接口上:
Router (config-if)# {protocol} access-group access-list-number {in | out }
其中,in和out参数可以控制接口中不同方向的数据包,如果不配置该参数,缺省为out。 ACL在一个接口可以进行双向控制,即配置两条命令,一条为in,一条为out,两条命令执行的ACL表号可以相同,也可以不同。但是,在一个接口的一个方向上,只能有一个ACL控制。
值得注意的是,在进行ACL配置时,网管员一定要先在全局状态配置ACL表,再在具体接口上进行配置,否则会造成网络的安全隐患。
7.1.2 NAT
- NAT概述
随着internet的网络以爆炸性的速度膨胀,IP地址短缺及路由规模越来越大已成为一个相当严重的问题。为了解决这个问题,出现了多种解决方案。一种在目前网络环境中比较有效的方法即地址转换(NAT)功能。
所谓的地址转换,即NAT功能,就是指在一个组织网络内部,根据需要可以随意自定义的IP地址(不需要经过申请)即假的IP地址。在本组织内部,各计算机间通过假的IP地址进行通讯。而当组织内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(这里路由器)负责将其假的IP地址转换为真的IP地址,即该组织申请的合法IP地址进行通信。
简单地说,NAT就是通过某种方式将IP地址进行转换。
- NAT的几个概念
- 内部本地地址(Inside local address):
分配给内部网络中的计算机的内部IP地址。
- 内部合法地址(Inside global address):
对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。
- NAT 的应用环境
情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。
情况2:一个企业申请的合法Internet IP地址很少,而内部网络用户很多。可以通过NAT功能实现多个用户同时公用一个合法IP与外部Internet 进行通信。
设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。内部端口连接的网络用户使用的是内部IP地址(非法IP);外部端口连接的是外部的网络,使用电信部门分配给我们的IP地址。一般来说,内部端口应使用ETHERNET端口,外部端口使用SERIAL 端口。另外,想要使用NAT功能,路由器的IOS必须支持NAT功能。
NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。
- 静态地址转换
静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要指定和哪个合法地址进行转换。如果内部网络有www服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。
静态地址转换基本配置步骤:
- 在内部本地地址与内部合法地址之间建立静态地址转换。在全局设置状态下输入:
Ip nat inside source static 内部本地地址 内部合法地址
- 指定连接网络的内部端口 在端口设置状态下输入:
ip nat inside
- 指定连接外部网络的外部端口 在端口设置状态下输入:
ip nat outside
注:可以根据实际需要定义多个内部端口及多个外部端口。
- 动态地址转换
动态地址转换也是将内部本地地址与内部合法地址一对一地转换,但是动态地址转换是从内部合法地址池中动态地选择一个未使用的地址来对内部本地地址进行转换的。
动态地址转换基本配置步骤:
- 在全局设置模式下,定义内部合法地址池
ip nat pool 地址池名称 起始IP地址 终止IP地址 子网掩码
其中地址池名称可以任意设定。
- 在全局设置模式下,定义一个标准的access-list规则以允许哪些内部地址可以进行动态地址转换。
Access-list 标号 permit 源地址 通配符
其中标号为1-99之间的整数。
- 在全局设置模式下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。
ip nat inside source list 访问列表标号 pool内部合法地址池名字
- 指定与内部网络相连的内部端口在端口设置状态下:
ip nat inside
- 指定与外部网络相连的外部端口
ip nat outside
- 复用动态地址转换
复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。
复用动态地址转换配置步骤:
- 在全局设置模式下,定义内部合地址池
ip nat pool 地址池名字 起始IP地址 终止IP地址 子网掩码
其中地址池名字可以任意设定。
- 在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。
access-list 标号 permit 源地址 通配符
其中标号为1-99之间的整数。
- 在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。
ip nat inside source list 访问列表标号 pool 内部合法地址池名字 overload
- 在端口设置状态下,指定与内部网络相连的内部端口
ip nat inside
- 在端口设置状态下,指定与外部网络相连的外部端口
ip nat outside
- 涉及NAT的配置命令
与配置NAT有关的命令描述如下。
- Clear ip nat :用来清除所有活动的NAT。
- Ip nat:用来为发送报文(从内部)或接收报文(到外部)的接口应用NAT。
- Ip nat inside destination list:全局命令,为内部目的的地址应用NAT。可配置为动态或静态的
- Ip nat inside source:全局命令,为内部源地址应用NAT。可配置为动态或静态的。
- Ip nat outside source:全局命令,为外部源地址应用NAT。可配置为动态或静态的。
- Ip nat pool name:全局命令,定义一个IP地址池用来为网络转换,可定义为内部全局池、外部本地池或旋转池。
- Ip nat translation: NAT超时后,该全局命令用来改变时间长度。
- Show ip nat statistics:用来显示关于NAT统计数据。
- Show ip nat translations:显示所有激活的NAT转换。
- 上述部分命令仅列出了部分关键字,具体使用时还需给出相关参数。
7.2 命名的标准IP访问列表配置实验
7.2.1实验目的
掌握命名的标准IP访问列表规则及配置。
7.2.2背景描述
假如你是学校的网络管理员,在学校核心交换机上连着学校的提供学习资料的服务器,另外还连接着学生宿舍楼和教工宿舍楼,学校规定学生只能访问学习资料存放的服务器,学生宿舍楼不能访问教工宿舍楼
7.2.3实现功能
实现网段间互相访问的安全控制。
7.2.4实验拓扑
图 访问控制列表配置
7.2.5实验设备
- 一台RG-S3760三层交换机,三台RG-S2126G交换机
- PC机四台(其中一台用于打开管理端网页,进行设备配置)
- 直通和交叉双绞线若干
7.2.6实验步骤
1. 在三层交换机上做基本配置,主要是创建VLAN
Center(config)#vlan 10
Center(config-vlan)#name server
Center(config)#vlan 20
Center(config-vlan)#name teachers
Center(config)#vlan 30
Center(config-vlan)#name students
Center(config)#interface f0/5
Center(config-if)#switchport mode access
Center(config-if)#switchport access vlan 10
Center(config)#interface f0/10
Center(config-if)#switchport mode access
Center(config-if)#switchport access vlan 20
Center(config)#interface f0/15
Center(config-if)#switchport mode access
Center(config-if)#switchport access vlan 30
Center(config)#int vlan10
Center(config-if)#ip add 192.168.10.1 255.255.255.0
Center(config-if)#no sh
Center(config-if)#int vlan 20
Center(config-if)#ip add 192.168.20.1 255.255.255.0
Center(config-if)#no sh
Center(config-if)#int vlan 30
Center(config-if)#ip add 192.168.30.1 255.255.255.0
Center(config-if)#no sh
本实验,RG-S2126G三个二层交换机不需要做任何配置,只需要连线就可以了。
2. 配置命名标准IP访问控制列表
Center(config)#ip access-list standard denystudent (定义命名访问控制列表)
Center(config-std-nacl)#deny 192.168.20.0 0.0.0.255 (定义列表匹配的条件)
Center(config-std-nacl)#permit any (允许其他流量通过)
说明: 要注意deny某个网段后要peimit其他网段
3. 用命令sh ip access-lists denystudent查看定义的列表
Center#sh ip access-lists denystudent
Standard IP access list: denystudent
deny 192.168.20.0 0.0.0.255
permit any
4 . 把访问控制列表在接口下应用
Center(config)#int vlan 10
Center(config-if)#ip access-group denystudent out (访问控制列表在接口出方向应用)
5. 启用三层路由
Center(config)#ip routing
6. 查看配置文件
Center#show run
version 1.0
!
hostname Center
ip access-list standard denystudent
deny 192.168.20.0 0.0.0.255
permit any
interface FastEthernet 0/5
switchport access vlan 10
!
interface FastEthernet 0/10
switchport access vlan 20
!
interface FastEthernet 0/15
switchport access vlan 30
!
interface Vlan 10
ip address 192.168.10.1 255.255.255.0
!
interface Vlan 20
ip address 192.168.20.1 255.255.255.0
ip access-group denystudent out
!
interface Vlan 30
ip address 192.168.30.1 255.255.255.0
!
end
7. 验证测试
在属于学生宿舍(VLAN20)的主机PC2上PING属于服务器区(VLAN10)的主机PC1,发现不能PING通
在属于教职工宿舍(VLAN30)的主机PC3上PING属于服务区(VLAN10)的主机PC1,发现可以PING通
7.2.7 注意事项
- 标准的访问控制列表编号范围为1-99。
- 在路由器中,如果使用ACL的表号进行配置,则列表不能插入或删除行。如果列表要插入或删除一行,必须先去掉所有ACL,然后重新配置。当ACL中条数很多时,这种改变非常烦琐。一个比较有效的解决办法是:在远程主机上启用一个TFTP服务器,先把路由器配置文件下载到本地,利用文本编辑器修改ACL表,然后将修改好的配置文件通过TFTP传回路由器。
- 配置完访问控制列表后要在接口下应用。
- Deny某个网段后要permit其他网段。
- in和out参数可以控制接口中不同方向的数据包,如果不配置该参数,缺省为out。
ACL在一个接口可以进行双向控制,即配置两条命令,一条为in,一条为out,两条命令执行的ACL表号可以相同,也可以不同。但是,在一个接口的一个方向上,只能有一个ACL控制。
值得注意的是,在进行ACL配置时,网管员一定要先在全局状态配置ACL表,再在具体接口上进行配置,否则会造成网络的安全隐患。
7.3命名的扩展的IP访问控制列表配置实验
7.3.1 实验目的
掌握扩展IP访问控制列表的配置。
7.3.2 背景描述
在校园网中,学校希望学生在做实验时只能访问FTP服务器而不可以上网和访问教师办公室。教师没有限制。机房实验室所在网段是172.16.1.0/24,教师办公室所在网段是172.16.2.0/24。要求网络管理员按照需要,实现对网络服务访问的安全控制。
7.3.3 实验设备
- 一台RG-S3760三层交换机,一台RG-R1700系列路由器
- PC机三台(其中一台作为机房实验室计算机,一台作为教师办公室计算机,另一台用于打开管理端网页,进行设备配置)
- 直通和交叉双绞线若干
7.3.4 实验拓扑图
实验拓扑如图4-2所示:
图4-2 扩展的IP访问控制列表配置
7.3.5 实验步骤
要实现所需的访问控制,有两种方法。
一种是通过在三层交换机的f0/1接口上配置扩展访问控制列表,通过指定分组的源地址和目的地址和协议类型、端口号来实现机房实验室对FTP服务器的访问并拒绝机房实验室访问Internet。
另一种是通过在路由器的f1/0接口上配置标准访问控制列表,拒绝来自172.16.1.0网段的访问。
这两种方法种比较好的方法是第一种。当这个扩展ACL被放在交换机的F0/1端口上,被拒绝的分组就不能通过交换机到达路由器了,这样就减少了交换机和路由器间的通信流量,而其他源地址和目的地址的流量仍然被允许通过。
放置ACL的一般原则是,尽可能把扩展ACL放置在距离要被拒绝的通信流量最近的地方。标准ACL由于不能指定目的地址,所以它们应该尽可能放置在距离目的地最近的地方。
- 基本配置
参照实验拓扑图配置好各网段IP。
测试配置访问控制列表前的网络互访
- 配置扩展访问控制列表
在全局配置模式下,创建ACL
Center(config)#ip access-list extended student (定义扩展名为student的访问控制列表)
Center(config-ext-nacl)# deny tcp 172.16.1.0 0.0.0.255 host 172.16.3.1 eq www
Center(config-ext-nacl)# deny ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
Center(config-ext-nacl)# permit ip any any
- 把访问控制列表应用到具体接口。
Center(config)#interface f0/1
Center(config-if)#ip access-group student in
Center(config-if)#no shut
Center(config-if)#exit
- 验证测试
在作为机房实验室计算机的PC机上访问服务器、教师办公室、internet来测试网络访问。
- 配置详解
- 配置扩展的访问控制列表的第一条语句,定义了命名访问控制列表的名字。
- 配置扩展的访问控制列表的第二条语句,定义了拒绝172.16.1.0网段的www服务。
- 配置扩展的访问控制列表的第三条语句,定义了拒绝172.16.1.0网段访问172.16.2.0网段。
- 配置扩展的访问控制列表的第四条语句,允许其他流量通过。
- 注意事项
- 配置完访问控制列表后要在接口下应用。
- Deny某个网段后要permit其他网段。
7.4 路由器NAT配置实验
7.4.1 实验目的
- 理解NAT地址转换原理。
- 掌握NAT的几种地址转换方法(在本实验中,只介绍静态和复用动态地址转换)。
7.4.2 背景描述
你是某公司的网络管理员,内部有文件服务器、FTP服务器、WEB服务器,这些服务器可以为外部用户提供服务,服务器的IP地址采用静态地址转换,以便外部用户可以使用这些服务。同时,由于公司内部有很多的PC机,要求能够访问Internet网,但因IP地址的紧缺,所以申请到的IP只有连续的122.204.1.10-122.204.1.13网段,所以公司采用NAT的复用动态技术对网内PC机分配IP。
7.4.3 实验设备
- 两台RG-R1700系列路由器,一台二层交换机
- PC机若干台(其中一台用于打开管理端网页,进行设备配置)
- 直通和交叉双绞线若干
7.4.4 实验拓扑图
实验拓扑如图4-4所示:
图4-4 路由器NAT配置
7.4.5 实验步骤
本实验中采用两台路由器直连方式。其中一台作为内部网络的路由器,即R2,另一台相当于外部网络上的路由器,即R1。本实验同时实现两种NAT地址转换功能:静态地址转换和复用动态地址转换。将路由器R2的以太口作为内部端口,同内网交换机相连接,交换机接内部的各种服务器和PC机,R2同步端口S0/0作为外部端口。对R2来说,拥有合法的公网IP地址是122.204.1.0/24,则在内部使用的服务器的IP为10.1.1.10,10.1.1.11,10.1.1.12的内部本地地址采用静态地址转换。而网内PC机的IP为10.1.1.20-10.1.1.100网段采用复用动态地址转换。
- 对路由器R1配置
R1>en 14
Password:
R1#conf t
R1(config)#int s1/2 进入接口配置模式)
R1(config-if)#ip address 122.204.1.2 255.255.255.0 (为接口s1/2配置IP)
R1(config-if)#clock rate 64000 (设置接口的时钟频率)
R1(config-if)#no shut (激活接口和时钟)
R1(config-if)#exit
R1(config)#exit
R1#
- 对路由器R2具体配置
R2>en 14
Password:
R2#conf t
R2(config)#int s1/2
R2(config-if)#ip address 122.204.85.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#ip nat outside (指定接口S1/2为外网接口)
R2(config-if)#exit
R2(config)#int f1/0
R2(config-if)#ip address 10.1.1.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#ip nat inside (指定接口F1/0为内网接口)
R2(config-if)#exit
R2(config)#ip nat pool nat100 122.204.85.13 122.204.85.13 netmask 255.255.255.0
(定义一个内部合法IP地址池 这里有一个地址就够了,下面可以配端口地址复用)
R2(config)#access-list 1 permit 10.1.1.0 0.0.0.255 (定义允许转换的内部地址)
R2(config)#ip nat inside source list 1 pool nat100 overload (用复用动态技术为内
部本地调用转换地址池)
R2(config)#ip nat inside source static 10.1.1.10 122.204.1.10 (定义静态映射地址转换)
R2(config)#ip nat inside source static 10.1.1.11 122.204.1.11
R2(config)#ip nat inside source static 10.1.1.12 122.204.1.12
R2(config)#ip route 0.0.0.0 0.0.0.0 122.204.1.2 (定义默认路由)
R2(config)#exit
R2#
- 设置PC机和服务器的IP
配置好路由器后,接下来就是设置服务器和PC的IP地址了,服务器的IP设置成静态转换的IP即可,网关为路由器R2的以太网接口的IP,PC机的IP地址使用复用动态转换的IP地址,网关也是设置成路由器R2的以太网接口的IP。
- NAT配置验证
通过PC机Ping路由器R1的S1/2接口IP后,可通过Show ip nat translations查看转换的IP映射表。
R2#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 122.204.1.10 10.1.1.10 --- ---
--- 122.204.1.11 10.1.1.11 --- ---
--- 122.204.1.12 10.1.1.12 --- ---
Icmp 122.204.1.13:512 10.1.1.18:512 122.204.1.2:512 122.204.1.2:512
结果显示,一个数据包IP为10.1.1.18的地址被转换成IP为122.204.1.13后,再通过路由器转发。
7.5 配置DHCP 和IP帮助(IP helper)地址
7.5.1 实验目的
- 加深对DHCP协议工作原理的理解
- 配置一台RG-R1762路由器充当DHCP服务器,为两个独立子网(一个本地,一个远程)的客户提供DHCP服务。
- 配置IP帮助地址特性转发来自于远程子网的DHCP请求
7.5.2 背景描述
在网路192.168.3.0/24和10.1.1.0/24中的用户需要DHCP服务来实现自动IP配置。通过在路由器R1上创建两个独立的IP地址池来为这两个网络提供DHCP服务。最后,配置路由器R2的快速以太网接口来转发包括DHCP请求在内的UDP广播到路由器R1上。
7.5.3实验设备
- RG-R1700路由器2台,RG-S2126G交换机两台。
- V.35线一条,交叉双绞线若干条。
- 至少3台PC机,一台用于打开管理端网页,进行设备配置
7.5.4 实验拓扑图
实验拓扑如图所示:
。DHCP 和IP帮助(IP helper)地址网络图
试验步骤
1 根据拓扑图搭建和配置网络。
2 先把两路由器之间的网络连接好,为了配置简单,我们在这里用静态和默认路由来完成网络互通
部分配置命令如下:
R1(config)#int s1/2
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#cl ra 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#int f 1/0
R1(config-if)#ip address 10.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R2(config)#int s1/2
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#int f 1/0
R2(config-if)#ip address 192.168.3.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 s1/2 (R2上添加默认路由)
R1(config)#ip route 192.168.3.0 255.255.255.0 192.168.1.2 (R1上添加到R2的静态路由)
之后,使用ping和show ip route 来验证网络并测试R1和R2之间的连通性。
3 配置R1 作为10.1.1.0/24 网络客户的DHCP服务器。首先,验证R1能使用DHCP服务并且已经启用它了,命令如下:
R1(config)#service dhcp
接下来,配置10.1.1.0网络的DHCP地址池,并将该地址池命名为10-network
R1(config)#ip dhcp pool 10-network
R1(dhcp-config)#network 10.1.1.0 255.255.255.0
- 配置了地址池,我们还应该注意到,我们有必要配置一些保留地址。
我们可以将这些地址从DHCP地址池中去除,以便DHCP服务器不会尝试把这写地址分配给客户,而是有可能手动固定的分配给一些特别的终端,比如说DNS服务器,WWW服务器等设备。命令如下
R1(config)#ip dhcp excluded-address 10.1.1.1 10.1.1.10
这样配置,路由器R1从10-network地址池中可动态的分配IP地址的时候,分配的起始地址将是10.1.1.11
5 返回到DHCP配置模式,配置IP选项,包括默认网关地址,DNS/WINS服务器地址和域名,配置命令如下:
R1(config)#ip dhcp pool 10-network
R1(dhcp-config)#default-router 10.1.1.1
R1(dhcp-config)#dns-server 10.1.1.2
R1(dhcp-config)#netbios-name-server 10.1.1.3
R1(dhcp-config)#domain-name wuse.com
说明:上面这些服务器只是在有需要的时候再做配置,本实验过程中可以不做配置
6 配置好DHCP服务器之后,就可以进行测试了。
在PC1的网卡属性里配置IP地址选项的时候,选择“自动获得IP地址”以及“自动获得DNS服务器地址”。点击确定后,我们就可以在MS-DOS界面中查看自动获取的情况了(ipconfig/all)
有时候,我们需要用命令释放掉地址或重新获得地址信息 (config /release) (ipconfig /renew )
7 在必要的时候,需要进行相关排错,可以用命令“show ip dhcp binding/conflict”查看DHCP服务器地址分配信息。
R1#sh ip dhcp bin
IP address Hardware address Lease expiration Type
10.1.1.11 0004.6144.958c 1 days 23 hours 59 mins Automatic
输入命令“show ip dhcp server statistics”可以详细的查看网络中发送了多少DHCPOFFER消息以及DHCPREQUEST/ DHCPDISCOVER /DHCPREQUEST等消息
R1#sh ip dhcp server statistics
Lease counter 1
Address pools 1
Automatic bindings 1
Manual bindings 0
Expired bindings 0
Malformed messages 0
Message Received
BOOTREQUEST 26
DHCPDISCOVER 25
DHCPREQUEST 1
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
Message Sent
BOOTREPLY 20
DHCPOFFER 19
DHCPACK 1
DHCPNAK 0
8 由于PC2 也需要动态IP配置,所以需要创建第二个适合于该网络的DHCP地址池(192.168.3.0 /24),并配置相应的网关选项。配置命令为:
R1(config)#ip dhcp pool 3-network
R1(dhcp-config)#network 192.168.3.0 255.255.255.0
R1(dhcp-config)#default-router 192.168.3.1
R1(dhcp-config)#dns-server 10.1.1.2
R1(dhcp-config)#netbios-name-server 10.1.1.3
R1(dhcp-config)#domain-name wuse.com
R1(config)#ip dhcp excluded-address 192.168.3.1 192.168.3.3
9 现在,DHCP服务器的配置已经完成了。然而,主机PC2使用UDP广播来发现IP地址,但路由器R2 并没有配置来转发UDP广播发路由器R1 ,命令如下:
R2(config)#interface f 1/0
R2(config-if)#ip helper-address 192.168.1.1
之后,PC2也就可以从在R1中的DHCP服务器获取地址了。