第49節 IPsecVPN設定實驗——基於PacketTracer8.0模擬實驗

2022-01-12 18:00:01

1 網路拓撲及實驗要求

1.1 實驗拓撲圖

在這裡插入圖片描述

1.2 實驗要求

  1. 中間路由器作為網際網路,不允許通過私有IP。
  2. 實驗一:實現上海分部與北京分部之間採用VPN通訊。
  3. 實驗二:在實驗一的基礎上,要求兩個公司能夠存取外網。
  4. 實驗三:上述基礎上,要求上海與廣州分部之間也能VPN通訊。
  5. 實驗四:上述基礎上,要求上海與廣州分部之間也能VPN通訊、但上海與廣州之間無需新建隧道,利用實驗一和三的隧道進行通訊。

2 設定過程及命令

2.1 設定IP及路由表

  1. 採用命令對各路由器介面設定IP地址。.
  2. 手動為各主機伺服器設定IP地址。
  3. 設定路由表。
# 為R1設定IP及路由表
en
conf t
ho R1
int f0/0
no shut
ip add 172.16.1.254 255.255.255.0
exit
int f0/1
no shut
ip add 100.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 100.1.1.2

# 為R2設定IP及路由表
en
conf t
ho R2
int f0/0
no shut
ip add 172.17.1.254 255.255.255.0
exit
int f0/1
no shut
ip add 101.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 101.1.1.2

# 為R3設定IP及路由表
en
conf t
ho R3
int f0/0
no shut
ip add 172.18.1.254 255.255.255.0
exit
int f0/1
no shut
ip add 102.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 102.1.1.2

# 為R4設定IP及路由表
en
conf t
ho R4
int f0/0
no shut
ip add 172.19.1.254 255.255.255.0
exit
int f0/1
no shut
ip add 103.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 103.1.1.2	

# 為R5設定IP及路由表
en
conf t
ho R4
int f0/0
no shut
ip add 100.1.1.2 255.255.255.0
exit
int f0/1
no shut
ip add 101.1.1.2 255.255.255.0
exit
int f1/0
no shut
ip add 102.1.1.2 255.255.255.0
exit
int f1/1
no shut
ip add 103.1.1.2 255.255.255.0
exit

2.2 實驗一:IPsecVPN設定

'''為R1設定IPsecVPN'''
# 階段一
en
conf t
crypto isakmp policy 1
encryption aes
group 2
hash sha
authentication pre-share
lifetime 3600
exit
crypto isakmp key QQ address 102.1.1.1

# 階段二
acc 100 permit ip 172.16.1.0 0.0.0.255 172.18.1.0 0.0.0.255
crypto ipsec transform-set QQtran esp-aes esp-sha-hmac

# 建立map對映
crypto map QQmap 1 ipsec-isakmp
set peer 102.1.1.1
match address 100
set transform-set QQtran
exit

# 應用map對映
int f0/1
crypto map QQmap
exit

'''為R3設定IPsecVPN'''
# 階段一
en
conf t
crypto isakmp policy 1
encryption aes
group 2
hash sha
authentication pre-share
lifetime 3600
exit
crypto isakmp key QQ address 100.1.1.1

# 階段二,其中傳輸模式名在隧道兩端需要一致
acc 100 permit ip 172.18.1.0 0.0.0.255 172.16.1.0 0.0.0.255
crypto ipsec transform-set QQtran esp-aes esp-sha-hmac

# 建立map對映
crypto map QQmap 1 ipsec-isakmp
set peer 100.1.1.1
match address 100
set transform-set QQtran
exit

# 應用map對映
int f0/1
crypto map QQmap
exit

# 檢視已設定的安全策略狀態
show crypto isakmp sa

2.3 實驗二:NAT豁免技術

  1. 每次設定ACL表時,需要先show ip access檢視一下已經設定過的表號,檢視所需資訊或避免表號衝突。
  2. 命令:
'''為R1設定PAT'''
en
conf t
int f0/0
ip nat inside
exit
int f0/1
ip nat outside
exit
acc 101 deny ip 172.16.1.0 0.0.0.255 172.18.1.0 0.0.0.255
acc 101 permit ip any any
ip nat inside source list 101 int f0/1 overload
'''為R3設定PAT'''
en
conf t
int f0/0
ip nat inside
exit
int f0/1
ip nat outside
exit
acc 101 deny ip 172.18.1.0 0.0.0.255 172.16.1.0 0.0.0.255
acc 101 permit ip any any
ip nat inside source list 101 int f0/1 overload
'''為R4設定靜態PAT'''
en
conf t
int f0/0
ip nat inside
exit
int f0/1
ip nat outside
exit
# 設定靜態PAT,將整個內網轉換為外網
ip nat inside source static 172.19.1.1 103.1.1.1
  1. 實驗結果:
    1. PC1可以ping通R4、但不可以ping通SE1;SE1可以ping通R1,但不能ping通PC1,因為直接ping對方私有IP地址時,資料框的目標IP地址是對方私有IP,在網際網路上被幹掉。
    2. 修改伺服器網頁內容如下:在這裡插入圖片描述
    3. 在PC1上網頁輸入103.1.1.1,即可存取伺服器網站內容。PC3也同理,實驗二成功。
      在這裡插入圖片描述

2.4 實驗三:在上海建立多條隧道(失敗)

'''為R1新增設定IPsecVPN並修改PAT'''
# 階段一
en
conf t
crypto isakmp key QQ address 101.1.1.1

# 階段二
acc 102 permit ip 172.16.1.0 0.0.0.255 172.17.1.0 0.0.0.255

# 建立map對映
crypto map QQmap 2 ipsec-isakmp
set peer 101.1.1.1
match address 102
set transform-set QQtran
exit

# 修改實驗二中的PAT表
ip access-list extended 101
15 deny ip 172.16.1.0 0.0.0.255 172.17.1.0 0.0.0.255
exit

'''為R2設定IPsecVPN'''
en
conf t
crypto isakmp policy 1
encryption aes
group 2
hash sha
authentication pre-share
lifetime 3600
exit
crypto isakmp key QQ address 100.1.1.1

# 階段二
acc 100 permit ip 172.17.1.0 0.0.0.255 172.16.1.0 0.0.0.255
crypto ipsec transform-set QQtran esp-aes esp-sha-hmac

# 建立map對映
crypto map QQmap 1 ipsec-isakmp
set peer 100.1.1.1
match address 100
set transform-set QQtran
exit

# 應用map對映
int f0/1
crypto map QQmap
exit
  1. 實驗失敗了,沒能找出設定命令上出現了啥問題,不知是否是平臺bug。

2.5 實驗四:思路分析

  1. 路由器外網端作用原理:
    1. 當資料框從內發到外時:(1)先在路由器內部其他介面路由到外網介面;(2)再在外網介面先匹配NAT轉換表,滿足條件的進行公私IP地址轉換;(3)最後進行匹配VPN條件,滿足條件的進行VPN加密封裝;(4)發出資料框。
    2. 當資料框從外網發到路由器外網介面時:(1)先匹配是否滿足VPN條件,根據所匹配到的條件選擇發出到其他分部的VPN還是收入到內網;(2)如收到內網,則匹配NAT轉換表,一般與前者條件是豁免的;(3)根據轉換後的IP包頭選擇路由方向。
  2. 利用一個隧道傳送多個目標地方的列車:
    1. 對於上海分部,實驗一建立了與北京之間的隧道,在其ACL表中增加廣州到北京的通行條件;實驗三建立了與廣州之間的隧道,在其ACL表中增加北京到廣州的通行條件。
    2. 對於北京分部,實驗一建立與上海之間的隧道,在其ACL表中增加北京到廣州的通行條件。從北京發往廣州的列車將在上海中轉。
    3. 對於廣州分部,實驗三建立與上海之間的隧道,在其ACL表中增加廣州到北京的通行條件。從廣州發往北京的列車將在上海中轉。

2.6失敗時錯誤查詢及處理命令

# 檢視已設定的安全策略集內容
show crypto isakmp policy
# 檢視階段一的狀態
show crypto isakmp sa
# 檢視階段二應用狀態
show crypto ipsec sa
# 檢視階段二傳輸模式狀態
show crypto ipsec transform-set
# 有可能是平臺bug,嘗試儲存並重新啟動
write
reload

3 總結

  1. 理解NAT與VPN之間的條件篩分順序及包含關係,進一步理解路由器的工作原理;
  2. 掌握相關設定命令及查詢命令;
  3. 有時間再研究實驗三與四失敗的原因。