ACL理论及简单配置
應用意義
ACL可以通過定義規則來允許或者拒絕流量的通過。
?如圖所示,192.168.1.0網段的社交場所為只能夠進入公網,而不能夠進入服務器,這個時候我們在路由器或者是三層交換機上(帶路由功能的交換設備)上配置ACL策略,在192.168.1.0網段的數據包發送到RTA的時候會在入網口進行檢測,從而判斷能否讓該(IP/MAC/端口)通過。
1.ACL是由一系列規則組成的集合。設備可以通過這些規則對數據包進行分類,并對不同類型的報文進行不同的處理。
2.本示例中,網關RTA允許192.168.1.0/24中的主機可以訪問外網,也就是Internet;而192.168.2.0/24中的主機則被禁止訪問Internet。對于服務器A而言,情況則相反。網關允許192.168.2.0/24中的主機訪問服務器A但卻禁止192.168.1.0/24中的主機訪問服務器A。
?
ACL運用的位置:
路由器上、防火墻、三層交換機上
路由器上就叫ACL !
防火墻上一般稱為策略! 策略就是升級版的ACL,策略可以基于IP、端口、協議、應用層數據進行各種過濾
其實也是一種過濾技術,基于數據包中的IP地址、端口號來對數據包進行過濾!
ACL分類
華為?
思科
編號越小優先級越靠前
ACL的規則
華為
?每個ACL可以包含多個規則,RTA根據規則來對數據流量進行過濾。
?
1.一個ACL可以由多條“deny | permit”語句組成,每一條語句描述了一條規則。設備收到數據流量后,會逐條匹配ACL規則,看其是否匹配。如果不匹配,則匹配下一條。一旦找到一條匹配的規則,則執行規則中定義的動作,并不再繼續與后續規則進行匹配。如果找不到匹配的規則,則設備不對報文進行任何處理。需要注意的是,ACL中定義的這些規則可能存在重復或矛盾的地方。規則的匹配順序決定了規則的優先級,ACL通過設置規則的優先級來處理規則之間重復或矛盾的情形。
⒉.配置順序按ACL規則編號(rule-id)從小到大的順序進行匹配。設備會在創建ACL的過程中自動為每一條規則分配一個編號,規則編號決定了規則被匹配的順序。例如,如果將步長設定為5,則規則編號將按照5、10、15...這樣的規律自動分配。如果步長設定為2,則規則編號將按照2、4、6...這樣的規律自動分配。通過設置步長,使規則之間留有一定的空間,用戶可以在已存在的兩個規則之間插入新的規則。路由器匹配規則時默認采用配置順序。另外,ARG3系列路由器默認規則編號的步長是5。
3.自動排序使用“深度優先”的原則進行匹配,即根據規則的精確度排序。
4.本示例中,RTA收到了來自兩個網絡的報文。默認情況下,RTA會依據ACL的配置順序來匹配這些報文。網絡172.16.0.0/24發送的數據流量將被RTA上配置的ACL2000的規則15匹配,因此會被拒絕。而來自網絡172.17.0.0/24的報文不能匹配訪問控制列表中的任何規則,因此RTA對報文不做任何處理,而是正常轉發。
5.華為ACL最后的默認的隱含的一條,不是拒絕所有,而是允許所有
?
ACL配置技巧
1)先判斷要控制的數據流源和目標,并畫出控制數據流的方向!進而判斷ACL可以寫在哪些路由器上!
2)打開那臺路由器,開始編寫ACL過濾規則!
3)最后將ACL表應用到某個接口的某個方向才能生效!
?
基本ACL的配置
華為
?以上為模擬實驗環境。
正常ping沒問題
下面來配置ACL策略(在AR1上面配置)
acl 2000? ? ? ? 創建一個ACL 并進入
rule deny source (IP/掩碼)? ? ? ? 在ACL2000中配置一條禁止某某IP通過的策略
interface gigabit Ethernet 0/0/0? ? ? ? 進入接口
traffic-filter outbound acl 2000? ? ? ? 將ACL2000寫入0/0/0接口
?
?試一試192到10.1.1.2能否通過
還能夠ping通,這里是因為他不是對網關進行過濾,而是對單獨IP進行過濾,所以我們需要在增加對192.168.1.1 和192.168.1.2IP的過濾
?
?
?上面是PC1的
?上面是PC2的。拿捏了。
再看看下面172的
?OK
1.acl [ number ]命令用來創建一個ACL,并進入ACL視圖。
2.rule [ rule-id ] { deny / permit } source f source-address source-wildcard | any }命令用來增加或修改ACL的規則。deny用來指定拒絕符合條件的數據包,permit用來指定允許符合條件的數據包,source用來指定ACL規則匹配報文的源地址信息,any表示任意源地址。
3.traffic-filter { inbound | outbound }acl{ acl-number }命令用來在接口上配置基于ACL對報文進行過濾。
4.本示例中,主機A發送的流量到達RTA后,會匹配ACL2000中創建的規則rule deny source 192.168.1.0 0.0.0.255,因而將被拒絕繼續轉發到Internet。主機B發送的流量不匹配任何規則,所以會被RTA正常轉發到Internet。
高級ACL配置
?
上面說過,高級的ACL可以基于IP、端口、協議來對數據包進行過濾。上網訪問的大多數都是對方的服務器,我們可以通過ACL高級策略來控制想要訪問的端口或者協議。
在連接外網的最后一個路由器或者三層交換機上面進行。
ACL 3000? ? ? ? 創建高級ACL
rule deny tcp source 192.168.1.0 0.0.0.255(源IP/掩碼)?destination 172.16.1.1 0.0.0.0(目的IP/掩碼)?destination-port eq 21?目的 端口號或者協議(21或者ftp)
rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.1.2 0.0.0.0
rule permit ip
進入相對應的接口
traffic-filter outbound acl 3000? ? ? ? 加入接口
1.基本ACL可以依據源IP地址進行報文過濾,而高級ACL能夠依據源/目的IP地址、源/目的端口號、網絡層及傳輸層協議以及IP流量分類和TCP標記值等各種參數(SYN|ACK|FIN等)進行報文過濾。
2.本示例中
定義了高級 ACL 3000
第一條規則“rule deny tcp source192.168.1.0 0.0.0.255 destination 172.16.1.1 0.0.0.0 destination-port eq 21”用于限制 源地址范圍是192.168.1.0/24,目的IP地址為172.16.1.1,目的端口號為21的所有TCP報文
第二條規則rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.20.0.0.0”用于限制源地址范圍是192.168.2.0/24,目的地址是172.16.10.2的所有TCP報文
第三條規則“rule permit ip”用于匹配所有IP報文,并對報文執行允許動作。
?
思科
標準ACL配置
?實驗圖,思科與華為不同的時,只要添加了ACL表,那么表之外的IP默認是拒絕的,直接說,那就是你允許那個IP通過就寫那個IP。一個端口的一個方向只能貼一張ACL表
conf t ????????進入全局配置
access-list????????表號????????permit/deny????????條件
進入接口
ip access-group 1 out? ? ? ? 在接口中執行這條命令,運用那一張表
?
##? ? ? ? 192.168.1.2 0.0.0.0?=?host 192.168.1.2
##? ? ? ? 0.0.0.0 255.255.255.255 = any
一個端口的一個方向只能有一張表,如果要更換,就必須先將上一個表取下來:
no ip access-group 1 out? ? ? ?取下表
ip access-group 2 out? ? ? ? 換上新的表
擴展ACL
?如圖,PC0 能ping通服務器,不能訪問網站
? ? ? ? ? ?PC1能訪問網站,不能ping
Router#conf t
Router(config)#????????access-list 100 permit tcp host 192.168.1.1 host 101.1.1.2 eq 80
access-list 100(創建ACL) permit(允許) tcp(協議) host(自己/對應掩碼) 192.168.1.1(源IP) host 101.1.1.2(目的IP) eq 80(端口,可以是www),白話來說就是,我創建了一個擴展ACL,我允許192...1中的TCP協議到達101...2的80(http協議)端口
Router(config)#????????access-list 100 permit icmp host 192.168.1.2 host 101.1.1.2
Router(config)#????????do sh acc? ? ? ? 查看acl策略
Router(config)#????????int g0/1? ? ? ? ? ? ? ? 進入接口
Router(config-if)#? ? ?ip access-group 100 out? ? ? ? 將100策略應用到本接口
PC1能ping不能訪問
PC0能訪問不能ping
?
?。。。服務器1是多余的,不管他。
conf t
access-list? 表號? permit/deny? 協議? 源IP? 反掩碼? 目標IP? 反掩碼? ―eq? 端口號
表號:100-199
協議: TCP/UDP/IP/ICMP (當寫了端口號,只能寫tcp或udp)
注釋:ICMP協議就是ping命令所使用的協議,ICMP協議是網絡探測協議,ping別人,就是生成ICMP探測包發給對方,然后對方給我回應一個ICMP探測包,代表ping通了!
[]:代表可選
?
案例
案例1:允許192.168.1.1訪問網頁,但是其它操作都不允許
permit tcp host 10.1.1.1 host 192.168.1.1 eq www
為甚么不需要寫了?
有默認大boss拒絕所有
?
案例2:拒絕192.168.1.1去往所有地方的流量
acc 104 deny ip host 192.168.1.1
acc 104 permit ip any any
?
刪除ACL
華為
acl 1000
undo rule10(進入ACL,查看后選擇要刪除的一條策略,刪除它所對應的編號即可)
思科
思科要命名一個ACL,然后才可以對ACL里的內容進行增刪
ip access-list extended 120? ? ? ? 命名ACL
do sh acc 120????????(查看)
no 10? ? ? ? ? ? ? ? 刪掉ACL中10編號的策略
感謝千鋒教育視頻
總結
以上是生活随笔為你收集整理的ACL理论及简单配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统报警怎么办,常见Linux
- 下一篇: 阻止a链接跳转方法总结