引入
·可以通过Console、AUX、Telnet和SSH多种途径,搭建网络设备配置环境
·H3C Comware在上述配置方法中使用的命令行采用了配置权限的分级控制
访问网络设备命令行接口的方法
·通过Console口本地访问
·通过AUX口远程访问(可用电话modem,走PSTN调试)
·使用Telnet终端访问
·使用SSH终端访问
·通过异步串口访问
使用Console口进行连接
使用AUX口进行连接
使用Telnet进行连接
SSH介绍
·SSH(Secure Shell,安全外壳)在无安全保证的网络上提供安全的远程登录等服务
·由传输协议、验证协议和连接协议三部分组成
·使用TCP端口22
·提供Password和Publickey两种验证方式
命令视图
·用户视图
-设备启动后的缺省视图,可查看启动后基本运行状态和统计信息
·系统视图
-配置系统全局通用参数的视图
·路由协议视图
-配置路由协议参数的视图
·接口视图
-配置接口参数的视图
·用户界面视图
-配置登录设备的各个用户属性的视图
display ip int brief //查看全部IP接口信息
system-view //进入系统视图(需要修改H3C设备的各个参数)
return/quit //返回上一级视图(快捷键为“Ctrl+Z”)
display this //显示当前配置的状态(不论在任何视图下)
description to_ //描述(接口模式下)
ip add 192.168.0.1 255.255.255.0 //配置IP地址(接口模式下)
authentication-mode //认证模式
命令级别
·访问级(0级)
-网络诊断工具命令、从本设备出发访问外部设备的命令
简单测试命令:ping debugging
·监控级(1级)
-用于系统维护、业务故障诊断的命令
具有完整查看命令和测试命令
·系统级(2级)
-业务配置命令
修改网络设备的配置权限
·管理级(3级)
-关系到系统基本运行,系统支撑模块的命令
设备支撑业务的操作
(向前兼容)
查看历史记录功能
·查看历史命令记录
display history-command
·翻阅和调出历史记录中的某一条命令
-用<↑>或<Ctrl+P>快捷键调出上一条历史命令
-用<↓>或<Ctrl+N>快捷键调出下一条历史命令
常用设备管理命令
·配置设备名称
[H3C]sysname ?
TEXT Host name(1 to 30 characters)
·配置系统时间
<H3C>clock datetime ?
TIME Specify the time(HH:MM:SS)
·显示系统时间
<H3C>display clock
·配置欢迎/提示信息
[H3C]header ?
incoming Spectiy the banner of the terminal user-interface
legal Specify the legal banner
login Spectiy the login authentication banner
motd Specify the banner of today
shell Spectify the session banner
console连接命令超时,时间设置
[H3C]user-interface console 0
[H3C-ui-console0]idle-timeout 0 //0为永不超时
常用信息查看命令
·查看版本信息
<H3C>display version
·查看当前配置(类似于Cisco show running-config)
<H3C>display current-configuration
·查看保存的配置(类似于Cisco show startup-config)
[H3C]display saved-configuration
·显示接口信息
<H3C>display interface
·显示接口IP状态与配置信息
<H3C>display ip interface brief
·显示系统统计运行信息(类似于Cisco show tech-support)
<H3C>display diagnostic-information
路由器Telnet服务配置命令
·配置与网络相连端口的IP地址(配置主机终端和路由器之间能够进行通信)
[H3C-ethernet0/0]ip address ip-address {mask | Mask-length}
·使能Telnet服务器端功能
[H3C]telnet server enable
·进入vty用户界面视图,设置验证方式
[H3C]user-interface vty first-num2[last-num2]
[H3C-ui-vty0]authentication-mode {none | password | scheme}
·设置登录密码和用户级别
[H3C-ui-vty0]set authentication password { cihper | simple } password
[H3C-ui-vty0]user privilege level level
·创建用户、配置密码、设置服务类型、设置用户级别
[H3C-ui-vty0-4]set authentication password
RIP
[R1]interface loopback 0
[R1-Loopback0]ip add 1.1.1.1 32
[R1-Loopback0]quit
[R1]rip
[R1-rip-1]version 2
[R1-rip-1]network 1.1.1.1
[R1-rip-1]network 200.1.1.0
到R2
[R2]int loo 0
[R2-Loopback0]ip add 2.2.2.2 32
[R2-Loopback0]quit
[R2]rip
[R2-rip-1]ver 2
[R2-rip-1]network 2.0.0.0
[R2-rip-1]network 200.1.1.0
直连路由和静态路由
静态路由配置
[Router]ip router-static dest-address {mask | mask-length}{gateway-address | interface-type interface-name} [preference preference-value] //ip router-static+目的地址+子网掩码/子网掩码长度+网关地址/出接口+preference 优先级
·配置要点:
-只有下一跳所属的接口是点对点接口时,才可以填写interface-type interface-name,否则必须填写gateway-address
-目的IP地址和掩码都为0.0.0.0的路由为默认路由。
静态路由实现路由备份和负载分担
·路由备份
-到相同目的地址的下一跳和优先级不同
-优先级高的为主,低的为备
·负载分担:
-到相同目的地址的下一跳不同,但优先级不同
-到目的地的流量将均匀分布
浮动静态路由:主路由优先级低,备份路由优先级高
静态路由的负载均衡:两条静态路由的优先级一样,基于流进行负载均衡
null0 ——扔,防止环路
静态路由实验
思路
R1上ip route-static 34.34.34.0 24 12.12.12.2 //添加静态路由,目标地址(R4地址段) 子网长度(24) 下一跳网关(R2的E0/0/0)
R2上同理
R3直连
R4上ip route-static 10.10.10.0 24 34.34.34.3 //添加静态路由,目标地址(R1地址段) 子网长度(24) 下一跳网关(R3的E0/0/1)
备注:能ping同R4的34.34.34.0地址,不代表能ping同R3的33.33.33.0段地址。(静态路由未指向,添加静态路由即可)
同理,添加默认路由
[R3]ip route-static 0.0.0.0 0.0.0.0 34.34.34.3 //R3上的路由协议,指向R4的接口
思路:主要是更改静态路由的优先级
RIP原理
引入
·动态路由协议能够自动发现路由、计算路由
·最早的动态路由协议思RIP(Routing information Protocol,路由信息协议),其原理简单,配置容易
RIP协议概述
·RIP是Routing Information Protocol(路由信息协议)的简称。
·RIP是一种基于距离矢量(Distance-Vector)算法的路由协议。
·RIP协议适用于中小型网络,分为RIPv1和RIPv2。
·RIP支持水平分割、毒性逆转和触发更新等工作机制防止路由环路。
·RIP协议基于UDP传输,端口号520。
RIP的报文类型:1、请求报文;2、回复报文(整张路由表),周期性的发送回复报文给邻居,使用广播地址进行更新。
将无效路由的Metric值赋予无限大(适用于单路径)
从一个接口收到的路由条目,该条目将不会从该接口被发送出去。
从邻居发过来的无效网段的Metric值也是无限大
路由器将不转发Metric值到达16的路由条目(适用于多路径)
Rip的计时器:
路由更新时间 30s
无效时间 180s
抑制时间 180s
刷新时间 240s
不支持VLSM,发送的路由更新中不携带子网掩码,不支持认证、广播更新
*RIpv1不能够关闭自动汇总
RIPv2的改进
·RIPv2是一种无类别路由协议(Classless Routing Protocol)。
·RIPv2协议报文中携带掩码信息,支持VLSM(可变长子网掩码)和CIDR
·RIPv2支持以组播方式发送路由更新报文,组播地址为224.0.0.9,减少网络与系统资源消耗。
·RIPv2支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
(支持VLSM和CIDR,无类路由协议。)
有类:基于A、B、C类
无类协议:不基于A、B、C类
配置RIP协议
RIP基本配置
·创建RIP进程并进入RIP视图
[Router]rip [process-id] //不加进程ID,默认为1
·在指定网段接口上使能RIP
[Router-rip-1]network network-address //让接口启用RIP协议
RIP可选配置
·配置接口工作在抑制状态(被动接口:该接口仅接收RIP报文,将不再发送RIP报文)
[Router-rip-1]silent-interface { all | interface-type interface-number }
·使能RIP水平分割功能
[Router-Ethernet1/0] rip split-horizon
·使能RIP毒性逆转功能
[Router-Ethernet1/0] rip poison-reverse
RIPv2配置任务
·指定全局RIP版本
[Router-rip-1] version {1 | 2}
·关闭RIPv2自动路由聚合功能
[Router-rip-1]undo sunmary
·配置RIPv2报文的认证
[Router-Ethernet1/0] rip authentication-mode {md5 {rfc2082 key-string key-id | rfc2453 key-string } | simple password }
RIP版本2的配置:
1、进入系统视图,创建RIP进程,进入RIP的配置视图
[H3C]rip 1
2、修改RIP的版本
[H3C-rip-1]version 2
3、关闭RIPv2的自动汇总
[H3C-rip-1]undo summary
4、接口下配置RIP的明文和密文认证
rip authentication-mode simple cjclub
查看RIP协议详细信息
display rip
OSPF基础
引入
·RIP路由协议存在无法避免的缺陷,多用于构建中小企业网络
·随着网络规模的日益扩大,RIP路由协议已经不能安全满足要求
·OSPF路由协议解决了很多RIP路由协议无法解决的问题,因而得到广泛应用
RIP的各类问题
什么是OSPF
·OSPF(Open Shortest Path Frist,开放最短路径优先)是IETF开发的基于链路状态的自治系统内部路由协议。
·OSPF仅传播对端设备不具备的路由信息,网络收敛迅速,并有效避免了网络资源浪费。
·OSPF直接工作于IP层之上,IP协议号为89
·OSPF以组播地址发送协议包(224.0.0.5 224.0.0.6)。
OSPF包类型:
1.Hello包(a、Hello(10s)和死亡时间(40s);b、区域ID;c、认证类型和认证密钥;d、Stub);
2.DBD数据库描述报文;
3.LSR链路状态请求报文;
4.LSU链路状态更新报文;
5.LSAck链路状态确认报文
OSPF组件:
1.邻居表
2.拓扑表
3.路由表
4.LSDB链路状态数据库
5.SPF Tree
RIP算法:BellMan-Ford
OSPF算法:Dijikstra RSA
OSPF的Router_ID(×××,全网唯一)
RID选举:
1.手工指定RID
2.选择本地Loopback接口地址最大的
3.选择本地物理接口地址最大的
DR/BDR选举(广播和NBMA非广播多点可达)
OSPF的接口优先级(默认为1)
1.选举接口优先级最大的。
2.选举RID最大的
*接口优先级为0,将不参与DR/BDR选举
*先选择BDR,再选择DR
*OSPF每个30分钟进行更新(OSPF的Flood),保持LSDB中的LSA永远最新的。
OSPF区域:
1.骨干区域
2.非骨干区域(普通区域)
LSA OSPF链路状态通告报文(路由条目)
OSPF基本配置命令
·配置Router ID
[Router]router id ip-address
·启动OSPF进程
[Router]ospf [process-id]
·重启OSPF进程
<Router>reset ospf [process-id]
·配置OSPF区域
[Router-ospf-100]area area-id
·在指定的接口上启动OSPF
[Router-ospf1-area-0.0.0.0] network network-address wildcard-mask
1.(可选)手工更改OSPF的Router_ID
[Router]router id 1.1.1.1
2.在系统视图下面启用OSPF的进程
[Router]ospf 1
3.指定区域
[Router-ospf-100]area 1
4.指定接口启用OSPF
[Router-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
OSPF可选配置命令
·配置OSPF接口优先级
[Router-Ethernet0/0]ospf dr-priority priority
·配置OSPF接口Cost
[Router-Ethernet0/0]ospf cost value
OSPF的常用操作
1.重启OSPF的进程
<Router>reset ospf 1
2.配置OSPF的接口的优先级
a、进入要修改的接口
[H3C]interface ethernet0/0
[Router-Ethernet0/0] ospf dr-priority 255
3.修改OSPF的Cost值
[Router-Ethernet0/0]ospf cost 10
OSPF的Cost的计算(最看中带宽):
Cost=10^8/接口的带宽
查看OSPF邻居表
<H3C>display ospf peer
<H3C>display ospf lsdb
查看OSPF的路由信息
<H3C>display ospf routing
其他OSPF显示命令
·显示OSPF摘要信息
[Router]display ospf brief
·显示启动OSPF的接口信息
[Router]display ospf interface
·显示OSPF的出错信息
[Router]display ospf error
·显示器OSPF的进程信息
[Router]display ospf INTER<1-65536>
调试OSPF
·OSPF时间调试信息
<Router>debugging ospf event
·OSPF链路状态通告调试信息
<Router>debugging ospf lsa
·OSPF包调试信息
<Router>debugging ospf packet
·OSPF路由计算调试信息
<Router>debugging ospf spf
·OSPF进程调试信息
<Router>debugging ospf INTEGER<1-65536>
用访问控制列表实现包过滤
引入
·要增加网络安装性,网络设备需要具备控制某些访问或某些数据的能力
·ACL包过滤是一种被广泛使用的网络安全技术。它使用ACL来实现数据识别,并决定是转发还是丢弃这些数据包。
·由ACL定义的报文匹配规则,还可以被其它需要对数据进行区分的场合引用。
ACL概述
·ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的
·ACL可以应用于诸多方面
-包过滤防火墙功能
-NAT(Network Address Translation,网络地址转换)
-Qos(Quality of Service,服务质量)的数据分类
-路由策略和过滤
-按需拨号
*默认隐含通过(permit)规则
*使用或运算
*H3C的ACL匹配原则:
1.config 顺序匹配
2.auto 优先级匹配
a.匹配IP地址的子网掩码最长的,IP地址范围最小的(0越多)
b.匹配二层地址的掩码最长的(48位二进制)
c.匹配端口范围越小的
Cisco为:
基本访问列表:1-99
扩展访问列表:100-199
H3C-ACL列表记忆:2(基本),3(扩展),4(二层),5(用户自定义)
二层ACL与用户自定义ACL
·二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则
·用户自定义ACL可以根据任意位置的任意字串制定匹配规则
-报文的报文头、IP头等为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户自定义的字符串进行比较,找到匹配的报文。
ACL包过滤配置任务
·启动包过滤防火墙功能,设置默认的过滤规则
·根据需要选择合适的ACL分类
配置基本ACL
·创建正确的规则
-设置匹配条件
-设置合适的动作(Permit/Deny)
·在路由器的接口上应用ACL,并指明过滤报的方向(入站/出站)
H3C的ACL的配置
1.启用防火墙过滤功能
[sysname]firewall enable
2.配置默认过滤方式
[sysname]firwall default {permit | deny}
3.配置基本ACL
[sysname]acl number acl-number
4.定义规则
[sysname-acl-basic-2000]rule [rule-id] {deny | permit} [fragment | logging | source] {sour-addr sour-wildcard | any} | time-range time-name]
举例:rule 0 permit source 192.168.1.0 0.0.0.255
5.将ACL应用到接口
·将ACL应用到接口上,配置的ACL包过滤才能生效
·指明在接口上应用的方向是Outbound还是Inbound
[sysname-Serial2/0]firewall packet-filter { acl-number | name acl-name } {inbound | outbound}
举例:
[sysname]interface ethernet0/0
[sysname]firewall packet-filter 2000 inbound
配置高级ACL
·配置高级IPv4 ACL,并指定ACL序号
-高级IPv4 ACL的序号取值范围为3000-3999
[sysname]acl number acl-number
·定义规则
-需要配置规则来匹配源IP地址、目的IP地址、IP承载的协议类型、协议端口号等信息
-指定动作是permit或deny
[sysname-acl-adv-3000]rule [rule-id] {deny | permit} protocol [destination {dest-addr dest-wildcard | any} | destination-port operator port1 [port2] establelished | fragment | source { sour-addr sour-wildcard | any} | source-port operator port1 [prot2] | time-range time-name]
配置二层ACL,并指定ACL序号
·配置二层ACL,并指定ACL序号
-二层ACL的序号取值范围为4000-4999
[sysname]acl number acl-number
·定义规则
-需要配置规则来匹配源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息
-指定动作是permit或拒绝deny
[sysname-acl-ethernetframe-3000]rule [rule-id] { deny | permit} [cos vlan-pri | dest-mac dest-addr dest-mask | lsap lsap-code lsap=wildcard | source-mac sour-addr source-mask | time-range time-name]
ACL规则的匹配顺序
·匹配顺序ACL中规则的优先级
·ACL支持两种匹配顺序:
-配置顺序(config):按照用户配置规则的先后顺序进行规则匹配
-自动排序(auto):按照“深度优先”的顺序进行规则匹配,即地址范围小的规则被优先进行匹配
·配置ACL的匹配顺序:
[sysname]acl number aclnumber [match-order { auto | config}]
举例:
[H3C]acl number 2000 match-order auto
在网络中的正确位置配置ACL包过滤
·尽可能在靠近数据源的路由器接口上配置ACL,以减少不必要的流量转发
·高级ACL
-应该在靠近被过滤源的接口上应用ACL,以尽早阻止不必要的流量进入网络
·基本ACL
-过于靠近被过滤源的基本ACL可能阻止该源访问合法目的
-应在不影响其他合法访问的前提下,尽可能使ACL靠近被过滤的源
ACL包过滤的局限性
·ACL包过滤防火墙是根据数据包头中的二、三、四层信息进行报文过滤的,对应用层的信息无法识别。
-无法根据用户名来决定数据是否通过
-无法给不同的用户授予不同的权限级别
·ACL包过滤防火墙是静态防火墙,无法对应用层进行动态检测。
路由过滤
路由过滤工具
·静默路由
·过滤器
-访问控制列表
-地址前缀列表
-filter-policy
-Route-policy
路由过滤方式
1.静默接口(被动端口)
[R1-ospf-1]silent-interface Loopback 0
2.过滤工具
a、ACL
b、IP-Prefix前缀列表(Permit 通过,Deny 拒绝)
c、Filter-Policy 过滤策略
-定义一个匹配工具
[R2]ip ip-prefix 1 deny 1.1.1.1 32
[R2]ip ip-prefix 1 perit 0.0.0.0 less-equal 32
-进入路由协议的进程,应用Fiter-Policy
[R2-isis-1]filter-policy ip-prefix 1 import
Filter-Policy能够控制RIP的进出两个方向
Filter-policy仅仅能够控制OSPF和ISIS的入方向,控制LSDB的LSA|LSP是否能够进入路由表
d、Route-Policy 路由策略
ACL或者IP-Prefix(Permit和Deny)是否匹配
Route-policy的Permit | Deny 动作
配置filter-policy过滤RIP路由
·对接收的路由进行过滤
[Router-rip-1]filter-policy {acl-number | gateway ip-prefix-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name]} improt [interface-type interface-number]
对发送的路由进行过滤
[Router-rip-1] filter-policy { acl-number | ip-prefix ip-prefix-name } export [ protol [ process-id][interface-type interface-number ]
配置filter-policy过滤OSPF及IS-IS路由
·对OSPF计算出的路由进行过滤
[Router-ospf-1] filter-policy { acl-number [ gateway ip-prefix-name ] | gateway ip-prefix-name | ip-prefix ip-prefix-name [ gateway ip-prefix-name ]} import
·对IS-IS计算出的路由进行过滤
[Router-isis-1] filter-policy { acl-number | ip-prefix ip-prefix-name} import
PBR
引入
·PBR(Policy-based-route,基于策略的路由)是一种依据用户制定的策略进行路由选择的机制。
·通过合理应用PBR,路由器可以根据达到报文的源地址、地址长度等信息灵活地进行路由选择。
PBR和Route-Policy很像,区别PRB的Deny让数据包按照默认的路由规则进行转发,Route-policy的Deny Drop掉数据包
PBR配置:
1.系统视图建立一个PBR
[R1]policy-based-route PBR permit node 10
2.应用一个匹配
[R1-pbr-PBR-10]if-match acl 3000
3.配置Apply
[R1-pbr-PBR-10]apply ip-address next-hop 10.2.12.2
PBR配置
·创建PBR
[Router]policy-based-route policy-name [ deny | permit ] node node-number
·配置if-match子句
[Router-pbr-aaa] if-match {匹配规则}
·配置apply子句
[Router-pbr-aaa] apply {动作}
·使能接口策略路由
[Router-Ethernet1/0]ip policy-based-route policy-name
PBR应用的接口是流量进入的接口
PBR显示与维护
·显示已经配置的PBR
[Router]display policy-based-route
·显示所有配置并使能的PBR信息
[Router]display ip policy-based-route
·显示PBR的统计信息
[Router]display ip policy-based-route statistics
本章总结
·PBR由若干节点组成,节点中包含了if-match子句和apply子句
·节点之间的过滤节点关系是“或”的关系
·可使用PBR来实现源路由选择
·使用PBRl来实现根据业务进行链路间的负载分担
网络地址转换
引入
·网络迅速发展,IPv4地址不敷使用
·IPv4地址分配不均
·私有地址用户需要访问Internet
·NAT提供私有地址到公有地址的转换
配置Basic NAT
·配置ACL
-用于判断哪些数据包的地址应被转换
-被ACL允许(permit)的报文将被进行NAT转换,被拒绝(deny)的报文将不会被转换
·配置地址池
-nat address-group group-number start-addrend-addr
·配置地址转换
-nat outbound acl-number address-group group-number no-pat
基本NAT的配置(解决上网,但没有解决公网地址匮乏的问题)(思科的静态NAT):
1.用ACL进行匹配
[H3C]acl number 2000
[H3C-acl2000]rule 0 permit source 192.168.1.0 0.0.0.255
2.建立NAT地址池
[H3C]nat address-group 1 192.168.1.1 192.168.1.10
3.将NAT应用到外部接口
[H3C]interface eth0/0
[H3C-interface]nat outbound 2000 address-group 1 no-pat //no-pat指:不使用端口地址转换,就是使用基本NAT
配置NAPT(思科的动态NAT)
·配置ACL
-用于判断哪些数据包的地址应被转换
-被ACL允许(permit)的报文将被进行NAT转换,被拒绝(deny)的报文将不会被转换
·配置地址池
-nat address-group group-number start-addr end-addr
·配置地址转换
-nat outbound acl-number address-group group-number
配置NAPT(网络地址端口转换)
1.用ACL进行匹配
[H3C]acl number 2000
[H3C-acl2000]rule 0 permit source 192.168.1.0 0.0.0.255
·2.建立NAT地址池
[H3C]nat address-group 1 192.168.1.1 192.168.1.10
3.将NAT应用到外部接口
[H3C]interface eth0/0
[H3C-interface]nat outbound 2000 address-group 1
Easy IP 思科端口地+(PAT+overload)
·NAT设备直接使用出接口的IP地址作为转换后的源地址
·不用预先配置地址池
·工作原理与普通NAPT相同,是NAPT的一种特例
·适用于拨号接入Internet或动态获得IP地址的场合
配置Easy IP
·配置ACL
-用于判断哪些数据包的地址应被转换
-被ACL允许(permit)的报文将被进行NAT转换,被拒绝(deny)的报文将不会被转换
·配置地址转换
-nat outbound acl-number
配置:
1.用ACL进行匹配
[H3C]acl number 2000
[H3C-acl2000]rule 0 permit source 192.168.1.0 0.0.0.255
2.将NAT应用到外网接口
[H3C]interface eth0/0
[H3C-interface]nat outbound 2000
配置NAT Server
·NAT Server配置命令
-nat server protocol pro-type global global-addr [global-port] inside host-addr [host-post]
配置:
1.进入外网接口地址
[H3C]interface e0/0
[H3C-Ethernet0/0]nat server protocal ip global 192.168.1.1 80 inside 10.1.1.1 8080
思科写法:
(config)#ip nat inside source static top 10.1.1.1 8080 192.168.1..1 80
NAT ALG 应用层程序转换
NAT遇到内部网络有语音的时候
NAT的信息显示和调试
·显示地址转换信息
-display nat {address-group | aging-time | all | outbound | server | statistics | session | [slot slot-number] | [source global glboal-addr | source inside inside-addr] | [destionation ip-addr]}
·调试地址转换过程
-debugging nat {alg | event | packet [interface interface-type interface-number]}nat aging-time {tcp | udp | icmp} seconds
·清除地址转换连接
-reset nat session
×××概述
关键命令
L2TP:Layer 2 Tunnel Protocal 第二层隧道协议
PPTP:Point To Point Tunnel Protocol 点对点隧道协议
L2F:Layer 2 Forwarding 第二层转发协议
IPSEC:IP Security Protocol 互联网安全协议
GRE:Generic Routing Encapsulation 通用路由封装
MPLS:multi-protocol lable switching 多协议标签交换
×××优势
·可以快速构建网络,降低部署周期
·与私有网络一样提供安全性,可靠性和可管理性
·可利用Internet,无处不连通,处处可接入
·简化用户侧的配置和维护工作
·提高基础资源利用率
·于客户可节约使用开销
·于运营商可以有效利用基础设施,提供大量、多种业务。
×××的分类方法
·按照业务用途
-Access ×××、Intranet ×××、Extranet ×××
·按照运营模式
-CPE-Based ×××、Network-Based ×××
·按照组网模型
-VPDN,VPRN,VLL,VPLS
·按照网络层次
-Layer 2 ×××,Layer 3 ×××
工程中×××设计原则
安全性
-隧道与加密
-数据验证
-用户验证
-防火墙与攻击检测
可靠性
经济性
扩展性
工程中主要×××技术
·主要的L2 ×××技术
-L2TP
-PPTP
-MPLS L2 ×××
·主要的L3 ×××技术
-GRE
-IPsec
-BGP/MPLS ×××
GRE ×××
引入
GRE ×××是一种典型的L3 ×××,也是最基本的一种GRE ×××通过GRE(Generic Routing Encapsulation,通用路由封装)实现
GRW ×××
·GRE(Generic Routing Encapsulation)
-在任意一种网络协议上传送任意一种其他网络协议的封装方法
-RFC 2784定义了标准GRE封装
·GRE ×××
-直接使用GRE封装建立GRE隧道,在一种协议的网络上传送其它协议
-虚拟的隧道(Tunnel)接口
GRE隧道处理流程
·隧道起点路由查找
·加封装
·承载协议路由转发
·中途转发
·解封装
·隧道终点路由查找
GRE ×××基本配置
·创建Tunnel接口,并进入其接口视图
[Router]interface tunnel interface-number
·指定Tunnel的源端
[Router-Tunnel0]source {ip-address | interface-type interface-number}
·指定Tunnel的目的端
[Router-Tunnel0]destination ip-address
·设置Tunnel接口的IP地址
[Router-Tunnel0]ip address ip-address {mask | mask-length}
GRE ×××高级配置
·设置Tunnel接口报文的封装模式为GRE
[Router-Tunnel0]tunnel-protocol gre
·设置Tunnel两端进行端到端校验
[Router-Tunnel0]gre checksum
·设置Tunnel接口的识别关键字
[Router-Tunnel0]gre key key-number
·配置Tunnel的Keepalive功能
[Router-Tunnel0]keepalive[seconds[times]]
本章总结
GRE ×××是由GRE隧道构成的Site-to-Site ×××
GRE隧道通过GRE封装实现
GRE ×××简单而容易部署,支持多协议,但其不能分隔地址空间,且安全性较差。
数据安全技术基础
数字签名概述
·数字签名是用签名方的私钥对信息摘要进行加密的一个过程
·签名过程所得到的密文即称为签名信息
·数字签名主要功能:
-保证信息传输的完整性
-发送者的身份认证
-防止交易中的抵赖发生
IPsec基本原理
引入
数据在公网上传输时,很容易遭到篡改和窃听
普通的×××本质上并不能防止篡改和窃听
IPSec通过验证算法和加密算法防止数据遭受篡改和窃听等安全威胁,大大提高了安全性。
IPSec ×××概述
·RFC 2401描述了IPSec(IP Security)的体系结构
·IPSec是一种网络层安全保障机制
·IPsec可以实现访问控制、机密性、完整性校验、数据源验证、拒绝重播报文等安全功能
·IPsec可以引入多种验证算法、加密算法和密钥管理机制
·IPsec ×××是利用IPsec隧道实现的L3 ×××
·IPsec也具有配置复杂、消耗运算资源较多、增加延迟、不支持组播等缺点
IPSec的体系结构
·安全协议
-负责保护数据
-AH/ESP
·工作模式
-传输模式:实现端到端保护
-隧道模式:实现站点到站点保护
·密钥管理
-手工配置密钥
-通过IKE协商密钥
IPSec SA
·SA(Security Association,安全联盟)
·由一个(SPI,IP目的地址,安全协议标识符)三元组唯一标识
·决定了对报文进行何种处理
-协议、算法、密钥
·每个IPSec SA都是单向的
·手工建立/IKE协商生成
·SPD(Security Policy Database)
·SAD(Security Association Database)
AH介绍
·AH(Authentication Header)
·RFC 2402
·提供数据的完整性校验和源验证
·不能提供数据加密功能
·可提供有限的抗重播能力
ESP介绍
·ESP(Encapsulating Security Payload)
·RFC 2406
·可提供数据的机密性保证
·可提供数据的完整性校验和源验证
·可提供一定的抗重播能力
IKE介绍
·RFC 2409
·使用Diffe-Hellman交换,在不安全的网络上安全地分发密钥,验证身份
·定时更新SA和密钥,实现完善的前向安全性
·允许IPSec提供抗重播服务
·降低手工部署的复杂度
·UDP端口500
IKE协商的两个阶段
·阶段1
-在网络上建立一个IKE SA,为阶段2协商提供保护
-主模式(Main Mode)和野蛮模式(Aggressive Mode)
·阶段2
-在阶段1建立的IKE SA的保护下完成IPSec SA的协商
-快速模式(Quick Mode)
Cookie
·IKE交换开始时,双方的初始消息都包含一个Cookie
·响应方收到包含这个Cookie的下一条消息时,才开始真正的DH交换过程
·一定程度上阻止Dos攻击
·野蛮模式无法抵抗Dos
IKE的优点
·允许端到端动态验证
·降低手工部署的复杂度
·定时更新SA
·定时更新密钥
·允许IPsec提供抗重播服务
IPsec的配置任务
·配置安全ACL
·配置安全提议
-创建安全提议
-选择安全提议
-选择安全算法
-选择工作模式
·配置安全策略
-手工配置参数的安全策略
-或者:通过IKE协商参数的安全策略
·在接口上应用安全策略
配置安全提议
·创建安全提议,并进入安全提议视图
[Router]ipsec proposal proposal-name
·选择安全协议
[Router-ipsec-proposal-tran1]transform { ah | ah-esp | esp} //AH仅能认证
·选择工作模式
[Router-ipsec-proposal-tran1] encapsulation-mode {transport | tunnel }
·选择安全算法
-配置ESP协议采用的加密算法
[Router-ipsec-proposal-tran1]esp encrytion-algorithm { 3des | aes [key-length] | des}
-配置ESP协议采用的验证算法
[Router-ipsec-proposal-tran1]esp authentication-algorithm {md5 | sha1}
-配置AH协议采用的验证算法
[Router-ipsec-proposal-tran1]ah authentication-algorithm {md5 | sha1}
安全策略的两种类型
·静态——手工配置参数的安全策略
-需要用户手工配置密钥、SPI、安全协议和算法等参数
-在隧道模式下还需要手工配置安全隧道两个端点的IP地址
·动态——通过IKE协商参数的安全策略
-由IKE自动协商生成密钥、SPI、安全协议和算法等参数
配置手工配置参数的安全策略
·创建一条安全策略,并进入安全策略视图
[Router]ipsec policy policy-name seq-number manual
·配置安全策略引用的ACL
[Router-ipsec-policy-manual-map1-10]security acl acl-number
·配置安全策略所引用的安全提议
[Router-ipsec-policy-manual-map 1-10]proposal proposal-name
·配置IPSec隧道的本端地址
[Router-ipsec-policy-manual-map 1-10]tunnel local ip-address
·配置IPSec隧道的对端地址
[Router-ipsec-policy-manual-map 1-10]tunnel remote ip-address
·配置SA的SPI
[Router-ipsec-policy-manual-map 1-10]sa spi {inbound | outbound }{ ah | esp} spi-number
·配置SA使用的密钥
-配置协议的验证密钥(以16进制方式输入)
[Router-ipsec-policy-manual-map1-10]sa authentication-hex {inbound | outbound}{ah | esp}hex-key
-配置协议的验证密钥(以字符串方式输入)
[Router-ipsec-policy-manual-map1-10]sa string-key {inbound | outbound}{ah | esp}string-key
-配置ESP协议的加密密钥(以字符串方式输入)
[Router-ipsec-policy-manual-map 1-10]sa string-key {inbound | outbound}esp string-key
-配置ESP协议的加密密钥(以16进制方式输入)
[Router-ipsec-policy-manual-map1-10]sa encryption-hex {inbound | outbound}esp hex-key
配置IKE协商参数的安全策略
·创建一条安全策略,并进入安全策略视图
[Router]ipsec policy policy-name seq-number iaskmp
·配置安全策略引用的ACL
[Router-ipsec-policy-manual-map 1-10]security acl acl-number
·配置安全策略所引用的安全提议
[Router-ipsec-policy-manual-map 1-10]proposal proposal-name&<1-6>
·在安全策略中引用IKE对等体
[Router-ipsec-policy-manual-map 1-10]ike-peer peer-name
·配置使用此安全策略发起协商时使用PFS特性
[Router-ipsec-policy-manual-map 1-10]pfs{dh-group 1 | dh-group2 | dh-group 5 | dh-group14}
·配置安全策略的SA生存周期
[Router-ipsec-policy-manual-map 1-10]sa duration {time-based seconds | traffic-based kilobytes}
·配置全局的SA生存周期
[Router]ipsec sa global-duration {time-based seconds | traffic-based kliobytes}
在接口上应用安全策略
·在接口上应用安全策略
[Router-Serial1/0]ipsec policy policy-name
-IPsec安全策略可以应用到串口、以太网口等物理接口上Tunnel、Virtual Templete等逻辑接口上
-一个接口只能应用一个安全策略组
-IKE协商参数的安全策略可以应用到多个接口上
-手工配置参数的安全策略只能应用到一个接口上
IPsec调试和维护命令
·IPSec调试命令
<Router>debugging ipsec {all | error | packet [policy policy-name [seq-number] | parameters ip-address protocol spi-number] | sa}
·清除已经建立的安全联盟
<Router>reset ipsec sa [parameters dest-address protocol spi | policy policy-name [seq-number] | remote ip-address]
·清除IPSec的报文统计信息
<Router>reset ipsec statistics
IKE配置前准备
·确定IKE交换过程中安全保护的强度
-包括身份验证方法、加密算法、验证算法、DH组等
·确定所选验证方法的响应参数
-使用预共享密钥方法需预先约定共享密钥
-使用RSA签名方法需预先约定所属的PKI域
IKE配置任务
·配置IKE提议 ·配置IKE对等体
-创建IKE提议 -创建IKE对等体
-选择IKE提议的加密算法 -配置IKE协商模式
-选择IKE提议的验证算法 -配置预共享密钥验证方法的身份验证密钥
-选择IKE提议的验证算法 -配置RSA签名验证方法的PKI域
-选择IKE阶段1密钥协商所使用的DH组 -配置本端及对端安全网关的IP地址
-配置IKE提议的ISAKMP SA生存周期
配置IKE提议
·创建IKE提议,并进入IKE提议视图
[Router]ike proposal proposal-number
·选择IKE提议所使用的加密算法
[Router-ike-proposal-10]encryption-algorithm {3des-cbc | aes-cbc [key-length] | des-cbc}
·选择IKE提议所使用的验证方法
[Router-ike-proposal-10]authentication-method {pre-share | rea-signature}
·选择IKE提议所使用的验证算法
[Router-ike-proposal-10]authentication-algorithm {md5 | sha}
·选择IKE阶段1密钥协商时所使用的DH交换组
[Router-ike-proposal]
·配置IKE提议的ISAKMP SA生存周期
[Router-ike-proposal-10]sa duration seconds
配置对等体
·创建一个IKE对等体,并进入IKE对等体视图
[Router-ike-peer-peer1]ike peer peer-name
·配置IKE阶段1的协商模式
[Router-ike-peer-peer1]exchange-mode {aggressive | main}
·配置采用预共享密钥验证时所用的密钥
[Router-ike-peer-peer1]pre-shared-key [cipher | simple]key
·配置采用数字签名验证时,证书所属的PKI域
[Router-ike-peer-peer1]certificate domain domain-name
·选择IKE第一阶段的协商过程中使用的ID类型
[Router]id-type{ip | name}
·配置本端安全网关的IP地址
[Router-ike-peer-peer1]local-address ip-address
·配置对端安全网关的IP地址
[Router-ike-peer-peer1]remote-address low-ip-address [high-ip-address]
·配置本端安全网关的名字
[Router]ike local-name name
·配置对端安全网关的名字
[Router-ike-peer-peer1]remote-name name
·显示IKE对等体配置的参数
[Router]display ike peer[peer-name]
·显示当前ISAKMP SA的信息
[Router]display ike sa [verbose[connection-id connection-id | remote-address remote-address]]
·显示每个IKE提议配置的参数
[Router]display ike proposal
IKE调试和维护命令
·IKE调试命令
<Router>debugging ike {all | dpd | error | exchange | message}
·清除IKE建立的安全隧道
[Router]reset ike sa [connection-id]
IPSec高级应用
引入
GRE不能提供足够的安全性,IPSec的复杂性也带来一些相关的问题。
用IPSec保护组播
·IPSec的实现本身不支持组播
·可以使用GRE over IPSec
-首先配置GRE Tunnel
-启动Tunnel接口的组播路由
-配置IPSec,对Tunnel接口的通信加以保护
NAT与IPsec/IKE主要的不兼容性
·NAT设备修改地址字段,造成AH完整性检查失败
·NAT设备修改IP地址,导致接收方对校验和的检查失败
·IKE标识符与NAT的不兼容性
·IKE固定端口与NPAT的不兼容性
·IPSec SPI与NAT之间的不兼容性
·载荷中嵌入的IP地址与NAT的不兼容性
·NAT的隐式定向性方妨碍IPSec隧道的双向建立