IPsec VPN详解--nat穿越内网
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPsec VPN详解--nat穿越内网相关的知识,希望对你有一定的参考价值。
四. NAT穿越内网路由VPN设置
如图1所示,Router A为某机构总部网关,Router D和Router E是两个分支网关,Router B和Router C为分支提供NAT转换。要求:为了接受协商发起端的访问控制列表设置,Router A采用安全模板方式分别与Router D和Router E建立IPsec VPN,为总部和分支流量进行加密传输。
图1 IPSec VPN多分支安全模板NAT穿越功能的配置举例组网图
设备 | 接口 | IP地址 | 设备 | 接口 | IP地址 |
Router A | Eth0/0 | 1.0.0.60/24 | Router D | Eth0/0 | 10.0.1.2/24 |
Eth0/1 | 172.0.0.1/24 | Eth0/1 | 192.168.1.1/24 | ||
Router B | Eth0/0 | 1.0.0.1/24 | Router E | Eth0/0 | 10.0.2.2/24 |
Eth0/1 | 10.0.1.1/24 | Eth0/1 | 192.168.2.1/24 | ||
Router C | Eth0/0 | 1.0.0.2/24 | |||
Eth0/1 | 10.0.2.1/24 |
· 为了穿越NAT,总部与分支之间需要配置成野蛮模式。
· Router A采用安全模板方式时不需要配置ACL,接受协商发起端的ACL。但Router D和Router E需要配置ACL,使特定流量匹配安全策略;
· 为了访问总部外网接口,Router D和Router E必须配置静态路由。
本举例是在Release 2317版本上进行配置和验证的。
· 在配置IPsec之前,需要保证总部与分支间路由可达。
· ACL一定不要最后添加一条deny ip的规则,该配置会导致不需要加密的流量被丢弃。
# 配置接口Ethernet0/1的IP地址。
<RouterA> system-view
[RouterA] interface ethernet 0/1
[RouterA-Ethernet0/1] ip address 172.0.0.1255.255.255.0
[RouterA-Ethernet0/1] quit
# 配置接口Ethernet0/0的IP地址。
[RouterA] interface ethernet 0/0
[RouterA-Ethernet0/0] ip address 1.0.0.60255.255.255.0
[RouterA-Ethernet0/0] quit
# 配置到NAT设备的静态路由,目的地址为NAT转换后的地址。
[RouterA] ip route-static 11.0.0.0 255.0.0.01.0.0.1
[RouterA] ip route-static 12.0.0.0 255.0.0.01.0.0.2
# 配置到分支内网的静态路由。
[RouterA] ip route-static 192.168.1.0255.255.255.0 1.0.0.1
[RouterA] ip route-static 192.168.2.0255.255.255.0 1.0.0.2
# 配置本端安全网关的名字为center。
[RouterA] ike local-name center
# 创建一个IKE对等体branch1,并进入IKE-Peer视图。
[RouterA] ike peer branch1
# 配置IKE第一阶段的协商模式为野蛮模式。
[RouterA-ike-peer-branch1] exchange-modeaggressive
# 选择IKE第一阶段的协商过程中使用ID的类型为name。
[RouterA-ike-peer-branch1] id-type name
# 配置对端安全网关的名字。
[RouterA-ike-peer-branch1] remote-namebranch1
# 配置预共享密钥。
[RouterA-ike-peer-branch1] pre-shared-key 123
# 启用NAT穿越功能。
[RouterA-ike-peer-branch1] nat traversal
[RouterA-ike-peer-branch1] quit
# 配置IKE对等体branch2。
[RouterA] ike peer branch2
[RouterA-ike-peer-branch2] pre-shared-key 123
[RouterA-ike-peer-branch2] exchange-modeaggressive
[RouterA-ike-peer-branch2] id-type name
[RouterA-ike-peer-branch2] remote-namebranch2
[RouterA-ike-peer-branch2] nat traversal
[RouterA-ike-peer-branch2] quit
# 采用安全提议的缺省配置。
[RouterA] ipsec proposal def
# 配置ESP协议采用md5认证算法。
[RouterA-ipsec-transform-set-def] espauthentication-algorithm md5
[RouterA-ipsec-transform-set-def] quit
# 创建IPsec安全策略模板branch1。
[RouterA] ipsec policy-template branch1 1
[RouterA-ipsec-policy-template-branch1-1]ike-peer branch1
[RouterA-ipsec-policy-template-branch1-1]proposal def
[RouterA-ipsec-policy-template-branch1-1]quit
# 引用IPsec安全策略模板创建一条IPsec安全策略。
[RouterA] ipsec policy branch 1 isakmp templatebranch1
# 创建IPsec安全策略模板branch2。
[RouterA] ipsec policy-template branch2 1
[RouterA-ipsec-policy-template-branch2-1]ike-peer branch2
[RouterA-ipsec-policy-template-branch2-1]proposal def
[RouterA-ipsec-policy-template-branch2-1]quit
# 引用IPsec安全策略模板创建一条IPsec安全策略。
[RouterA] ipsec policy branch 2 isakmptemplate branch2
# 在接口Ethernet0/0上应用安全策略。
[RouterA] interface ethernet 0/0
[RouterA-Ethernet0/0] ipsec policy branch
[RouterA-Ethernet0/0] quit
# 配置接口Ethernet0/1的IP地址。
<RouterB> system-view
[RouterB] interface ethernet 0/1
[RouterB-Ethernet0/1] ip address 10.0.1.1255.255.255.0
[RouterB-Ethernet0/1] quit
# 配置接口Ethernet0/0的IP地址。
[RouterB] interface ethernet 0/0
[RouterB-Ethernet0/0] ip address 1.0.0.1255.255.255.0
[RouterB-Ethernet0/0] quit
# 创建NAT转换地址池。
[RouterB] nat address-group 0 11.0.0.111.0.0.10
# 创建ACL2000,定义需要NAT转换的数据流。
[RouterB] acl number 2000
[RouterB-acl-basic-2000] rule 0 permit source10.0.1.0 0.0.0.255
[RouterB-acl-basic-2000] quit
# 在接口下配置访问控制列表和地址池关联。
[RouterB] interface ethernet 0/0
[RouterB-Ethernet0/0] nat outbound 2000address-group 0
[RouterB-Ethernet0/0] quit
# 配置接口Ethernet0/0的IP地址。
<RouterC> system-view
[RouterC] interface ethernet 0/0
[RouterC-Ethernet0/0] ip address 1.0.0.2255.255.255.0
[RouterC-Ethernet0/0] quit
# 配置接口Ethernet0/1的IP地址。
[RouterC] interface ethernet 0/1
[RouterC-Ethernet0/1] ip address 10.0.2.1255.255.255.0
[RouterC-Ethernet0/1] quit
# 创建NAT转换地址池。
[RouterC] nat address-group 0 12.0.0.112.0.0.10
# 创建ACL2000,定义需要NAT转换的数据流。
[RouterC] acl number 2000
[RouterC-acl-basic-2000] rule 0 permit source10.0.2.0 0.0.0.255
[RouterC-acl-basic-2000] quit
# 在接口下配置访问控制列表和地址池关联。
[RouterC] interface ethernet 0/0
[RouterC-Ethernet0/0] nat outbound 2000address-group 0
[RouterC-Ethernet0/0] quit
# 配置接口Ethernet0/0的IP地址。
<RouterD> system-view
[RouterD] interface ethernet 0/0
[RouterD-Ethernet0/0] ip address 10.0.1.2255.255.255.0
[RouterD-Ethernet0/0] quit
# 配置接口Ethernet0/1的IP地址。
[RouterD] interface ethernet 0/1
[RouterD-Ethernet0/1] ip address 192.168.1.1255.255.255.0
[RouterD-Ethernet0/1] quit
# 配置访问外网的默认路由。
[RouterD] ip route-static 0.0.0.0 0.0.0.010.0.1.1
# 创建ACL3000,定义需要IPsec保护的数据流。
[RouterD] acl number 3000
[RouterD-acl-adv-3000] rule 0 permit ip source192.168.1.0 0.0.0.255 destination
172.0.0.0 0.0.0.255
[RouterD-acl-adv-3000] quit
# 配置本端安全网关的名字为branch1。
[RouterD] ike local-name branch1
# 创建一个IKE对等体,并进入IKE-Peer视图。
[RouterD] ike peer center
# 配置IKE第一阶段的协商模式为野蛮模式。
[RouterD-ike-peer-center] exchange-modeaggressive
# 配置预共享密钥。
[RouterD-ike-peer-center] pre-shared-key 123
# 选择IKE第一阶段的协商过程中使用ID的类型为name。
[RouterD-ike-peer-center] id-type name
# 配置对端安全网关的名字。
[RouterD-ike-peer-center] remote-name center
# 配置远端地址为总部网关的出接口地址。
[RouterD-ike-peer-center] remote-address1.0.0.60
# 启用NAT穿越功能。
[RouterD-ike-peer-center] nat traversal
[RouterD-ike-peer-center] quit
# 采用安全提议的缺省配置。
[RouterD] ipsec proposal def
# 配置ESP协议采用md5认证算法。
[RouterD-ipsec-transform-set-def] espauthentication-algorithm md5
[RouterD-ipsec-transform-set-def] quit
# 创建IPsec安全策略center,其协商方式为isakmp。
[RouterD] ipsec policy center 1 isakmp
[RouterD-ipsec-policy-isakmp-center-1]security acl 3000
[RouterD-ipsec-policy-isakmp-center-1]ike-peer center
[RouterD-ipsec-policy-isakmp-center-1]proposal def
[RouterD-ipsec-policy-isakmp-center-1] quit
# 在接口Ethernet0/0上应用安全策略。
[RouterD] interface ethernet 0/0
[RouterD-Ethernet0/0] ipsec policy center
[RouterD-Ethernet0/0] quit
# 配置接口Ethernet0/0的IP地址。
<RouterE> system-view
[RouterE] interface ethernet 0/0
[RouterE-Ethernet0/0] ip address 10.0.2.2255.255.255.0
[RouterE-Ethernet0/0] quit
# 配置接口Ethernet0/1的IP地址。
[RouterE] interface ethernet 0/1
[RouterE-Ethernet0/1] ip address 192.168.2.1255.255.255.0
[RouterE-Ethernet0/1] quit
# 配置访问外网的默认路由。
[RouterE] ip route-static 0.0.0.0 0.0.0.010.0.2.1
# 创建ACL3000,定义需要IPsec保护的数据流。
[RouterE] acl number 3000
[RouterE-acl-adv-3000] rule 0 permit ipsource 192.168.2.0 0.0.0.255 destination
172.0.0.0 0.0.0.255
[RouterE-acl-adv-3000] quit
# 配置本端安全网关的名字为branch2。
[RouterE] ike local-name branch2
# 创建一个IKE对等体,并进入IKE-Peer视图。
[RouterE] ike peer center
# 配置IKE第一阶段的协商模式为野蛮模式。
[RouterE-ike-peer-center] exchange-modeaggressive
# 配置预共享密钥。
[RouterE-ike-peer-center] pre-shared-key 123
# 选择IKE第一阶段的协商过程中使用ID的类型为name。
[RouterE-ike-peer-center] id-type name
# 配置对端安全网关的名字。
[RouterE-ike-peer-center] remote-name center
# 配置远端地址为总部网关的出接口地址。
[RouterE-ike-peer-center] remote-address1.0.0.60
# 启用NAT穿越功能。
[RouterE-ike-peer-center] nat traversal
[RouterE-ike-peer-center] quit
# 采用安全提议的缺省配置。
[RouterE] ipsec proposal def
# 配置ESP协议采用md5认证算法。
[RouterE-ipsec-transform-set-def] espauthentication-algorithm md5
[RouterE-ipsec-transform-set-def] quit
# 创建IPsec安全策略center,其协商方式为isakmp。
[RouterE] ipsec policy center 1 isakmp
[RouterE-ipsec-policy-isakmp-center-1]security acl 3000
[RouterE-ipsec-policy-isakmp-center-1]ike-peer center
[RouterE-ipsec-policy-isakmp-center-1]proposal def
[RouterE-ipsec-policy-isakmp-center-1] quit
# 在接口Ethernet0/0上应用安全策略。
[RouterE] interface ethernet 0/0
[RouterE-Ethernet0/0] ipsec policy center
[RouterE-Ethernet0/0] quit
本文出自 “Garrett” 博客,请务必保留此出处http://garrett.blog.51cto.com/11611549/1983597
以上是关于IPsec VPN详解--nat穿越内网的主要内容,如果未能解决你的问题,请参考以下文章