使用GNS3 802防火墙制作3站之间VPN小冉做文档格式.docx
《使用GNS3 802防火墙制作3站之间VPN小冉做文档格式.docx》由会员分享,可在线阅读,更多相关《使用GNS3 802防火墙制作3站之间VPN小冉做文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
(学习真是个无底洞)
进入端口模式配置e3e0IP和利用nameifinside或者nameifoutside配置内外网口
本例:
Fw9(config)#inte3
Fw9(config-if)#ipaddress192.168.1.1255.255.255.0
Fw9(config-if)#nameifinside(inside指的是内网口outside指的是外网口)
在这里可以使用security-level命令设置优先级这里的优先级值越高优先级越高在防火墙中数据流从从高到低流是允许的反之是需要ACL规则的一般情况下内网到外网都是允许的外网到内网是禁止的!
(摘取别的文献:
在缺省配置中,以太网0被命名为外部接口(outside),安全级别是0;
以太网1被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安全级别越高。
若添加新的接口,语句可以这样写:
Pix525(config)#nameifpix/intf3security40(安全级别任取))
fw9(config-if)#security-level?
interfacemodecommands/options:
<
0-100>
Securitylevelfortheinterface
fw9(config-if)#security-level
用相同的办法配置e0
Fw9(config)#inte0
Fw9(config-if)#ipaddress172.16.1255.255.255.252
然后内外口都配置了就开始做nat了
然后第一步是做ACL规则
可以想想数据流是从高往底走。
回来的时候会被阻止那么就应该在进来的地方允许他能进来我们实验才可以继续所以首先要做的就是做一条规则允许外网ICMP流量往内网能通行
Fw9(config)#access-list100permiticmpanyany
Fw9(config)#access-group100ininterfaceoutside(在这里为什么用IN呢是因为在出去的流量是允许的回来的方向是outside的入口方向所以用in)
然后就是做nat功能了
做nat功能呢得明白它是怎么回事。
Nat就是将内网的IP地址(私网)暂时转换为外网的IP地址(公网)访问了目标地址后。
在用NAT转换回内网的IP地址回应。
然后就是该怎么做了。
首先得配置转换的地址转换的地址分为2种
1使用外网口转换
2使用外网IP段转换
本例子使用1的方式待会说2的中方式(很简单的);
首先都会使用的一个指定范围的global命令
fw9(config)#global(outside)1interface
这句话的意思是定义一个1的范围范围地址为外网口的地址
其实使用outside也能理解出外网和外网口肯定有关对吧?
fw9(config)#nat(inside)10.0.0.00.0.0.0
这句话的意思是转换所以进入PIX防火墙inside的地址转换的地址范围为定义的global1
Inside的意思如上
然后在摘要其他的文献:
例2.Pix525(config)#nat(inside)1172.16.5.0255.255.0.0表示只有172.16.5.0这个网段内的主机可以访问外网。
然后其中的2的方法就是将global的地址范围配置一下就行了其他文献摘要:
例1.Pix525(config)#global(outside)161.144.51.42-61.144.51.48表示内网的主机通过pix防火墙要访问外网时,pix防火墙将使用61.144.51.42-61.144.51.48这段ip地址池为要访问外网的主机分配一个全局ip地址。
例2.Pix525(config)#global(outside)161.144.51.42表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个单一ip地址。
例3.Pix525(config)#noglobal(outside)161.144.51.42表示删除这个全局表项。
做好了nat然后就是最重要的路由配置了
在防火墙中配置路由不是IProute了
而是使用routeoutside和routeinside顾名思义就是直接定义出口和入口的路由
他的格式是routeoutside源网络源网络子网下一跳地址跳数
本例中
fw9(config)#routeoutside0.0.0.00.0.0.0172.16.1.21
意思是做outside的默认路由全部走172.16.1.2
为什么没做routeinside呢?
原因是这里用R2扮演的内网是直连网络所以不做如果说R2是一个网络切记配置走内网地址的网络
例如:
routeinside192.168.0.0255.255.255.0192.168.0.2
到这里就可以测试nat功能了R2ping外网R1配置的IP就能测试(不知道是模拟器问题还是我所学胜少,pingFW9的外网口是ping不通的。
)
不通?
怎么办?
XX?
老师?
算了吧!
自己解决!
首先一步一步ping首先pingFW9的内网口通了然后在R1瓶FW9外网口如果也通了
那么R2ping不通R2那么就应该考虑防火墙的问题了(其实还有一个问题存在想想)
然后使用R2一直pingT1
在FW9上showxlate看是否有nat转换
如:
fw9#showxlate
0inuse,0mostused
fw9#
上例子就是没转换
想想为什么?
1配置错误
2路由错误(也是我上边所说的存在的一个问题想想R1pingR2R1做了路由了么?
?
配置错误回上重新学习。
(谢谢)
正确的应该是这样的:
2inuse,2mostused
PATGlobal172.16.1.1
(2)Local192.168.1.100ICMPid16
PATGlobal172.16.1.1
(1)Local192.168.1.100ICMPid15
如果做了nat转换呢?
还是不通怎么办?
别着急肯定是ACL规则没做好也就是outside的访问控制错误回头重新学习(谢谢)
Nat做好了第二步就算画上了完美的句号!
之后就是做VPN了
首先我们得了解一下什么是VPN
其实我也不知道怎么办?
不多说。
VPN就是让2个防火墙之间拉了一条专线。
让2个防火墙之间的内网了互相访问通信。
这就是VPN
写到这里其实笔者想说VPN也是笔者才学习。
具体的实现方式也是懵懵懂懂。
与其说是懂配置还不如说是克服的软件的问题。
IOS的问题网上众多文献的问题走向了婚姻的殿堂!
啊呸!
不多说首先要做的是2个PIX之间的VPN连接
在这之前贴张拓扑:
首先还是以本例说明
2个VPN之间的连接目标R2PINGR3相通
首先得了解VPN的实现方式(以下纯属个人理解):
配置VPN就做2件事情
1创建IKE策略
2创建变换集
3创建加密图
4加密图和IKE策略应用到出口
首先创建IKE策略
肯定就得创建IKE策略咯(不是废话么?
这样想了没?
嘿嘿)
Isakmppolicy1就是创建IKE策略1这个1为优先级如果要配置2什么的也是可以的具体撒的我也说不上来
例子:
fw9(config)#isakmppolicy1
fw9(config-isakmp-policy)#
然后就会自动进入1的配置模式了(IKE协商参数的配置2个防火墙之间得一致)
然后就是一些参数的配置了(引用):
encryption3des命令被用来设置加密所需要的算法,(DES—DataEncryptionStandard数据加密标准,是使用最广泛的共享密钥加密算法。
它使用对称式加密算法,加密和解密使用相同的密钥值,共56位,而3DES是DES的扩展,共168位。
由于算法的复杂性,因此需要的网络宽带和内存)
autherticationpre-share命令告诉路由器要使用预先共享的密钥(对等体认证方法除了预共享密钥还有RSA加密的nonces,RSA签名,默认为RSA签名)
hashsha命令被用来设置密钥认证所用的算法,有MD5和SHA-1两种,默认为SHA-1。
(Hash散列算法是一种基于密钥(对称密钥或公钥)的加密不同的数据转换类型。
其中MD5是使用最广泛的报文摘要算法,可产生128位散列值的散列算法。
SHA-1是安全散列算法,可产生一个160位的散列值。
SHA-1算法的缺点是速度被MD5慢,但是SHA的报文摘要更长,具有更高的安全性)
group2
为密钥交换方式,一般有三种模式,分部为group1,group2,group5,其中,group1的密钥交换最简单,而group5的密钥交换方式最复杂。
Lifetime86400
声明了SA的生存时间,默认为86400。
在超过生存时间后,SA将被重新协商。
fw9(config-isakmp-policy)#authenticationpre-share
配置了共享密钥肯定得配置密钥咯然后再后边配置
fw9(config-isakmp-policy)#encryption3des
fw9(config-isakmp-policy)#hashmd5
fw9(config-isakmp-policy)#group1
fw9(config-isakmp-policy)#lifetime86400
然后就是将IKE应用到outside口啦
fw9(config-isakmp-policy)#cryptoisakmpidentityaddress(我就不明白这句话表达的什么意思一直都没找到文档说明这句话的意思。
fw9(config)#cryptoisakmpenableoutside(从字面意思就能明白--!
啊不会英文啊?
和我一样哈哈我用的有道哟。
又给网易打广告了。
然后如上所诉配置密钥:
fw9(config)#cryptoisakmpkey*****address(FW10外网口IP地址)netmask255.255.255.255
*****当然为共享密钥啦要和FW9的一致哟
如果配置错误怎么办?
你肯定会说在之前加个no啦错啦!
删除的方法是:
fw9(config)#Notunnel-group配置的(FW10外网口IP地址)ipsec-attributes
然后IKE完成了就改做加密图了
加密图和加密流是一起的。
但是回头我们在想想
VPN是使用的物理链路然后肯定就是得保护fw9fw10之间内网的流量了对么?
所以得先配置ACL规则然后应用到加密图里边所以得先配置规则!
在本例中我们要保护的流量就是处于2个内网的流量也就是R2R3所处内网的流量
配置为:
fw9(config)#access-list101extendedpermitip192.168.1.0255.255.255.0192.168.2.0255.255.255.0
fw9(config)#access-list101extendedpermitip192.168.2.0255.255.255.0192.168.1.0255.255.255.0
然后就是配置加密图了
配置加密图之前得配置一个变化集
fw9(config)#cryptoipsectransform-setvpnesp-3desesp-md5-hmac
这个加密图定义了一个名字叫vpn的方法使用3DES加密算法MD5摘要算法
然后创建加密图
fw9(config)#cryptomapaaa1ipsec-isakmp
其实AAA为加密图的名字1为优先级优先级高的先匹配(这玩意笔者觉得优先级高的若匹配连接优先级低的就不能连接为什么这么说呢因为笔者开始引用网上一篇配置配置使用的优先级做的多站的VPN然后只能站与站的VPN实现不了多站)
然后引用刚刚配置的ACL规则确定所受保护的数据流
fw9(config)#cryptomapaaa1matchaddress101
其中的101就是使用的ACL规则的标签了
之后指定对端防火墙的outside地址了
fw9(config)#cryptomapaaa1setpeer(FW10外网口IP地址)
(!
注意:
这里在做多站的时候只需要在在这条规则后边在输入一次:
fw9(config)#cryptomapaaa1setpeer(FW11外网口IP地址)
这样就能实现多站的VPN了注意!
然后应用刚刚配置的变换集到加密图中
fw9(config)#cryptomapaaa1settransform-settestvpn
最后将加密图应用到outside就OK啦
fw9(config)#cryptomapaaainterfaceoutside
这样配置下来是不能通信的!
为什么呢?
因为又想一下。
R2想和R3VPN通信别忘了FW9会对R2进行nat转换
所以得防止R2出去的目标地址如果为R3的话就不做nat转化
fw9(config)#access-list102permitip(r1所在网络的网络地址)(r1所在网络的网络地址所在子网掩码)(r2所在网络的网络地址)(r2所在网络的网络地址的子网掩码)
首先配置规则
fw9(config)#nat(inside)0access-list102
将配置的ACL规则和这条命令相接和的意思就是R1所在网络地址和R2所在网络地址想通信的话nat功能就不转换0为不转换的意思(可以?
然后翻译出现的那几句话就明白了)
然后再fw10做相同的配置只是注意的是ACL规则得符合fw10的情况IKE和加密图以及变换集得一样不然是不会成功的然后FW10就当作实践吧错了别灰心总会成功的。
至于fw11的配置和FW10配置一样然后再FW9的配置配置相应的ACL规则出入站IKE共享密钥指定最重要的就是配置一条
然后下边是以上所有拓扑配置:
Fw9
fw9#showrunning-config
:
Saved
PIXVersion8.0
(2)
!
hostnamefw9
enablepassword8Ry2YjIyt7RRXU24encrypted
names
interfaceEthernet0
nameifoutside
security-level0
ipaddress172.16.1.1255.255.255.252
interfaceEthernet1
shutdown
nonameif
nosecurity-level
noipaddress
interfaceEthernet2
interfaceEthernet3
nameifinside
security-level100
ipaddress192.168.1.1255.255.255.0
interfaceEthernet4
passwd2KFQnbNIdI.2KYOUencrypted
ftpmodepassive
access-list100extendedpermitip192.168.1.0255.255.255.0192.168.2.0255.255.255.0
access-list100extendedpermitip192.168.2.0255.255.255.0192.168.1.0255.255.255.0
access-list100extendedpermitip192.168.1.0255.255.255.0192.168.0.0255.255.255.0
access-list100extendedpermitip192.168.0.0255.255.255.0192.168.1.0255.255.255.0
access-list101extendedpermiticmpanyany
access-list105extendedpermitip192.168.1.0255.255.255.0192.168.2.0255.255.255.0
access-list105extendedpermitip192.168.1.0255.255.255.0192.168.0.0255.255.255.0
pagerlines24
mtuinside1500
mtuoutside1500
nofailover
icmpunreachablerate-limit1burst-size1
noasdmhistoryenable
arptimeout14400
global(outside)1interface
nat(inside)0access-list105
nat(inside)10.0.0.00.0.0.0
access-group101ininterfaceoutside
routeoutside0.0.0.00.0.0.0172.16.1.21
timeoutxlate3:
00:
00
timeoutconn1:
00half-closed0:
10:
00udp0:
02:
00icmp0:
02
timeoutsunrpc0:
00h3230:
05:
00h2251:
00mgcp0:
00mgcp-pat0:
timeoutsip0:
30:
00sip_media0:
00sip-invite0:
03:
00sip-disconnect0:
timeoutuauth0:
00absolute
dynamic-access-policy-recordDfltAccessPolicy
nosnmp-serverlocation
nosnmp-servercontact
snmp-serverenabletrapssnmpauthenticationlinkuplinkdowncoldstart
cryptoipsectransform-setvpnesp-3desesp-md5-hmac
cryptomapran1matchaddress100
cryptomapran1setpeer172.16.0.1172.16.2.1
cryptomapran1settransform-setvpn
cryptomapraninterfaceoutside
cryptoisakmpidentityaddress
cryptoisakmpenableoutside
cryptoisakmppolicy1
authenticationpre-share
encryption3des
hashmd5
group1
lifetime86400
nocryptoisakmpnat-traversal
telnettimeout5
sshtimeout5
consoletimeout0
threat-detectionbasic-threat
threat-detectionstatisticsaccess-list
tunnel-group172.16.2.1typeipsec-l2l
tunnel-group172.16.2.1ipsec-attributes
pre-shared-key*
tunnel-group192.16.0.1typeipsec-l2l
tunnel-group172.16.0.1typeipsec-l2l
tunnel-group172.16.0.1ipsec-attributes
prompthostnamecontext
Cryptochecksum:
2427313013