網頁

2012年3月10日 星期六

CCNA學習筆記(五)

Access List

1.按順序的比較,先比較第一行,再比較第二行..直到最後1行
2.從第一行起,直到找到1個符合條件的行;符合以後,其餘的行就不再繼續比較下去
3.默認在每個ACL中最後1行為隱含的拒絕(deny),如果之前沒找到1條許可(permit)語句,意味著封包將被丟棄.所以每個ACL必須至少要有1行permit語句,除非你想想所有數據包丟棄



Access List種類
1.Standard Access List(標準存取清單):使用IP來定義管制來源與目的地。
2.Extended Access List(延伸存取控制清單):使用IP+服務類型(IP+Port Number)來定義管制來源與目的地。

Access List的管制方向
1.Inbound Access List(進入存取清單):封包進入介面,必須先經過Inbound Access List的過濾,符合條件者才能放行。(先處理,再路由)
2.Outbound Access List(離開存取控制清單):封包離開介面,必須先經過Outbound Access List的過濾,符合條件者才能放行。(先路由,再處理)
每個介面的每一個協定的每一個方向,只能指定一個存取清單。

正向列表與負向列表(黑名單與白名單)
1.正向列表:除非在名單中允許的行為,否則其餘行為皆禁止,白名單。
2.負向列表:除非在名單中禁止的行為,否則其餘行為皆允許,黑名單。
Cisco Router預設採正向列表,Router會自動再Access List尾端加一行隱藏的Deny Any,所以凡是你沒有列出的允許行為,預設通通會被禁止,這就是正向列表的設定方式。

Access List編號
1.Standard Access List:1~99、1300~1999
標準ACL,在特權模式下使用命令access-lists [範圍數字] [permit/deny] [any/host].範圍數字為1到99和1300到1999;permit/deny分別為允許和拒絕;any為任何主機,host為具體某個主機(需要跟上IP地址)或某1段
2.Extended Access List:100~199、2000~2699
擴展ACL:命令是access-list [ACL號] [permit/deny] [協議] [源地址] [目標地址] [操作符號] [端口] [log].ACL號的範圍是100到199和2000到2699;協議為TCP,UDP等,操作符號有eq(表等於),gt(大於),lt(小于)和neq(非等於)等等;log為可選,表示符合這個ACL,就記錄下這些日誌

ACL設置要點

1.每個介面,每個方向,每種協議 , 只能設置1個ACL。
2.組織好你的ACL的順序 , 比如測試性的最好放在ACL的最頂部。
3.你不可能從ACL從除去1行 , 除去1行意味你將除去整個ACL , 命名訪問列表(named access lists)例外。
4.默認ACL結尾語句是deny any , 所以你要記住的是在ACL裏至少要有1條permit語句。
5.記得創建了ACL後要把它應用在需要過濾的介面上。
6.ACL是用於過濾經過router的封包 , 它並不會過濾router本身所産生的封包。
7.盡可能的把IP標準ACL放置在離目標地址近的地方 , 盡可能的把IP擴展ACL放置在離源地址近的地方。

Standard Access List語法
<單點設定>
Router-0(config)#access-list 1 permit 192.168.1.1 (允許192.168.1.1,後接有隱藏deny any)
Router-0(config)#int fa0/1 (選擇要套用的介面)
Router-0(config-if)#ip access-group 1 ?
  in   inbound packets
  out  outbound packets
Router-0(config-if)#ip access-group 1 out (套用在Fa0/1介面離開方向)

其他PC被拒絕(如 192.168.1.2)
PC>ping 192.168.2.1

Pinging 192.168.2.1 with 32 bytes of data:

Reply from 192.168.1.254: Destination host unreachable.(路由後,直接丟棄封包)
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.

同上效果
Router-0(config)#access-list 2 permit 192.168.1.1 
Router-0(config)#int fa0/0
Router-0(config-if)#ip access-group 2 in

其他PC(如 192.168.1.2)
PC>ping 192.168.2.1

Pinging 192.168.2.1 with 32 bytes of data:

Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.

Cisco建議:
使用Standard Access List,盡量設定在靠近目的位置。
使用Extended Access List,盡量設定在靠近來源位置。

<網段設定>
此時設定一整段的IP,必須使用Wildcard Mask語法
Router-0(config)#access-list 13 permit 192.168.1.0 0.0.0.127 (允許192.168.1.1~127)
Router-0(config)#int fa0/1 
Router-0(config-if)#ip access-group 13 out

192.168.1.128/24~192.168.1.253/24
PC>ping 192.168.2.1

Pinging 192.168.2.1 with 32 bytes of data:

Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.
Reply from 192.168.1.254: Destination host unreachable.

同上效果
Router-0(config)#access-list 14 permit 192.168.1.0 0.0.0.127
Router-0(config)#int fa0/0
Router-0(config-if)#ip access-group 14 in

<負向列表單點設定>
Router-0(config)#access-list 15 deny 192.168.1.1(禁止192.168.1.1通過)
Router-0(config)#access-list 15 permit any (允許全部)
Router-0(config)#int fa0/1
Router-0(config-if)#ip access-group 15 out
Router-0(config)#do sh acc
Standard IP access list 15
    deny host 192.168.1.1
    permit any
   (deny any預設隱藏的)
因Cisco Router預設採正向列表,會在ACL最後加上一條隱藏的deny any,為改變此預設行為,所以在ACL後要加上一條permit any,這樣可以把正向列表變更為負向列表。

同上效果
Router-0(config)#access-list 16 deny 192.168.1.1(禁止192.168.1.1通過)
Router-0(config)#access-list 16 permit any (允許全部)
Router-0(config)#int fa0/0
Router-0(config-if)#ip access-group 16 in

<負向列表網段設定>
禁止192.168.1.1~127(192.168.1.0/25)通過
Router-0(config)#access-list 17 deny 192.168.1.0 0.0.0.127
Router-0(config)#access-list 17 permit any
Router-0(config)#int fa0/1
Router-0(config-if)#ip access-group 17 out
Router-0(config-if)#do sh acc
Standard IP access list 17
    deny 192.168.1.0 0.0.0.127
    permit any

同上效果
Router-0(config)#access-list 18 deny 192.168.1.0 0.0.0.127
Router-0(config)#access-list 18 permit any
Router-0(config)#int fa0/0
Router-0(config-if)#ip access-group 18 in

Extended Access List語法
<單點設定>
允許任何電腦存取Server(192.168.2.1)的WWW服務
Router-0(config)#access-list 101 permit tcp any host 192.168.2.1 eq 80
Router-0(config)#int fa0/1
Router-0(config-if)#ip access-group 101 out
Router-0(config-if)#do sh acc
Extended IP access list 101
    permit tcp any host 192.168.2.1 eq www

<網段設定練習>
1.192.168.1.0/25網段可以Ping Server(192.168.2.1)
2.192.168.1.128/25網段可以使用WWW瀏覽Server(192.168.2.1)
3.192.168.1.253可以無限存取Server(192.168.2.1)
4.其餘行為皆禁止
Router-0(config)#access-list 102 permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
Router-0(config)#access-list 102 permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
Router-0(config)#access-list 102 permit ip host 192.168.1.253 host 192.168.2.1
Router-0(config)#int fa 0/1
Router-0(config-if)#ip access-group 102 out
Router-0(config-if)#do sh acc
Extended IP access list 102
    permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
    permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
    permit ip host 192.168.1.253 host 192.168.2.1

Controlling VTY(Telnet) Access 
使用IP標準ACL來控制VTY線路的訪問 , 設定步驟如下: 
1.創建個IP標準ACL來允許某些主機可以telnet 
2.使用access-class命令來應用ACL到VTY線路上 
實例如下: 
Router(config)#access-list 50 permit 172.16.10.3 
Router(config)#line vty 0 4 
Router(config-line)#access-class 50 in 
如上,進入VTY線路模式 , 應用ACL , 方向為進來 , 即in , 因為默認隱含的deny any , 所以上面的例子 , 只允許IP地址為172.16.10.3的主機telnet到router上。

Named Access Lists 
Router-0(config)#ip access-list extended test
Router-0(config-ext-nacl)#permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1 
Router-0(config-ext-nacl)#permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
Router-0(config-ext-nacl)#permit ip host 192.168.1.253 host 192.168.2.1 

Router-0(config-ext-nacl)#exit

Router-0(config)#int f0/0
Router-0(config-if)#ip access-group test in
Router-0(config-if)#do sh acc

Extended IP access list 102

    permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1 (4 match(es))
    permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www (10 match(es))
    permit ip host 192.168.1.253 host 192.168.2.1 (5 match(es))
Extended IP access list test
    permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
    permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
    permit ip host 192.168.1.253 host 192.168.2.1

Router-0#sh run
interface FastEthernet0/0
 ip address 192.168.1.254 255.255.255.0
 ip access-group test in
 duplex auto
 speed auto
!
!
access-list 102 permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
access-list 102 permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
access-list 102 permit ip host 192.168.1.253 host 192.168.2.1
ip access-list extended test
 permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
 permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
 permit ip host 192.168.1.253 host 192.168.2.1
!

Access List常用查詢指令
show access-lists(sh ip access-lists 也可)
Router-0#sh access-lists 
Extended IP access list 102
    permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1 (4 match(es))
    permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www (10 match(es))
    permit ip host 192.168.1.253 host 192.168.2.1 (5 match(es))

show access-lists +編號orWord(sh ip access-lists+編號orWord 也可)
Router-0#sh access-lists 102
Extended IP access list 102
    permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1 (4 match(es))
    permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www (10 match(es))
    permit ip host 192.168.1.253 host 192.168.2.1 (5 match(es))

show running-config
interface FastEthernet0/1
 ip address 192.168.2.254 255.255.255.0
 ip access-group 102 out
 duplex auto
 speed auto
!
interface Vlan1
 no ip address
 shutdown
!
ip classless
!
!
access-list 102 permit icmp 192.168.1.0 0.0.0.127 host 192.168.2.1
access-list 102 permit tcp 192.168.1.128 0.0.0.127 host 192.168.2.1 eq www
access-list 102 permit ip host 192.168.1.253 host 192.168.2.1


Subnet Mask & Wildcard Mask
Subnet Mask與Wildcard Mask的用途相同,只是表示的方法相反,在設定OSPF與ACL時都要用Wildcard Mask。
Subnet Mask 255.255.255.248   Wildcard Mask 0.0.0.7
Subnet Mask 255.255.255.128   Wildcard Mask 0.0.0.127
Subnet Mask 255.255.128.0   Wildcard Mask 0.0.127.255
Subnet Mask 255.192.0.0   Wildcard Mask 0.63.255.255

表172.30.16.0/24~172.30.31.0/24 ==>172.30.16.0 0.0.15.255

沒有留言:

張貼留言