2. 配置路由器NAT网络
(1) 配置外出路由并测试
主要是配置缺省路由。
huadong(config)#ip route 0.0.0.0 0.0.0.0 210.75.32.9
huadong#ping 211.100.15.36
……
!!!!!
……
结果证明本路由器可以通过ISP访问Internet。
(2) 配置PAT,使内部网络计算机可以访问外部网络,但不能访问总部和分支机构
主要是基于安全目的,不希望内部网络被外部网络所了解,而使用地址转换(NAT)技术。同时,为了节约费用,只租用一个IP地址(路由器使用)。所以,需要使用PAT技术。使用NAT技术的关键是指定内外端口和访问控制列表。
在访问控制列表中,需要将对其他内部网络的访问请求包废弃,保证对其他内部网络的访问是通过IPSec来实现的。
huadong(config)#inter eth0/0
huadong(config-if)#ip nat inside
huadong(config-if)#inter serial0/0
huadong(config-if)#ip nat outside
huadong(config-if)#exit
以上命令的作用是指定内外端口。
huadong(config)#route-map abc permit 10
huadong(config-route-map)#match ip address 150
huadong(config-route-map)#exit
以上命令的作用是指定对外访问的规则名。
huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.16.0.0 0.0.255.255
huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.17.2.0 0.0.0.255
huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.17.3.0 0.0.0.255
huadong(config)#access-list 150 permit ip 172.17.1.0 0.0.0.255 any
以上命令的作用是指定对外访问的规则内容。例如,禁止利用NAT对其他内部网络直接访问(当然,专用地址本来也不能在Internet上使用),和允许内部计算机利用NAT技术访问Internet(与IPSec无关)。
huadong(config)#ip nat inside source route-map abc interface serial0/0 overload
上述命令的作用是声明使用串口的注册IP地址,在数据包遵守对外访问的规则的情况下,使用PAT技术。
以下是测试命令,通过该命令,可以判断配置是否有根本的错误。例如,在命令的输出中,说明了内部接口和外部接口。并注意检查输出与实际要求是否相符。
huadong#show ip nat stat
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Outside interfaces:
Serial0/0
Inside interfaces:
Ethernet0/0
……
在IP地址为172.17.1.100的计算机上,执行必要的测试工作,以验证内部计算机可以通过PAT访问Internet。
c:>ping 210.75.32.10
……
Reply from 210.75.32.10: bytes=32 time=1ms TTL=255
……
c:>ping
http://winos.cn
……
Reply from 211.100.15.36: bytes=32 time=769ms TTL=248
……
此时,在路由器上,可以通过命令观察PAT的实际运行情况,再次验证PAT配置正确。
huadong#show ip nat tran
Pro Inside global Inside local Outside local Outside global
icmp 210.75.32.9:1975 172.17.1.100:1975 210.75.32.10:1975 210.75.12.10:1975
……
以上测试过程说明,NAT配置正确。内部计算机可以通过安全的途径访问Internet。当然,如果业务要求,不允许所有的内部员工/计算机,或只允许部分内部计算机访问Internet,那么,只需要适当修改上述配置命令,即可实现。
3. 配置ESP-DES IPSec并测试
以下配置是配置VPN的关键。首先,VPN隧道只能限于内部地址使用。如果有更多的内部网络,可在此添加相应的命令。
huadong(config)#access-list 105 permit ip 172.17.1.0 0.0.0.255 172.16.0.0 0.0.255.255
huadong(config)#access-list 106 permit ip 172.17.1.0 0.0.0.255 172.17.2.0 0.0.0.255
huadong(config)#access-list 107 permit ip 172.17.1.0 0.0.0.255 172.17.3.0 0.0.0.255
指定VPN在建立连接时协商IKE使用的策略。方案中使用sha加密算法,也可以使用md5算法。
在IKE协商过程中使用预定义的码字。
huadong(config)#crypto isakmp policy 10
huadong(config-isakmp)#hash sha
huadong(config-isakmp)#authentication pre-share
huadong(config-isakmp)#exit
针对每个VPN路由器,指定预定义的码字。可以一样,也可以不一样。但为了简明起见,建议使用一致的码字。
huadong(config)#crypto isakmp key abc2001 address 211.157.243.130
huadong(config)#crypto isakmp key abc2001 address 202.96.209.165
huadong(config)#crypto isakmp key abc2001 address 192.18.97.241
为每个VPN(到不同的路由器,建立不同的隧道)制定具体的策略,并对属于本策略的数据包实施保护。本方案包括3个VPN隧道。需要制定3个相应的入口策略(下面只给出1个)。
huadong(config)#crypto map abc 20 ipsec-isakmp
huadong(config-crypto-map)#set peer 211.157.243.130
huadong(config-crypto-map)#set transform-set abc-des
huadong(config-crypto-map)#match address 105
huadong(config-crypto-map)#exit
使用路由器的外部接口作为所有VPN入口策略的发起方。与对方的路由器建立IPSec。
huadong(config)#crypto map abc local-address serial0
IPSec使用ESP-DES算法(56位加密),并带SHA验证算法。
huadong(config)#crypto ipsec transform-set abc-des esp-des esp-sha-hmac
指明串口使用上述已经定义的策略。
huadong(config)#inter serial0/0
huadong(config-if)#crypto map abc
在IP地址为172.17.1.100的计算机上验证:
c:>ping 172.16.1.100
……
Reply from 172.16.1.100: bytes=32 time=17ms TTL=255
……
huadong#show crypto engine conn acti
ID Interface IP-Address State Algorithm Encrypt Decrypt
1 < none > < none > set HMAC_SHA+DES_56_CB 0 0
2000 Serial0/0 210.75.32.9 set HMAC_SHA+DES_56_CB 0 452
2001 Serial0/0 210.75.32.9 set HMAC_SHA+DES_56_CB 694 0
同时,这种连接使用了IPSec,而没有使用NAT技术。