IPSec的SHELL命令配置手册.docx
《IPSec的SHELL命令配置手册.docx》由会员分享,可在线阅读,更多相关《IPSec的SHELL命令配置手册.docx(26页珍藏版)》请在冰点文库上搜索。
IPSec的SHELL命令配置手册
第4章IPSec配置1
4.1VPN及IPSec概述1
4.1.1VPN简介1
4.1.2IPSec协议简介1
4.2术语列表3
4.3IPSec配置命令4
4.3.1Enable模式下的命令4
4.3.2IPSec模式下的配置命令4
4.4VPN的配置实例10
4.4.1总部到分支的配置实例10
4.4.2总部到移动用户的配置实例15
附录A词汇18
第4章IPSec配置
4.1VPN及IPSec概述
4.1.1VPN简介
VPN在公网上常作为一个安全网关设备,支持IPSec协议。
它的主要作用是采用加密、认证和网络技术在公共互连网上构建相互信任方之间的安全加密信息传输通道,以期达到专用网络的效果。
VPN网关在其中将发挥非常重要的核心作用。
VPN网关工作在本地局域网及与其通信的远程局域网的网关位置,具有加密和认证功能。
相互信任的局域网间进行通信时,仍然使用互联网作为中间信道。
但是,通过VPN网关的加密功能确保信息在不安全的互联网上流通时是密文形式。
这样,即便信息被截取,也无法偷窥或篡改其内容。
保证通过互联网连接的局域网间通信的安全性、机密性、可认证性和完整性等安全性能。
4.1.2IPSec协议简介
IPSec为IP层提供安全服务的安全网络协议,保护一条或多条主机与主机间、安全网关与安全网关或安全网关与主机间的路径。
它使系统能按需选择安全协议,决定服务所使用的算法及放置密钥到相应位置。
它使系统具有良好的互操作性,对那些不支持IPSec的主机和网络不会产生任何负面影响。
IPSec为用户提供的服务有:
¾完整性――完整性可以确定信息在从发送方到接受方的过程中是否被篡改和破坏,可以通过MAC码和数字签名提供。
IPSec对接受到的数据进行数据认证,以保证数据在传输过程中没有被修改。
¾机密性――机密性提供对敏感信息的保护,使未授权用户无法读取有关信息IPSec通过加密算法对数据包进行加密,以保证数据在网路中以密文传输。
¾可认证性――可认证性能够确认数据的来源,确定是传送者本人,不是被别人伪造的,包括认证发送者的身份和数据源。
¾不可否认性――不可否认性可以视为身份识别和验证的一种扩展,它可以用来防止信息发送者对所发送信息的抵赖。
通过数字签名和时间戳,信息发送者无法对自己所发送过的信息进行抵赖。
¾抗重播服务――IPSec通过序列号可以检测和拒绝被重放的数据包,从而提供抗重播服务。
IPSec所使用的协议:
¾AH――头部认证协议。
提供无连接完整性,数据源认证和选择性抗重播服务。
可以使用传输和通道两种模式。
¾ESP――封装安全负载。
提供加密,有限传输流加密。
它同时也提供无连接的完整性验证,数据源认证,选择性抗重播服务。
可以使用传输和通道两种模式。
AH和ESP两种安全协议的区别除了所提供的安全服务不同以外,他们认证的范围也不一样。
AH对整个IP报文包括IP头部进行认证。
ESP则对报文的IP头部以后的数据负载进行认证。
安全协议使用的安全通道存在着两种使用模式:
¾传输模式――将安全协议头插入到原始IP报文的IP头部和上层协议数据之间。
这种模式是由主机而不是网关使用,网关甚至可以不支持传输模式。
¾通道模式――即隧道模式,在通道模式下,需要保护的IP报文被封装在新的IP报文中,作为新报文的负载,然后对新IP报文使用安全协议(AH/ESP).用于网关,当安全关联的任一个端点是网关时,就要使用通道模式。
通道模式的主要优点是可以对被封装报文提供完全的保护,同时使私有地址的使用成为可能。
4.2术语列表
¾反重放――一种安全性服务,使得介绍者可以拒绝接受过时或包拷贝,以保护自己不被攻击。
手工建立的安全联盟(即通过配置而不是通过IKE建立的安全联盟)不支持这一服务。
¾数据认证――包括两个概念:
数据完整性(检查数据是否被修改过)。
数据来源认证(检查数据是否真的是由声称的发送者发送的)。
¾数据机密性――一种保护数据不被窥探的安全性协议。
¾数据流--即成组的通信,由一个由源地址掩码、目标地址掩码、IP的下一个协议域、源和目标端口组成的联合体所标识。
¾安全联盟--一个IPSEC安全联盟(SA)描述了两个或多个实体在某一个特定安全协议(AH或ESP)环境下,为了保护某个特定的数据流,将如何使用安全服务来进行通信。
它包括了用于保护通信的共享安全密钥和变换等内容。
安全联盟由安全参数索引、目的地址、安全协议三元组唯一标识。
安全联盟是单向的,并对每种安全性协议唯一。
所以一旦为IPSEC建立了安全联盟,两个方向的安全联盟(对于每一个协议将同时建立)。
安全联盟可以手动建立也可以自动建立。
手动SA,指在配置环境下,手工配置安全联盟所必要的参数,从而使安全联盟建立起来。
自动SA,指在配置环境下,输入一些参数,通过IKE自动建立起安全联盟。
¾安全策略数据库(SPD)――在SPD这个数据库中,每个条目都定义了要保护的是什么通信、怎样保护它以及和谁共享这种保护。
对于进入或离开IP堆栈的每个包,都必须检索SPD数据库,调查可能的安全应用。
对一个SPD条目来说,它可能定义了下述几种行为:
丢弃、绕过以及应用。
其中,“丢弃”表示不让这个包进入或外出;“绕过”表示不对一个外出的包应用安全服务,也不指望一个进入的包进行了保密处理;而“应用”是指对外出的包应用安全服务,同时要求进入的包已应用了安全服务。
对那些定义了“应用”行为的SPD条目,它们均会指向一个或一套SA,表示要将其应用于数据包。
¾安全参数索引(SPI)--这是一个编号。
它和一个目的IP地址、一个安全性协议一起,唯一地标识了一个特定的安全联盟。
¾隧道--指两个同位体,例如两个VPN之间的一条安全通信路径。
4.3IPSec配置命令
本节主要内容:
¾Enable模式配置命令
¾IPSEC模式配置命令
4.3.1Enable模式下的命令
configureipsec命令
在Enable模式下,执行此命令将从Enable模式进入到IPSec模式,从而进行IPSec的配置。
语法描述
文
MPSec#
Enable模式
MPSec#configureipsec
从Enable模式进入IPSec配置模式
MPSec(config_ipsec)#
IPSec配置模式
MPSec(config_ipsec)#exit
从IPSEC配置模式进入Enable模式
4.3.2IPSec模式下的配置命令
4.3.2.1IPSec模块的控制命令
start/stop/restart命令
在IPSec配置命令下,使用此三个命令,可以实现IPSec模块的启动、停止和重启。
重启相当于停止,启动两个步骤。
语法描述
文
MPSec(config_ipsec)#start
在IPSec模式下启动IPSec模块
MPSec(config_ipsec)#stop
停止IPSEC模块
MPSec(config_ipsec)#restart
重新启动IPSEC模块
4.3.2.2写命令
write命令
在IPSec配置命令下,定义完某个连接后,要进行写命令才会保存在配置脚本中,使下次启动时生效。
写命令是在Enable模式下,进行的。
MPSec#write
语法描述
文
MPSec(config_ipsec)#exit
从IPSec配置模式进入Enable模式
MPSec#
Enable模式下
MPSec#write
将配置参数写入配置脚本中
4.3.2.3手动定义连接命令
conndefconn_namemanual命令
在一条安全链路没有建立之前,通过此命令设定一条安全连接的手动配置参数。
并将该参数写进配置文件中。
conn_name为该安全连接的名字。
MPSec(config_ipsec)#conndefconn_namemanualmodelocalgatewaylocalnetremotegatewayremotenetspiesp_algorithmah_algorithmespenckeyespauthkeyahkeystart
语法描述
文
conndef
定义安全连接专用命令
conn_name
某条安全连接的名字,第一个字符必须为字母,其后可为字母或者数字,长度限制为32
manual
定义安全连接类型为手动
Mode
安全连接模式。
Tunnel/transport(隧道或传输模式)
localgateway
本地IPSEC安全网关(加密端点)的IP地址。
eg.A.B.C.D
localnet
本地IPSEC安全网关(加密端点)的IP地址,eg.A.B.C.D/M
remotegateway
远端IPSEC安全网关(加密端点)的IP地址,eg.A.B.C.D
remotenet
远端受保护子网,eg.A.B.C.D/M
Spi
安全联盟索引号.eg0x100~0xfff之间的数。
esp_algorithm
指定esp安全联盟所用的算法,可以是3des-md5-96、3des-sha1-96、3des、none之一。
当指定none时,表示不使用esp安全联盟;当为3des时,esp仅用于加密;其他则即加密又认证
ah_algorithm
指定ah安全联盟所用的算法,可以是hmac-md5-96、hmac-sha1-96、none之一;当指定为none时,表示不使用ah安全联盟
espenckey
指定esp加密密钥,为0xNNN的16进制形式,或者为none
espauthkey
指定esp认证密钥,为0xNNN的16进制形式,或者为none
Ahkey
指定ah认证密钥,为0xNNN的16进制形式,或者为none
Start
如果保存该安全连接,则下次启动时该安全连接是否自动生效,可以是up(生效)、notup(不生效)之一
4.3.2.4自动定义连接命令
conndefconn_nameauto命令
在一条安全链路没有建立之前,根据参数通过此命令自动建立一条安全连接,并将该参数写进配置文件中。
Conn_name为该安全连接的名字。
MPSec(config_ipsec)#conndefconn_nameautomodelocalgatewaylocalnetremotegatewayremotenetprotocolauthmethodlocalidremoteidlocalrsasigkeyremotersasigkeyipseclifeikelifestart
语法描述
文
Conndef
定义安全连接专用命令
conn_name
某条安全连接的名字,第一个字符必须为字母,其后可为字母或者数字,长度限制为32
Auto
定义安全连接类型为自动
Mode
安全连接模式。
Tunnel/transport(隧道或传输模式)
localgateway
本地IPSEC安全网关(加密端点)的IP地址。
eg.A.B.C.D
Localnet
本地IPSEC安全网关(加密端点)的IP地址,eg.A.B.C.D/M
remotegateway
远端IPSEC安全网关(加密端点)的IP地址,eg.A.B.C.D
Remotenet
远端受保护子网,eg.A.B.C.D/M
Protocol
指定要求IKE协商的安全联盟使用的协议,可以是esponly、espandah二者之一。
指定esponly,协商时协商只esp安全联盟,同时用于加密和认证;指定espandah,协商时协商ah安全联盟和esp安全联盟,ah安全联盟用于认证,esp安全联盟用于加密。
authmethod
指定IKE协商使用的认证方法,可以是preshare、rsasign二者之一。
为preshare时,协商时认证使用预共享密钥;为rsasign时,协商时认证使用RSA公钥(需要在localrsasigkey和remotersasigkey中指定公钥)。
Localid
指定本端的身份标识,可以是DNS名字,或者为ip。
当指定ip时,表示使用本地安全网关的IP地址即localgateway作为本端的身份标示。
Remoteid
指定远端的身份标识,以是DNS名字或为ip。
当指定ip时,表示使用远端安全网关的IP地址即remotegateway作为远端的身份标识。
localrsasigkey
本端身份标识公钥。
使用RFC2537格式的公钥,或者为none。
指定authmethod为preshare时,localrsasigkey必须为none。
(该公钥是与本地RSA私钥对应的公钥,在本地使用keyaddrsa命令为本地产生了公钥/私钥对后,可使用showrsapubkey来获取该公钥)
remotersasigkey
指定与远端身份标识相应的公钥。
使用RFC2537格式的公钥,或者为none。
指定authmethod为preshare时,remotersasigkey必须为none。
(该公钥是与远端的RSA私钥对应的公钥,当远端使用keyaddrsa命令为远端产生了公钥/私钥对后,可使用showrsapubkey来获取该公钥,然后远端将该公钥通过某种安全的途径通知本地,例如带外方式)
Ipseclife
指定IPSECSA的生命期,格式为HH:
MM,或者为default。
当用户使用HH:
MM格式时,可指定HH小时MM分钟,最大值为24小时;指定为default时,使用系统默认的值。
Ikelife
指定ISAKMPSA的生命期,格式为HH:
MM,或者为default。
当用户使用HH:
MM格式时,可指定HH小时MM分钟,最大值为8小时;指定为default时,使用系统默认的值。
Start
如果保存该安全连接,则下次启动时该安全连接是否自动生效,可以是load(生效)、notload(不生效)之一,
注:
RFC2537格式的公钥为0sNNN。
其中NNN为数字、大小写字母、‘+’和‘/’等字符构成的字符串,该字符串的长度必须被4整除,后面可以以一两个‘=’字符结束。
否则使用公钥时将返回错误信息。
4.3.2.5删除连接命令
connundefconn_name命令
该命令将从配置文件中删除指定连接的配置信息。
如果配置文件中不存在该连接名,将显示出错信息。
可以用后面介绍的showconnectionconn_name命令来验证该删除命令的执行情况。
MPSec(config_ipsec)#connundefconn_name
语法描述
文
conundef
删除安全连接命令关键字
conn_name
安全连接名字。
以字母开头,后面字符可以是字母和数字,1到32个字符
4.3.2.6连接控制命令
connrun命令
该命令可以控制已定义安全连接的启动与停止。
MPSec(config_ipsec)#connrun(up|load|negotiate|down)conn_name
语法描述
文
connrun
表示启动、停止安全连接
up
启动手动安全连接
load
加载自动安全连接到IKE中(随后当有数据在两个安全网关间流动时,将自动触发IKE协商)
negotiate
手动触发IKE协商
down
停止安全连接
conn_name
安全连接名字
4.3.2.7添加密钥命令
keyaddpreshare命令
使用该命令来添加预共享密钥。
MPSec(config_ipsec)#keyaddpresharematerialidlist
语法描述
文
keyadd
添加密钥命令关键字
preshare
添加预共享密钥命令关键字
material
产生预共享密钥的密钥材料,可以是任意字符串
idlist
共享该密钥的身份标识列表。
可以是any或者型如id1,id2,id3的身份列表。
当指定为any时,该密钥被任意身份共享;当为id1,id2,id3的形式时,idn为IP地址或者DNS名字,若干身份标识间由“,”分隔
keyaddrsa命令
使用该命令来添加RSA密钥。
MPSec(config_ipsec)#keyaddrsakeylengthidlist
语法描述
文
keyadd
添加密钥命令关键字
rsa
添加RSA密钥命令关键字
keylength
指定产生RSA密钥的长度,为512-2048之间的能被16整除的数
idlist
共享该密钥的身份标示列表。
可以是any或者型如id1,id2,id3的身份列表。
当指定为any时,该密钥被任意身份共享;当为id1,id2,id3的形式时,idn为IP地址或者DNS名字,若干身份标示间由“,”分隔
4.3.2.8删除密钥命令
keydel命令
使用该命令来删除密钥。
MPSec(config_ipsec)#keydel(preshare|rsa)idlist
语法描述
文
keydel
删除密钥命令关键字
preshare
删除预共享密钥命令关键字
rsa
删除RSA密钥命令关键字
idlist
共享该密钥的身份标示列表。
可以是any或者型如id1,id2,id3的身份列表。
当指定为any时,该密钥被任意身份共享;当为id1,id2,id3的形式时,idn为IP地址或者DNS名字,若干身份标识间由“,”分隔
4.3.2.9显示命令
show命令
当需要查看配置信息或者系统IPSEC模块运行情况的时候可以用show命令来显示这些信息。
MPSec(config_ipsec)#showconnection(all|conn_name)
语法描述
文
show
显示信息命令关键字
connection
显示各安全连接定义参数的关键字
all
显示所有安全连接的定义
conn_name
指定连接的名字,显示该指定安全连接的定义
MPSec(config_ipsec)#showkeylist
语法描述
文
show
显示信息命令关键字
keylist
显示已经配置的所有预共享密钥和RSA私钥(只是列出密钥与身份的关联,并不列出密钥的内容)
MPSec(config_ipsec)#showrsapubkey(all|any|idlist)
语法描述
文
show
显示信息命令关键字
rsapubkey
显示RSA私钥对应的RSA公钥命令的关键字
all
显示本地已经配置的所有RSA私钥对应的RSA公钥
any
显示any身份的RSA公钥
idlist
为id1,id2,id3形式的身份列表,标示列出与该列表关联的RSA私钥所对应的RSA公钥
MPSec(config_ipsec)#show(sa|sp|ikeinfo)
语法描述
文
show
显示信息命令关键字
sa
显示安全联盟
sp
显示安全策略
ikeinfo
显示IKE信息
MPSec(config_ipsec)#showstatus
语法描述
文
show
显示信息命令关键字
status
显示IPSEC是否已经启动或者停止。
4.4VPN的配置实例
4.4.1总部到分支的配置实例
图4-1标准从总部到分支的配置实例
图解:
如图两个网络是通过公网连接起来,NPN连在内网和路由器之间。
安全连接通道的配置必须在两个网络相互通后才可以进行配置。
安全连接配置步骤如下:
vpn-1配置
命令
文描述
MPSec(config_ipsec)#showstatus
Stopped
先显示一下IPSec模块的状态
stopped说明IPSec模块没有启起来
MPSec(config_ipsec)#start
StartingIPsec...
启动IPSec模块
MPSec(config_ipsec)#conndef
WORDConnectionname
开始定义一个连接
下一级参数为连接名
MPSec(config_ipsec)#conndefhdtobr
manualManualconnection
autoAutonegotiationalconnection
给定义的连接起个连接名
下一级参数为连接方式,手动或自动
MPSec(config_ipsec)#conndefhdtobrmanual
tunnelTunnelmode
transportTransportmode
选择手动方式
下一级参数为通道模式
MPSec(config_ipsec)#conndefhdtobrmanualtunnel
A.B.C.DLocalgatewayIPaddress
选择隧道模式
下一级参数为本端IP地址
MPSec(config_ipsec)#conndefhdtobrmanualtunnel128.255.12.90
A.B.C.D/MLocalsubnetIPaddressandmask
noneLocalsubnetnotexist
本端IP地址为128.255.12.90
下一级参数为本端子网地址,可以为none或IP地址加掩码
MPSec(config_ipsec)#conndefhdtobrmanualtunnel128.255.12.90128.255.12.0/22
A.B.C.DRemotegatewayIPaddress
本端子网地址为128.255.12.0/22
下一级参数为远端IP地址
MPSec(config_ipsec)#conndefhdtobrmanualtunnel128.255.12.90128.255.12.0/22202.115.60.221
A.B.C.D/MRemotesubnetIPaddressandmask
noneRemotesubnetnotexist
远端IP地址为202.115.60.221
下一级参数为远端子网地址,可以为none或IP地址加掩码
MPSec(config_ipsec)#conndefhdtobrmanualtunnel128.255.12.90128.255.12.0/22202.115.60.221210.7.15.0/24
WORDSPI,mustbe0x100-0xfff
远端子网地址为210.7.15.0、24
下一级参数为安全参数索引(0x100-0xfff)
MPSec(config_ipsec)#conndefhdtobrmanualtunnel128.255.12.90128.255.12.0/22202.115.60.221210.7.15.0/240x200
3des-md5-96ESPalgorithm:
encryptionby3desand