思科設備ACL與NAT技術


ACL 訪問控制列表(Access Control Lists),是應用在路由器(或三層交換機)接口上的指令列表,用來告訴路由器哪些數據可以接收,哪些數據是需要被拒絕的,ACL的定義是基於協議的,它適用於所有的路由協議,並根據預先定義好的規則對數據包進行過濾,從而更好的控制數據的流入與流出.

NAT 網絡地址轉換(Network Address Translation),是一個互聯網工程任務組的標准,它可以實現內部私有IP地址和公網IP地址的轉換,能夠起到節約公網IP地址的作用,以下將介紹NAT的三種方式,靜態轉換、動態轉換和端口復用技術.

文字描述,摘抄自《網絡設備配置與管理》精簡內容,部分內容來自華為(HCIP認證》課程筆記,適合學習面試,其中的架構圖,與搭建流程為自己規划並實驗的。

思科ACL訪問控制

路由器接口的訪問控制取決於應用在其上的ACL,數據在進出網絡前,路由器會根據ACL對其進行匹配,匹配成功將對數據進行過濾或者是轉發,匹配失敗則丟棄數據包,目前主要有三種ACL控制,標准ACL,擴展ACL,命名ACL,我們只介紹前兩種.

在路由器上應用ACL時,可以為每種協議,每個端口,每個方向,和每個接口,配置一個ACL,一般稱為3p原則.

◆標准ACL配置◆

標准ALCL只能通過源地址進行訪問過濾與控制,因此只能阻止/允許來自指定IP地址的訪問請求.

配置交換機: 首先配置交換機,這里開啟3個端口Fa0/1-3,並配置端口速率100.

Switch0> enable
Switch0># configure terminal

Switch0(config)# interface range fa0/1-3
Switch0(config-if-range)# speed 100
Switch0(config-if-range)# no shutdown
Switch0(config-if-range)# exit

配置路由器: 接着配置路由器,開啟路由器的Fa0/0和Fa0/1端口,並配置上網關地址.

Router0> enable
Router0# configure terminal

Router0(config)# interface GigabitEthernet 0/0
Router0(config-if)# ip address 192.168.1.254 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

Router0(config)# interface GigabitEthernet 0/1
Router0(config-if)# ip address 192.168.2.254 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

配置標准ACL: 在路由器上配置一條標准的ACL規則,禁止PC0訪問Server0服務器.

Router0> enable
Router0# configure terminal

Router0(config)# access-list 1 deny 192.168.1.1 0.0.0.0    // 拒絕192.168.1.1訪問Server0
Router0(config)# access-list 1 permit any                  // 設置默認允許所有,兜底操作
Router0(config)#
Router0(config)# interface GigabitEthernet 0/0             // 選擇接口Gig0/0
Router0(config-if)# ip access-group 1 in                   // 將以上配置條目應用到當前接口上
#Router0(config-if)# ip access-group 1 out                 // 控制出口流量(可省略)

測試過濾效果: 配置完規則以后,我們測試一下效果,使用PC0無法訪問server服務器而是用PC1則可以訪問.

PC0> ping 192.168.2.1

Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.1.254: Destination host unreachable.

PC1> ping 192.168.2.1

Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.2.1: bytes=32 time=0ms TTL=127

這里需要注意一點,如果你有兩個路由器相連,那么ACL規則應該設置在距離限制的目標較近的路由器上,否則可能會出現有效數據在到達目標之前就被過濾掉了.

◆拓展ACL配置◆

標准ACL只能使用源地址作為匹配條件,無法對訪問進行精確的控制,為了解決這一問題,可以采用擴展ACL來對數據加以限制.

配置交換機: 首先配置交換機,這里開啟4個端口Fa0/1-4,並配置端口速率為100.

Switch0> enable
Switch0># configure terminal

Switch0(config)# interface range fa0/1-4
Switch0(config-if-range)# speed 100
Switch0(config-if-range)# no shutdown
Switch0(config-if-range)# exit

配置路由器: 接着配置路由器,開啟路由器的Fa0/0和Fa0/1端口,並配置上網關地址.

Router0> enable
Router0# configure terminal

Router0(config)# interface GigabitEthernet 0/0
Router0(config-if)# ip address 192.168.1.254 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

Router0(config)# interface GigabitEthernet 0/0
Router0(config-if)# ip address 192.168.2.254 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

配置拓展ACL: 配置拓展ACL規則,禁止PC0訪問192.168.2.1,禁止PC1訪問192.168.2.1主機的80端口,允許其他所有.

Router0> enable
Router0# configure terminal

Router0(config)# access-list 100 deny ip host 192.168.1.1 host 192.168.2.1               // 拒絕IP地址
Router0(config)# access-list 100 deny TCP host 192.168.1.2 eq 80 host 192.168.2.1 eq 80  // 拒絕TCP=80
Router0(config)# access-list 100 permit ip any any                                       // 默認允許

Router0(config)# interface GigabitEthernet 0/0               // 選擇接口GigabitEthernet 0/0
Router0(config-if)# ip access-group 100 in                   // 將以上配置條目應用到當前接口上
Router0(config-if)# ip access-group 100 out                  // 將以上配置條目應用到當前接口上
Router0# show access-list                                    // 查詢配置結果

測試過濾效果: 配置完規則后測試下,經測試PC0無法訪問Server0,而PC1無法訪問目標主機的80端口其他主機放行.

PC0> ping 192.168.2.1
Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.1.254: Destination host unreachable.

PC1> ping 192.168.2.1
Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.2.1: bytes=32 time=0ms TTL=127

與標准ACL相比,擴展ACL能夠更加精確的匹配和過濾數據包,因此擴展ACL的放置位置應該離源地址越近越好,這樣才能夠有效的提高鏈路的使用效率.

思科NAT地址轉換

NAT 網絡地址轉換(Network Address Translation),是一個互聯網工程任務組的標准,它可以實現內部私有IP地址和公網IP地址的轉換,能夠起到節約公網IP地址的作用,以下將介紹NAT的三種方式,靜態轉換、動態轉換和端口復用技術.

NAT技術中有四種地址即,內部本地地址,內部全局地址,外部本地地址,外部全局地址.

◆配置靜態NAT◆

靜態NAT是指將內部本地地址與內部全局地址進行對應轉換,某個本地地址只能轉換為某個全局地址,通過配置靜態NAT可以實現內部網絡對外部網絡的訪問,也可以實現外部網絡對內部網絡中某個設備的訪問.

配置交換機: 首先配置交換機,這里開啟4個端口Fa0/1-4,並配置端口速率為100.

Switch0> enable
Switch0># configure terminal

Switch0(config)# interface range fa0/1-4
Switch0(config-if-range)# speed 100
Switch0(config-if-range)# no shutdown
Switch0(config-if-range)# exit

配置路由器: 接着配置路由器,開啟路由器的Fa0/0和Se0/0/0端口,並配置上網關地址.

Router> enable
Router# configure terminal

#----在Router10上操作-------------------------
Router0(config)# interface fa0/0
Router0(config-if)# ip address 192.168.1.1 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

Router0(config)# interface se0/0/0
Router0(config-if)# ip address 10.10.10.1 255.0.0.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

#----在Router1上操作-------------------------
Router1(config)# interface se0/0/0
Router1(config-if)# ip address 10.10.10.2 255.0.0.0
Router1(config-if)# no shutdown
Router1(config-if)# exit

配置靜態NAT: 在路由器Router0上配置靜態NAT,將私有地址轉為全局地址(內網地址-->外網地址).

Router> enable
Router# configure terminal

Router0(config)# ip nat inside source static 192.168.1.2 10.10.10.20  // 配置NAT條目1
Router0(config)# ip nat inside source static 192.168.1.3 10.10.10.30  // 配置NAT條目2
Router0(config)# ip nat inside source static 192.168.1.4 10.10.10.40  // 配置NAT條目3

Router0(config)# interface fa0/0                                      // 選擇內部端口
Router0(config-if)# ip nat inside                                     // 應用到定義的內部接口
Router0(config-if)#
Router0(config-if)# interface serial0/0/0                             // 選擇外部接口
Router0(config-if)# ip nat outside                                    // 應用到定義的外部接口
Router0(config-if)# exit

查詢NAT配置: 配置完成后,我們可以使用show ip nat translation命令,來查詢端口情況.

Router0# show ip nat translation

Pro  Inside global     Inside local       Outside local      Outside global
---  10.10.10.20       192.168.1.2        ---                ---
---  10.10.10.30       192.168.1.3        ---                ---
---  10.10.10.40       192.168.1.4        ---                ---

測試通信情況: 此時測試下通信情況,在PC0-PC2主機可Ping通Router1,同樣Router1可Ping通PC0-PC2.

PC0> ping 10.10.10.2
Pinging 10.10.10.2 with 32 bytes of data:
Reply from 10.10.10.2: bytes=32 time=1ms TTL=254

Router1# ping 10.10.10.20
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.20, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/9 ms

◆配置動態NAT◆

動態NAT是指內部本地地址與內部全局地址進行轉換時,內部地址可以隨機轉換為指定的外部全局地址,此過程是動態分配的不需要認為干預,從而減少了配置的工作量.

但需要注意的是,配置動態NAT只能實現內部網絡對互聯網的訪問,無法實現互聯網中的主機對內部網絡中的主機的訪問,也就是說,它是一種單向的NAT技術.

清除NAT列表: 動態NAT的配置我們同樣適用上面的拓撲圖,只是在NAT的配置上有些小改動.

Router0# clear ip nat translation *             // 清除動態NAT轉換列表
Router0# show ip access-list                    // 顯示ACL配置信息
Router0# show ip nat statistics                 // 查看NAT轉換統計信息
Router0# clear ip nat statistics                // 清除NAT轉換統計信息

配置交換機: 首先配置交換機,這里開啟4個端口Fa0/1-4,並配置端口速率為100.

Switch0> enable
Switch0># configure terminal

Switch0(config)# interface range fa0/1-4
Switch0(config-if-range)# speed 100
Switch0(config-if-range)# no shutdown
Switch0(config-if-range)# exit

配置路由器: 接着配置路由器,開啟路由器的Fa0/0和Se0/0/0端口,並配置上網關地址.

Router> enable
Router# configure terminal

#----在Router0上操作-------------------------
Router0(config)# interface fa0/0
Router0(config-if)# ip address 192.168.1.1 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

Router0(config)# interface se0/0/0
Router0(config-if)# ip address 10.10.10.1 255.0.0.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

#----在Router1上操作-------------------------
Router1(config)# interface se0/0/0
Router1(config-if)# ip address 10.10.10.2 255.0.0.0
Router1(config-if)# no shutdown
Router1(config-if)# exit

配置動態NAT: 這里分配外網IP范圍是10.10.10.20-40,內部地址范圍是192.168.1.0/24,並綁定好接口.

Router0> enable
Router0# configure terminal

Router0(config)# ip nat pool NAT 10.10.10.20 10.10.10.40 netmask 255.0.0.0 //定義內部全局IP地址池
Router0(config)# access-list 1 permit 192.168.1.0 0.0.0.255       // 定義可轉換的內部本地IP地址
Router0(config)# ip nat inside source list 1 pool NAT   //配置動態NAT映射,將NAT地址池與ACL關聯

Router0(config)# interface fa0/0                      // 配置內部端口
Router0(config-if)# ip nat inside

Router0(config-if)# interface serial0/0/0             // 配置外部端口
Router0(config-if)# ip nat outside
Router0(config-if)# no shutdown

查詢NAT配置: 配置完成后,我們可以使用show ip nat translation命令,來查詢端口情況.

Router0# show ip nat translation

Pro  Inside global     Inside local       Outside local      Outside global
icmp 10.10.10.21:5     192.168.1.3:5      10.10.10.2:5       10.10.10.2:5
icmp 10.10.10.21:6     192.168.1.3:6      10.10.10.2:6       10.10.10.2:6
icmp 10.10.10.22:9     192.168.1.3:9      10.10.10.2:9       10.10.10.2:9
icmp 10.10.10.23:10    192.168.1.2:10     10.10.10.2:10      10.10.10.2:10

◆多路復用PAT◆

端口多路復用即端口地址轉換(PAT,Port Address Translation),是指將內部本地IP地址動態的轉換為單一的內部全局IP地址和端口號,內部全局IP地址只是用一個,而不是一組地址池,也就是一個IP地址綁定多個端口,從而更大的節約了IP地址的資源短缺.

配置交換機: 首先配置交換機,這里開啟4個端口Fa0/1-4,並配置端口速率為100.

Switch0> enable
Switch0># configure terminal

Switch0(config)# interface range fa0/1-4
Switch0(config-if-range)# speed 100
Switch0(config-if-range)# no shutdown
Switch0(config-if-range)# exit

配置路由器: 接着配置路由器,開啟路由器的Fa0/0和Se0/0/0端口,並配置上網關地址.

Router> enable
Router# configure terminal

#----在Router0上操作-------------------------
Router0(config)# interface fa0/0
Router0(config-if)# ip address 192.168.1.1 255.255.255.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

Router0(config)# interface se0/0/0
Router0(config-if)# ip address 10.10.10.1 255.0.0.0
Router0(config-if)# no shutdown
Router0(config-if)# exit

#----在Router1上操作-------------------------
Router1(config)# interface se0/0/0
Router1(config-if)# ip address 10.10.10.2 255.0.0.0
Router1(config-if)# no shutdown
Router1(config-if)# exit

配置多路復用PAT: 在路由器Router0上配置PAT,多路復用.

Router> enable
Router# configure terminal

Router0(config)# ip nat pool PAT 10.10.10.10 10.10.10.10 netmask 255.0.0.0  // 定義外網IP地址
Router0(config)# access-list 1 permit 192.168.1.0 0.0.0.255                 // 定義ACL
Router0(config)# ip nat inside source list 1 pool PAT overload              // 將地址池與ACL綁定

Router0(config)# interface fa0/0                 // 定義連接內部網絡的接口
Router0(config-if)# ip nat inside
Router0(config-if)# interface serial0/0/0        // 定義鏈接外部網絡的接口
Router0(config-if)# ip nat outside

查詢配置地址表: 最后可以檢測一下是否能夠連接到內部與外部的主機.

Router#show ip nat translations

Pro  Inside global     Inside local       Outside local      Outside global
icmp 10.10.10.10:1024  192.168.1.4:1      10.10.10.2:1       10.10.10.2:1024
icmp 10.10.10.10:1025  192.168.1.2:8      10.10.10.2:8       10.10.10.2:1025
icmp 10.10.10.10:1027  192.168.1.3:1      10.10.10.2:1       10.10.10.2:1027


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM