目錄

簡介

必要條件

需求

採用元件

背景資訊

設定

IPsec通道對等點的即時解析

使用嵌入式事件管理器(EEM)的通道目的地更新

驗證

疑難排解

相關資訊

簡介

本文件說明若思科路由器的兩端皆有動態 IP 位址，但動態網域名稱系統 (DNS) 已設定，應如何在路由器之間建立 LAN 對 LAN IPsec 通道。

必要條件

需求

思科建議您瞭解以下主題：

- 採用IPSec通道和通用路由封裝(GRE)的點對點VPN

- IPsec虛擬通道介面(VTI)

- 適用於Cisco IOS軟體的動態DNS支援

提示：如需詳細資訊，請參閱Cisco 3900系列、2900系列和1900系列軟體組態設定指南設定VPN一節和使用IP安全性設定虛擬通道介面一文。

採用元件

本檔案中的資訊是根據執行15.2(4)M6a版的Cisco 2911整合式服務路由器。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路正在作用，請確保您已瞭解任何指令可能造成的影響。

背景資訊

當需要建立LAN到LAN隧道時，必須知道兩個IPSec對等體的IP地址。如果其中一個IP地址是動態的，因而未知，例如通過DHCP獲取的，則另一種方法是使用動態加密對映。這可以正常運作，但通道只能由具有動態IP位址的對等體建立，因為另一個對等體不知道在哪裡可以找到其對等體。

有關動態到靜態的詳細資訊，請參閱使用NAT配置路由器到路由器的動態到靜態IPSec。

設定

IPsec通道對等點的即時解析

Cisco IOS®在12.3(4)T版中引入了一項新功能，允許指定IPSec對等體的完全限定域名(FQDN)。當存在與加密訪問清單匹配的流量時，Cisco IOS會解析FQDN並獲取對等體的IP地址。然後嘗試啟動隧道。

附註：此功能存在限制：遠端IPsec對等體的DNS名稱解析只有在用作啟動器時才有效。要加密的第一個資料包將觸發DNS查詢；DNS查詢完成後，後續資料包將觸發Internet金鑰交換(IKE)。即時解析在響應方上不起作用。

為了解決此限制並能夠從每個站點啟動隧道，您將在兩台路由器上都有動態加密對映條目，以便您可以將傳入的IKE連線對映到動態加密。這是必要的，因為具有即時解析功能的靜態條目在充當響應方時不起作用。

路由器A

crypto isakmp policy 10

encr aes

authentication pre-share

group 2

!

ip access-list extended crypto-ACL

permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255

!

crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0

!

crypto ipsec transform-set myset esp-aes esp-sha-hmac

!

crypto dynamic-map dyn 10

set transform-set myset

!

crypto map mymap 10 ipsec-isakmp

match address 140

set peer example-b.cisco.com dynamic

set transform-set myset

crypto map mymap 65535 ipsec-isakmp dynamic dyn

!

interface fastethernet0/0

ip address dhcp

crypto map secure_b

路由器B

crypto isakmp policy 10

encr aes

authentication pre-share

group 2

!

ip access-list extended crypto-ACL

permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255

!

crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0

!

crypto ipsec transform-set myset esp-aes esp-sha-hmac

!

crypto dynamic-map dyn 10

set transform-set myset

!

crypto map mymap 10 ipsec-isakmp

match address 140

set peer example-a.cisco.com dynamic

set transform-set myset

crypto map mymap 65535 ipsec-isakmp dynamic dyn

!

interface fastethernet0/0

ip address dhcp

crypto map secure_b

註：由於您不知道FQDN將使用哪個IP地址，因此需要使用萬用字元Pre-Shared-Key:0.0.0.0 0.0.0.0

使用嵌入式事件管理器(EEM)的通道目的地更新

您也可以使用VTI來完成此操作。基本配置如下所示：

路由器A

crypto isakmp policy 10

encryption aes

authentication pre-share

group 2

crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 no-xauth

crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac

!

crypto ipsec profile ipsec-profile

set transform-set ESP-AES-SHA

!

interface Tunnel1

ip address 172.16.12.1 255.255.255.0

tunnel source fastethernet0/0

tunnel destination example-b.cisco.com

tunnel mode ipsec ipv4

tunnel protection ipsec profile ipsec-profile

路由器B

crypto isakmp policy 10

encryption aes

authentication pre-share

group 2

crypto isakmp key cisco123 address 0.0.0.0 0.0.0.0 no-xauth

crypto ipsec transform-set ESP-AES-SHA esp-aes esp-sha-hmac

!

crypto ipsec profile ipsec-profile

set transform-set ESP-AES-SHA

!

interface Tunnel1

ip address 172.16.12.2 255.255.255.0

tunnel source fastethernet0/0

tunnel destination example-a.cisco.com

tunnel mode ipsec ipv4

tunnel protection ipsec profile ipsec-profile

在以FQDN作為隧道目標的先前配置到位後，show run命令將顯示IP地址而不是名稱。這是因為解決問題只有一次：

RouterA(config)#do show run int tunn 1

Building configuration...

Current configuration : 130 bytes

!

interface Tunnel1

ip address 172.16.12.1 255.255.255.250

tunnel source fastethernet0/0

tunnel destination 209.165.201.1

tunnel mode ipsec ipv4

tunnel protection ipsec profile ipsec-profile

end

RouterB(config)#do show run int tunn 1

Building configuration...

Current configuration : 130 bytes

!

interface Tunnel1

ip address 172.16.12.2 255.255.255.250

tunnel source fastethernet0/0

tunnel destination 209.165.200.225

tunnel mode ipsec ipv4

tunnel protection ipsec profile ipsec-profile

end

此問題的解決方法是配置applet，以便每分鐘解析隧道目標：

路由器A

event manager applet change-tunnel-dest

event timer cron name TAC cron-entry "* * * * *"

action 1.0 cli command "enable"

action 1.1 cli command "configure terminal"

action 1.2 cli command "interface tunnel1"

action 1.3 cli command "tunnel destination example-b.cisco.com"

路由器B

event manager applet change-tunnel-dest

event timer cron name TAC cron-entry "* * * * *"

action 1.0 cli command "enable"

action 1.1 cli command "configure terminal"

action 1.2 cli command "interface tunnel1"

action 1.3 cli command "tunnel destination example-a.cisco.com"

驗證

使用本節內容，確認您的組態是否正常運作。

RouterA(config)#do show ip int brie

Interface           IP-Address         OK? Method     Status  Protocol

FastEthernet0/0     209.165.200.225    YES NVRAM      up      up

FastEthernet0/1     192.168.10.1       YES NVRAM      up      up

Tunnel1             172.16.12.1        YES manual     up      up

RouterB(config)#do show ip int brie

Interface           IP-Address          OK?   Method   Status  Protocol

FastEthernet0/0     209.165.201.1       YES   TFTP      up     up

FastEthernet0/1     192.168.20.1        YES   manual    up     up

Tunnel1             172.16.12.2         YES   manual    up     up

RouterA(config)#do show cry isa sa

dst             src             state          conn-id slot status

209.165.200.225 209.165.201.1   QM_IDLE              2    0 ACTIVE

RouterB(config)#do show cry isa sa

dst             src             state          conn-id slot status

209.165.200.225 209.165.201.1   QM_IDLE           1002    0 ACTIVE

RouterA(config)#do show cry ipsec sa

interface: Tunnel1

Crypto map tag: Tunnel1-head-0, local addr 209.165.200.225

protected vrf: (none)

local  ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer 209.165.201.1 port 500

PERMIT, flags={origin_is_acl,}

#pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10

#pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 0, #recv errors 0

local crypto endpt.: 209.165.200.225, remote crypto endpt.: 209.165.201.1

path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0

current outbound spi: 0x8F1592D2(2400555730)

inbound esp sas:

spi: 0xF7B373C0(4155732928)

transform: esp-3des esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2002, flow_id: AIM-VPN/BPII-PLUS:2, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4501866/3033)

IV size: 8 bytes

replay detection support: Y

Status: ACTIVE

inbound ah sas:

inbound pcp sas:

outbound esp sas:

spi: 0x8F1592D2(2400555730)

transform: esp-3des esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2001, flow_id: AIM-VPN/BPII-PLUS:1, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4501866/3032)

IV size: 8 bytes

replay detection support: Y

Status: ACTIVE

outbound ah sas:

outbound pcp sas:

RouterB(config)#do show cry ipsec sa

interface: Tunnel1

Crypto map tag: Tunnel1-head-0, local addr 209.165.201.1

protected vrf: (none)

local  ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)

current_peer 209.165.200.225 port 500

PERMIT, flags={origin_is_acl,}

#pkts encaps: 10, #pkts encrypt: 10, #pkts digest: 10

#pkts decaps: 10, #pkts decrypt: 10, #pkts verify: 10

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 0, #recv errors 0

local crypto endpt.: 209.165.201.1, remote crypto endpt.: 209.165.200.225

path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0

current outbound spi: 0xF7B373C0(4155732928)

PFS (Y/N): N, DH group: none

inbound esp sas:

spi: 0x8F1592D2(2400555730)

transform: esp-3des esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2003, flow_id: NETGX:3, sibling_flags 80000046, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4424128/3016)

IV size: 8 bytes

replay detection support: Y

Status: ACTIVE

inbound ah sas:

inbound pcp sas:

outbound esp sas:

spi: 0xF7B373C0(4155732928)

transform: esp-3des esp-sha-hmac ,

in use settings ={Tunnel, }

conn id: 2004, flow_id: NETGX:4, sibling_flags 80000046, crypto map: Tunnel1-head-0

sa timing: remaining key lifetime (k/sec): (4424128/3016)

IV size: 8 bytes

replay detection support: Y

Status: ACTIVE

outbound ah sas:

outbound pcp sas:

將DNS伺服器上b.cisco.com的DNS記錄從209.165.201.1更改為209.165.202.129後，EEM將促使路由器A實現，並且隧道將使用正確的新IP地址重新建立。

RouterB(config)#do show ip int brie

Interface           IP-Address          OK?   Method   Status  Protocol

FastEthernet0/0     209.165.202.129     YES   TFTP      up     up

FastEthernet0/1     192.168.20.1        YES   manual    up     up

Tunnel1             172.16.12.2         YES   manual    up     up

RouterA(config-if)#do show run int tunn1

Building configuration...

Current configuration : 192 bytes

!

interface Tunnel1

ip address 172.16.12.1 255.255.255.252

tunnel source fastethernet0/0

tunnel destination 209.165.202.129

tunnel mode ipsec ipv4

tunnel protection ipsec profile ipsec-profile

end

Router1841A#show cry isa sa

dst             src             state          conn-id slot status

209.165.200.225 209.165.202.129 QM_IDLE              3    0 ACTIVE

疑難排解

有關常見的IKE/IPsec故障排除，請參閱IOS IPSec和IKE調試- IKEv1主模式故障排除。

相關資訊

- IPsec通道對等點的即時解析

- 技術支援與文件 - Cisco Systems