ACL和NAT
目錄
一、ACL
1.ACL概述
2.ACL應用
3.ACL工作原理
4.規則編號
5.通配符
6.ACL的分類與標識
7.ACL的匹配機制
8.ACL的應用原則
9.匹配規則
二、ACL訪問控制列表實驗
1、基本ACL訪問控制列表實驗?
(1)給Client1、Client2、Server1和Server2配置ip、網關等?
(2)配置路由
(3)此時全網互通
(4)配置路由拒絕訪問命令
(5)驗證實驗?
2、高級ACL訪問控制列表實驗
(1)配置Server1中的FtpServer并啟動?
(2)進入Client1的FtpClient中,輸入要訪問的服務器地址,并登錄?
(3)對路由器進行配置
(4)驗證此時client1中httpclient不能訪問server1?
(5)驗證但此時client1中ftpclient可以訪問server1?
3、ACL(訪問控制列表)的應用原則
三、HTTP
四、NAT
五、NAT實驗
1、靜態NAT實驗?
(1)給pc1和pc2配置ip,子網掩碼和網關??
(2) 路由器配置
(3)此時驗證pc1可以ping通200.1.1.2
?2、動態NAT實驗
(1)先在企業路由器中將之前的靜態NAT刪除:
?(2)此時pc1 ping不通200.1.1.2
?(3)接下來我們在這個企業路由器下進行配置,配置如下:
(4)此時驗證pc1可以ping通200.1.1.2
3、NAPT(P:端口號)
3.1Easy-IP實驗
3.2NAT Server實驗
六、總結
1.ACL訪問控制列表
2.代碼
3.acl
4.NAT地址轉換協議工作原理
5.靜態NAT
6.動態NAT
7.NAPT
一、ACL
1.ACL概述
- ACL是由一系列permit或deny語句組成的、有序規則的列表
- ACL是一個匹配工具,能夠對報文進行匹配和區分
2.ACL應用
- 應用在接口的ACL——過濾數據包(源目ip地址(低級),源目mac,端口 五元組)
- 應用在路由協議——匹配相應的路由條目
- NAT、IPSEC VPN、QOS——匹配感興趣的數據流(匹配上我設置的 數據流的)
3.ACL工作原理
當數據包從接口經過時,由于接口啟用了acl,此時路由器會對報文進行檢查,然后做出相應的處理(拒絕permit和允許deny)。
4.規則編號
- 規則編號(Rule ID) : 一個ACL中的每一條規則都有一個相應的編號。
- 步長(Step) : 步長是系統自動為ACL規則分配編號時,每個相鄰規則編號之間的差值,缺省值為5。步長的作用是為了方便后續在舊規則之間,插入新的規則。
- Rule ID分配規則: 系統為ACL中首條未手工指定編號的規則分配編號時,使用步長值(例如步長=5,首條規則編號為5)作為該規則的起始編號;為后續規則分配編號時,則使用大于當前ACL內最大規則編號且是步長整數倍的最小整數作為規則編號。
5.通配符
- 通配符是一個32比特長度的數值,用于指示IP地址中,哪些比特位需要嚴格匹配,哪些比特位無需匹配。
- 通配符通常采用類似網絡掩碼的點分十進制形式表示,但是含義卻與網絡掩碼完全不同。
子網掩碼
? ? ? 連續的1 代表網絡位 ,連續的0代表主機位 0 1中間不能穿插
反掩碼
? ? ? 連續的0代表網絡位,連續的1代表主機位
通配符掩碼
? ? ? 根據參考ip地址,通配符“1”對應位可變 ,”0“對應位不可變 ,中間0 1可以穿插
6.ACL的分類與標識
基于ACL規則定義方式的分類:
| 基本ACL | 2000~2999 | 僅使用報文的源IP地址、分片信息和生效時間段信息來定義規則。 |
| 高級ACL | 3000~3999 | 可使用IPv4報文的源IP地址、目的IP地址、IP協議類型、ICMP類型、TCP源/目的端口號、UDP源/目的端口號、生效時間段等來定義規則。 |
| 二層ACL | 4000~4999 | 使用報文的以太網幀頭信息來定義規則,如根據源MAC地址、目的MAC地址、二層協議類型等。 |
| 用戶自定義ACL | 5000~5999 | 使用報文頭、偏移位置、字符串掩碼和用戶自定義字符串來定義規則。 |
| 用戶ACL | 6000~6999 | 既可使用IPv4報文的源IP地址或源UCL(User Control List)組,也可使用目的IP地址或目的UCL組、IP協議類型、ICMP類型、TCP源端口/目的端口、UDP源端口/目的端口號等來定義規則。 |
基于ACL標識方法的分類:
| 數字型ACL | 傳統的ACL標識方法。創建ACL時,指定一個唯一的數字標識該ACL。 |
| 命名型ACL | 通過名稱代替編號來標識ACL。 |
7.ACL的匹配機制
從上而下,一次匹配,一旦匹配,立即執行,不再匹配
小范圍寫在上面,大范圍寫在下面。
8.ACL的應用原則
- 基本ACL:盡量用在靠近目的的地點點
- 高級ACL:盡量用在靠近源的地方(可以保護帶寬和其他資源)
9.匹配規則
- 一個接口的同一個方向,只能調用一個acl
- 一個acl里面可以有多個rule規則,按照規則ID從小到大排序,從上往下依次執行
- 數據包一旦被某rule匹配,就不再繼續向下匹配
- 用來做數據包訪問控制時,默認隱含放過所有(華為設備)
二、ACL訪問控制列表實驗
步驟:1.建立規則 2.進入接口 調用規則
1、基本ACL訪問控制列表實驗
(1)給Client1、Client2、Server1和Server2配置ip、網關等
(2)配置路由
<Huawei>u t m ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #關閉華為的信息提示 <Huawei>sys ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #進入系統視圖 [Huawei]sys r1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #改名為r1 [r1]int g0/0/0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #進入0/0/0接口 [r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 ? ? #配置IP [r1-GigabitEthernet0/0/0]int g0/0/1 ? ? ? ? ? ? ? ? ? #進入0/0/1接口 [r1-GigabitEthernet0/0/1]ip add 192.168.2.254 24 ? ? #配置IP [r1-GigabitEthernet0/0/1]int g0/0/2 ? ? ? ? ? ? ? ? ? #進入0/0/2接口 [r1-GigabitEthernet0/0/2]ip add 192.168.3.254 24 ? ? #配置IP [r1-GigabitEthernet0/0/2]q ? ? ? ? ? ? ? ? ? ? ? ? ? #退出接口模式(3)此時全網互通
(4)配置路由拒絕訪問命令
[r1]acl number 2000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #建立acl 2000規則 [r1-acl-basic-2000]rule 5 deny source 192.168.1.1 0 ? ? ? ? ? #默認編號5 拒絕來自192.168.1.1的流量 [r1-acl-basic-2000]q ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #退出acl 2000規則 [r1]int g0/0/1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #進入g0/0/1接口 [r1-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 ? ? #當設備從特定接口向外發送數據時執行ACL [r1-GigabitEthernet0/0/1]q ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #退出(5)驗證實驗
在server1中配置服務器信息并啟動:
此時client2可以訪問server1:
此時client1不能訪問server1:
在路由器中輸入以下配置:
[r1]int g0/0/1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #進入g0/0/1 [r1-GigabitEthernet0/0/1]undo traffic-filter outbound ? #刪除對于出口的限制此時client1可以訪問server1:
2、高級ACL訪問控制列表實驗
在實驗2的基礎上實行
高級acl規則是從3000開始,可以根據端口的不同精確控制
(1)配置Server1中的FtpServer并啟動
(2)進入Client1的FtpClient中,輸入要訪問的服務器地址,并登錄
(3)對路由器進行配置
[r1]acl 3000 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #建立acl 3000規則 [r1-acl-adv-3000]rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www ? ? ? ? ? ? ? ? ? ? ? ? #deny tcp:阻止tcp協議 192.168.1.1:源地址 ? 0:單個地址 ? destination-port:目標端口 ? eq:等于 ? www:也可以寫端口80 ? [r1-acl-adv-3000]q ? ? ? ? ? ? ? ? ? ? ? ? ? ? #退出acl規則 [r1]int g0/0/0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #進入g0/0/0端口 [r1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000 ? #當接口收到數據包時執行acl(4)驗證此時client1中httpclient不能訪問server1
(5)驗證但此時client1中ftpclient可以訪問server1
3、ACL(訪問控制列表)的應用原則
基本ACL:盡量用在靠近目的點
高級ACL:盡量用在靠近源的地方(可以保護帶寬和其他資源)
三、HTTP
使用瀏覽器訪問頁面
-
當我們在瀏覽器中輸入URL (Uniform Resource Locator,統一資源定位符)時,瀏覽器就可以從某處獲取內容,并將頁面內容顯示在瀏覽器中。
-
HTTP (Hypertext Transfer Protocol,超文本傳輸協議)﹔客戶端瀏覽器或其他程序與Web服務器之間的應用層通信協議。
-
HTTP是典型的C/S構架應用,作為應用層協議使用TCP進行傳輸。
四、NAT
公有地址:由專門的機構管理、分配,可以在Internet上直接通信的IP地址。
私有地址:組織和個人可以任意使用,無法在Internet上直接通信,只能在內網使用的IP地址。
NAT:出去的時候將內網地址轉換成外網地址;回來的時候,將外網地址轉成內網地址
靜態NAT:一個內網地址對應一個外網地址
當我192.168.1.1 去訪問外網地址200.1.1.2 通過靜態NAT技術
修改原始報文,sip:192.168.1.1 ——改成你設置好的公網ip(200.1.1.3);
dip :200.1.1.2——目標ip 不變
回包的時候, 源ip:200.1.1.2;目的ip:設置好公司ip(200.1.1.3)
通過NAT技術,將母的ip 200.1.1.3 改成 192.168.1.1 源ip不變
五、NAT實驗
1、靜態NAT實驗
(1)給pc1和pc2配置ip,子網掩碼和網關?
(2) 路由器配置
企業路由器配置:
<Huawei>u t m #關閉華為的信息提示 <Huawei>sys #進入系統視圖 [Huawei]sys r1 #改名為r1 [r1]int g0/0/0 #進入g0/0/0接口 [r1-GigabitEthernet0/0/0]ip add 192.168.1.254 24 #配置ip地址 [r1-GigabitEthernet0/0/0]int g0/0/1 #進入g0/0/1接口 [r1-GigabitEthernet0/0/1]ip add 200.1.1.1 24 #配置ip地址 [r1-GigabitEthernet0/0/1]nat static enable #開啟靜態地址 [r1-GigabitEthernet0/0/1]nat static global 200.1.1.100 inside 192.168.1.1#將公網地址200.1.1.100和私網地址192.168.1.1做對應關系(出去時將192.168.1.1轉換成200.1.1.100 (不能直接使用200.1.1.1) [r1-GigabitEthernet0/0/1]q #退出端口運營商-移動路由器配置:
<Huawei>u t m #關閉華為的信息提示 <Huawei>sys #進入系統視圖 [Huawei]sys r2 #改名為r2 [r2]int g0/0/0 #進入g0/0/0接口 [r2-GigabitEthernet0/0/0]ip add 200.1.1.2 24 #配置ip地址 [r2-GigabitEthernet0/0/0]q #退出端口(3)此時驗證pc1可以ping通200.1.1.2
2、動態NAT實驗
在上個實驗的基礎上,此時企業路由器目前的配置有:
(1)先在企業路由器中將之前的靜態NAT刪除:
[r1]int g0/0/1 #進入g0/0/1接口 [r1-GigabitEthernet0/0/1]undo nat static global 200.1.1.100 inside 192.168.1.1 n etmask 255.255.255.255 #刪除靜態NAT配置命令 [r1-GigabitEthernet0/0/1]undo nat static enable?(2)此時pc1 ping不通200.1.1.2
?(3)接下來我們在這個企業路由器下進行配置,配置如下:
[r1]nat address-group 1 200.1.1.10 200.1.1.15 #建立地址池(從200.1.1.10 到 200.1.1.15 共六個地址)[r1]acl number 2000 #建立acl 2000規則 [r1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 #從0到255都允許通過 [r1-acl-basic-2000]q #退出acl 2000規則 [r1]int g0/0/1 #進入g0/0/1接口 [r1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 no-pat #調用group 1中的地址 (no-pat 指定不進行端口轉換)(4)此時驗證pc1可以ping通200.1.1.2
3、NAPT(P:端口號)
主要原理:
?有兩種一種叫Easy-IP,另一種叫NAT Server。
3.1Easy-IP實驗
主要路由器配置如下:
acl 2000 #建立acl 2000規則 rule permit source 192.168.1.0 0.0.0.255 #允許這個范圍內的地址可以通過 int g0/0/1 #進入g0/0/1這個端口 undo nat static global 200.1.1.100 inside 192.168.1.1 netmask 255.255.255.255#刪除之前的靜態NAT的配置nat outbound 2000 #主要配置 display nat session all在上個實驗的基礎上,此時企業路由器目前的配置有:
(1)先在企業路由器中將之前的動態NAT刪除:
[r1]int g0/0/1 #進入g0/0/1接口 [r1-GigabitEthernet0/0/1]undo nat outbound 2000 address-group 1 no-pat #刪除動態NAT配置命令?(2)此時pc1 ping不通200.1.1.2
?(3)接下來我們在這個企業路由器下進行配置,配置如下:
[r1]acl number 2000 #建立acl 2000規則 [r1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 #允許這個地址范圍內的地址通過 [r1-acl-basic-2000]q #退出規則配置 [r1]int g0/0/1 #進入g0/0/1端口 [r1-GigabitEthernet0/0/1]nat outbound 2000 #調用2000這個規則 [r1-GigabitEthernet0/0/1]q #退出端口 [r1]display nat session all #查看nat所有的會話(4)此時驗證pc1可以ping通200.1.1.2
?3.2NAT Server實驗
- 內網服務器對外提供服務,針對目的ip和目的端口映射
- 內網服務器的相應端口映射成路由器公網ip地址的相應端口
?在之前實驗的基礎上添加了一個server和client
(1)給client添加ip和網關
(2)?給運營商-移動路由器配置端口g0/0/1的ip地址
[r2]int g0/0/1 #進入接口 [r2-GigabitEthernet0/0/1]ip add 202.1.1.2 24 #配置ip地址(3)給企業路由器配置默認路由
[r1]ip route-static 0.0.0.0 0 200.1.1.2 #配置默認路由(4)此時client可以ping通200.1.1.1
(5)配置server的ip和網關,并且將server的80端口開啟
(6)此時client無法訪問200.1.1.1
?(7)將192.168.1.100的80端口和200.1.1.1的80端口做上對應關系
?企業路由器配置:
<r1>u t m #關閉華為提示信息 <r1>sy #進入系統視圖 [r1]int g0/0/1 #進入g0/0/1端口 [r1-GigabitEthernet0/0/1]undo nat outbound 2000 #刪除上次實驗的配置 [r1-GigabitEthernet0/0/1]nat server protocol tcp global current-interface www in side 192.168.1.100 www #把tcp協議用在當前接口80對應192.168.1.100上的80 (詳細介紹: nat server protocol #使用natservertcp #代表協議是tcpglobal current-interface 80 #代表當前端口地址的80inside 192.168.1.100 80 #內網地址的80 )[r1-GigabitEthernet0/0/1]nat static enable?(8)此時驗證client可以ping通200.1.1.1
六、總結
1.ACL訪問控制列表
- 基本2000-2999? ?通過源ip地址控制,A和B發報文 ,報文中包含源地址 ,基本ACL比較模糊,盡量放在離目的地址近的地方 ?
- 高級3000-3999? ?五元組來控制,五元組中包含源mac、目的mac、源ip、目的ip、端口和tcp協議,所以高級ACL比較精確,盡量放在離源地址近的地方
2.代碼
- acl 2000
- rule 5? ?deny/permit? ?source 地址? 通配符掩碼
- 進入接口自行判斷是要inboud outbound? ?調用acl 2000規則
- acl 3000
- rule 5 deny tcp source 192.168.1.1 0 destination 192.168.2.1 0 destination-port eq www (80)
寫好規則后,要進入接口調用 規則表2000
3.acl
4.NAT地址轉換協議工作原理
- 數據從內網去往外網會將源內網地址轉換成外網地址
- 數據從外網回來會將外網目的地址轉換成內網地址
5.靜態NAT
一個外網地址對應一個內網地址
6.動態NAT
建立一個外網地址池,當多臺內網去訪問外網時,從池子里獲取一個未被使用的地址;在池子里已經被使用的地址,會被打上已使用標簽,不會再次分配給其他主機。
7.NAPT
(1)NAT Server:將內網服務的端口映射成外網服務的端口
(2)Easy-IP:將端口和地址一起轉換
總結
- 上一篇: 魔塔之拯救白娘子~我的第一个VB6+DX
- 下一篇: 丹霞地貌峡谷第一景---云台山