路由與交換--ACL基本命令及其實驗配置

1 ACL 的配置服務器

1.1 建立 ACL網絡

      標準 ACLtcp

router(config)#access-list <ACL表號> {permit|deny}{<源IP|host><反掩碼>|any}  //表號1~99

      擴展 ACL測試

router(config)#access-list <ACL表號> {permit|deny}{<協議名稱>|<端口號>}{<源IP><反掩碼>}{<目的IP><反掩碼>}{<關係><協議名稱>}   //表號101~199

1.2 應用 ACLspa

router(config-if)#{協議棧} access-group <ACL表號> {in|out}   //協議棧能夠爲IP或IPX

 

2 ACL 上機實驗3d

2.1 ACL 配置舉例 1code

router(config)#access-list 1 deny 10.0.0.1 0.0.0.0   //ACL表號爲1,丟棄10.0.0.1發出的數據包,至關於 deny host 10.0.0.1
router(config)#access-list 1 permit any
router(config)#access-list 2 permit any   //ACL表號爲2,能夠轉發任意數據包
router(config)#int s0/0
router(config-if)#ip access-group 1 in   //該接口輸入方向應用ACL列表組1,拒絕來自10.0.0.1的數據包
router(config-if)#ip access-group 2 out   //該接口輸出方向應用ACL列表組2,容許發出流經該路由器的全部數據包

 

2.2 ACL 配置舉例 2router

router(config)#access-list 101 deny tcp 172.16.0.0 0.0.255.255 host 192.168.1.1 eq telnet   //不容許172.16.0.0網絡的數據包telnet主機192.168.1.1
router(config)#access-list 101 permit ip any any   //容許轉發其餘任何數據包
router(config)#int s0/0
router(config-if)#ip access-group 101 in

 

2.3 ACL 配置舉例 3server

      限制只容許 192.168.2.2 訪問 192.168.1.2 的 80 端口,192.168.3.2 訪問 192.168.1.2 的 DNS。blog

router(config)#ip access-list extended cj
router(config ext-nacl)#permit udp host 192.168.3.2 host 192.168.1.2 eq 53
router(config ext-nacl)#permit tcp host 192.168.2.2 host 192.168.1.2 eq 80
router(config ext-nacl)#exit
router(config)#int f0/0
router(config-if)#ip access-group cj out

 

2.4 ACL 配置舉例 4

要求:只容許 172.16.4.0/24 網絡的主機經過端口 E0 進入網絡 172.16.3.0/24,其餘的被禁止。

      爲了實現上面的實驗要求,咱們將網絡拓撲進行簡化,PC1 的 IP 設置爲 172.16.4.2,PC2 的 IP 設置爲 172.16.0.2,PC3 的 IP 設置爲 172.16.3.2,最終要達到的要求爲 PC1 網段的主機能夠訪問 PC3 網段的主機,PC2 網段的主機不能訪問 PC3 網段的主機。須要注意的是這裏的路由器的選擇,若是選擇不恰當會致使端口不夠用,能夠參照下面的網絡拓撲圖中所選路由器。 

      先對路由器進行配置,讓三臺 PC 之間均可以通訊。

Router>enable
Router#conf t
Router(config)#int gig0/0
Router(config-if)#ip add 172.16.4.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int gig0/1
Router(config-if)#ip add 172.16.0.1 255.255.255.0
Router(config-if)#no shut
Router(config)#int gig0/2
Router(config-if)#ip add 172.16.3.1 255.255.255.0
Router(config-if)#no shut

      路由器配置完成後給各臺 PC 分配 IP,並設置其網關,先來驗證 PC1 和 PC2 都能 ping 通 PC3 。

      上述結果代表,在沒有作 ACL 限制前,PC 之間是能夠相互通訊的,如今來設置 ACL 規則,讓 PC1 能夠 ping 通 PC3,而 PC2 不能 ping 通 PC3。

Router(config)#access-list 5 permit 172.16.4.0 0.0.0.255
Router(config)#int gig0/2
Router(config-if)#ip access-group 5 out

      如今再來驗證 PC 之間的通訊。

      PC1 能夠 ping 通 PC3,但 PC2 不能 ping 通 PC3,達到實驗要求。這裏並無 deny any 的語句,是由於路由隱含在每一個 ACL 列表的最後有一句拒絕全部數據包訪問的語句,因此不用再專門寫出了。

 

2.5 ACL 配置舉例 5 

要求:

      (1)禁止從 172.16.4.0/24 經過 FTP 訪問 172.16.3.0/24;

      (2)除此之外的其餘訪問和數據流都容許。

      爲了驗證上述實驗,這裏將網絡拓撲圖進行簡化,因爲 172.16.3.0 網段涉及 FTP 登陸,這裏用一臺服務器來代替該網段,並設置 FTP 的登陸帳號和密碼。

      如下是簡化的網絡拓撲圖和對 server 的 FTP 的配置 。

      對路由器進行配置,配置好後爲 PC 和 server 分配 IP,並設置其網關,而後驗證 PC1 在沒有作 ACL 限制前能夠訪問 FTP。

Router>enable
Router#conf t
Router(config)#int gig0/0
Router(config-if)#ip add 172.16.4.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int gig0/1
Router(config-if)#ip add 172.16.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int gig0/2
Router(config-if)#ip add 172.16.3.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit 

      如今對路由器作 ACL 限制,讓 PC1 沒法再登陸 server 的 FTP。

Router(config)#access-list 105 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20
Router(config)#access-list 105 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
Router(config)#access-list 105 permit ip any any
Router(config)#int gig0/0
Router(config-if)#ip access-group 105 in

      驗證 PC1 是否還能繼續登陸 server 的 FTP,由結果能夠看出已經達到實驗要求 。

      列表最後要有一句 permit ip any any,這個必須加上,由於一個列表中至少要有一句 permit 語句。

 

2.6 ACL 配置舉例 6 

要求:

      (1)拒絕 172.16.2.0/24 這個網段的主機訪問 SERVER1;

      (2)拒絕 PC1 訪問 SERVER1;

      (3)只容許 PC1 對 R2 進行遠程鏈接管理。

R2(config)#access-list 1 deny 172.16.2.0 0.0.0.255
R2(config)#access-list 1 deny host 172.16.1.10
R2(config)#access-list 1 permit any
R2(config)#access-list 2 permit host 172.16.1.10
R2(config)#int f0/0
R2(config-if)#ip access-group 1 out   //對端口
R2(config)#line vyt 0 4
R2(config-line)#password fsh
R2(config-line)#access-class 2 in   //對線模式

 

2.7 ACL 配置舉例 7 

要求:

      (1)211.12.3.0/24 這個網段不能訪問 SEREVER2 的網頁和 FTP,其餘服務能夠訪問;

      (2)全部設備都能 ping 通 PC4,但反之不行(單向 ping)。

      控制訪問類別

R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 80
R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 20
R2(config)#access-list 101 deny tcp 211.12.3.0 0.0.0.255 host 172.16.1.100 eq 21

      控制單向 ping

R2(config)#access-list 101 permit icmp 211.12.3.0 0.0.0.255 any echo-reply   //echo-reply表示ICMP響應
R2(config)#access-list 101 deny icmp 211.12.3.0 0.0.0.255 any   //拒絕211.12.3.0/24到其餘任何網絡的icmp包
R2(config)#access-list 101 permit ip any any
R2(config)#int f0/1
R2(config-if)#ip access-group 101 in

 

2.8 ACL 配置舉例 8

要求:

      (1)VLAN 10 不能訪問 VLAN 30;

      (2)其他 VLAN 之間能夠自由訪問。

一、劃分 VLAN,並將各接口分配至 VLAN中。

Switch>enable
Switch#conf t
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#exit
Switch(config)#vlan 30
Switch(config-vlan)#exit
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#int fa0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30
Switch(config-if)#exit

二、開啓交換機路由功能,並給各虛擬 VLAN 接口配置 IP 地址,此接口和地址將成爲 vlan 中主機的網關。

Switch(config)#ip routing
Switch(config)#int vlan 10
Switch(config-if)#ip add 10.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip add 20.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 30
Switch(config-if)#ip add 30.0.0.1 255.255.255.0
Switch(config-if)#exit

三、配置訪問控制列表,並應用。

Switch(config)#access-list 1 deny 10.0.0.0 0.0.0.255
Switch(config)#access-list 1 permit any
Switch(config)#int vlan 30
Switch(config-if)#ip access-group 1 out

四、配置各主機的 IP 地址及網關,經過 ping 檢驗各 vlan 之間的通訊狀況。

      PC1 去 ping 另外兩臺 PC 。

      另外兩臺 PC 的通訊 。

 

2.9 ACL 單向 ping 

實驗要求:

      (1)配好設備 IP 後,先相互 ping,能 ping 通;

      (1)設置 ACL,使得:

            1. 全部設備能 ping 通 PC3,即 PC3 能對全部 ping 請求做響應;

            2. PC3 不能 ping 其餘設備。

      對交換機進行設置,將交換機與路由器相連的接口設置爲 trunk 模式。

Switch>enable
Switch#conf t
Switch(config)#int fa0/3
Switch(config-if)#switchport mode trunk

      對路由器進行設置。

Router>enable
Router#conf t
Router(config)#int fa0/0
Router(config-if)#ip add 10.0.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int fa1/0
Router(config-if)#ip add 20.0.0.1 255.255.255.0
Router(config-if)#no shut

      上述配置完成後給各臺 PC 分配 IP,並設置它們的網關,而後驗證它們之間的通訊。這裏的通訊比較簡單,自行去驗證。

      ping 的動做總共分爲兩部分,一是源主機將數據包發送給目標主機,二是目標主機收到數據包後給源主機響應。因爲 PC3 不能 ping 通其餘 PC,而其餘 PC 可以 ping 通 PC3,說明 PC3 能給其餘因此 PC 響應,爲了簡化 ACL 配置,這裏以 PC3 爲源主機,容許它的全部 icmp 的響應,其餘的 icmp 被限制,因爲 PC3 爲源主機,則數據包是通過路由器的 fa1/0 進入網絡的,下面是 ACL 規則的配置。

Router(config)#access-list 101 permit icmp 20.0.0.0 0.0.0.255 any echo-reply
Router(config)#access-list 101 deny icmp 20.0.0.0 0.0.0.255 any
Router(config)#access-list 101 permit ip any any
Router(config)#int fa1/0
Router(config-if)#ip access-group 101 in

      對結果進行驗證,用 PC3 去 ping 其餘兩臺 PC 。

      其餘兩臺 PC 去 ping 主機 PC3 。

 

2.10 ACL 控制 VLAN 之間的訪問 

實驗要求:

      (1)開啓三層交換機路由功能,PC1,PC2,PC3,PC4 和 server 分別在 vlan10,vlan20,vlan30,vlan40 和 vlan50;

      (2)查看路由表,確實各 VLAN 之間能夠互通;

      (3)設置訪問控制列表,使 VLAN 10 和 VLAN 20 之間不能夠相互訪問,VLAN 30 和 VLAN 40 與服務器所在的 VLAN 50 不能夠相互訪問;

      (4)其他全部的訪問都是容許的。

      一、劃分 VLAN,並將各接口分配至 VLAN 中。

Switch>enable
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#exit
Switch(config)#vlan 30
Switch(config-vlan)#exit
Switch(config)#vlan 40
Switch(config-vlan)#exit
Switch(config)#vlan 50
Switch(config-vlan)#exit
Switch(config)#int fa0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#int fa0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 30
Switch(config-if)#exit
Switch(config)#int fa0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 40
Switch(config-if)#exit
Switch(config)#int fa0/5
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 50
Switch(config-if)#exit

      二、開啓交換機路由功能,並給各虛擬 VLAN 接口配置 IP 地址,此接口和地址將成爲 vlan 中主機的網關。

Switch(config)#int vlan 10
Switch(config-if)#ip add 10.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip add 20.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 30
Switch(config-if)#ip add 30.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 40
Switch(config-if)#ip add 40.0.0.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#int vlan 50
Switch(config-if)#ip add 50.0.0.1 255.255.255.0
Switch(config-if)#exit

      三、配置 vlan 10 與 vlan 20 不能相互訪問的控制列表,並應用。

Switch(config)#access-list 1 deny 20.0.0.0 0.0.0.255
Switch(config)#access-list 1 permit any
Switch(config)#int vlan 10 
Switch(config-if)#ip access-group 1 out
Switch(config-if)#exit
Switch(config)#access-list 2 deny 10.0.0.0 0.0.0.255
Switch(config)#access-list 2 permit any
Switch(config)#int vlan 20
Switch(config-if)#ip access-group 2 out
Switch(config-if)#exit

      四、驗證設置 ACL 後 vlan 10 與 vlan 20 之間的通訊,結果代表設置的 ACL 已經生效,vlan 10 與 vlan 20之間不能相互訪問 。

      五、配置 vlan 30 和 vlan 40 與 vlan 50 不能相互訪問的控制列表,並應用。

Switch(config)#access-list 3 deny 50.0.0.0 0.0.0.255
Switch(config)#access-list 3 permit any
Switch(config)#int vlan 30
Switch(config-if)#ip access-group 3 out
Switch(config-if)#exit
Switch(config)#int vlan 40
Switch(config-if)#ip access-group 3 out
Switch(config-if)#exit
Switch(config)#access-list 4 deny 30.0.0.0 0.0.0.255
Switch(config)#access-list 4 deny 40.0.0.0 0.0.0.255
Switch(config)#access-list 4 permit any
Switch(config)#int vlan 50
Switch(config-if)#ip access-group 4 out

      六、驗證設置 AC L後 vlan 30 和 vlan 40 與 vlan 50 之間的通訊,結果代表設置的 ACL 已經生效,vlan 30 和 vlan 40 與 vlan 50 之間不能相互訪問。這裏以 vlan 50 去訪問 vlan 30 與 vlan 40爲例,其餘的通訊狀況自行測試 。

 

2.11 ACL 綜合練習 

實驗要求:

      (1)PC1 和 PC2 在 10.0.0.0 網段,server 在 20.0.0.0 網段,PC3 在 30.0.0.0 網段。在服務器 server 開啓 HTTP 和 FTP 功能,設置 FTP 登陸用戶名、密碼和訪問權限;

      (2)10.0.0.0 網段能夠訪問 server 的 FTP,其餘訪問均被拒絕;

      (3)PC3 能夠訪問 server 的 HTTP,但不能夠訪問 server 的 FTP;

      (4)服務器 server 能夠 ping 通全部設備,但全部設備不能夠 ping 服務器 sever。

      對交換機進行配置。

Switch>enable
Switch#conf t
Switch(config)#int fa0/3
Switch(config-if)#switchport mode trunk

      對路由器進行配置,設置各臺 PC 的網關及其掩碼。

Router>enable
Router#conf t
Router(config)#int gig0/0 
Router(config-if)#ip add 10.0.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int gig0/1
Router(config-if)#ip add 30.0.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int gig0/2
Router(config-if)#ip add 20.0.0.1 255.255.255.0
Router(config-if)#no shut
Router(config-if)#exit

      配置訪問控制列表,並應用。

Router(config)#access-list 101 permit tcp 10.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 20
Router(config)#access-list 101 permit tcp 10.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 21
Router(config)#access-list 101 permit tcp 30.0.0.0 0.0.0.255 20.0.0.0 0.0.0.255 eq 80
Router(config)#access-list 101 permit icmp any 20.0.0.0 0.0.0.255 echo-reply
Router(config)#access-list 101 deny icmp any 20.0.0.0 0.0.0.255
Router(config)#int gig0/2
Router(config-if)#ip access-group 101 out

      給全部 PC 和 server 分配 IP,並設置其網關,對 server 進行設置,開啓 FTP 並添加用戶,FTP 的設置能夠參考前面的配置。驗證 10.0.0.0 網段能夠訪問 server 的 FTP,其餘訪問被拒絕是否生效。由結果能夠看出配置已經成功 。

      驗證 PC 能夠訪問 server 的 HTTP,但不能訪問 server 的 FTP 是否生效,結果代表 ACL 配置已經成功 。

      驗證 server 能夠 ping 通全部設備,全部設備不能 ping 通 server:

      server 去 ping 其餘網段的 PC ;

      10.0.0.0 網段的 PC ping server ;

      30.0.0.0 網段的 PC ping server 。

      上述結果代表,已經達到實驗要求。

      對 ACL 設置的小結:在應用 ACL 的時候,大部分同窗可能會在判斷是進入接口還在出接口的地方感到疑惑,解決這個問題最好的辦法就是去看本身寫的 ACL 規則,ACL 規則裏面都有源主機地址,不管是標準仍是擴展,都會寫上源地址,那麼從源地址出發到目標主機,看它通過的設備,這樣可以一目瞭然看出應該應用在接口的出仍是進。

相關文章
相關標籤/搜索