在路由器裡我們經常使用access-list來做些位址過濾,達到某些安全策略的目的,一般常用的方法是對某個位址段進行permit或者deny,
access-list permit 1 192.168.1.0 .3
access-list permit 1 192.168.1.16 .15
初學者對於wildcard mask的定義可能不是非常清晰,都會認為在acl中的wildcard mask只能使用網路中已使用的位址段的子網掩碼的反掩碼來作為acl的wildcard mask,
例一:某網路上存在一ip位址段192.168.1.0/29,如果是要允許這個網段所有的機子上網就可以用access-list permit 1 192.168.1.0 .7來做策略,但是如果要求只允許網路內192.168.1.1、192.168.1.5這兩個位址上網的話,我們通常會這樣寫acl:
access-list permit 1 192.168.1.1 .0
access-list permit 1 192.168.1.5 .0
access-list deny any any
acl中的wildcard mask由32個0和1組成,如果該位為0那麼被匹配的位址的對應位就必需與acl中的位址對應位匹配,
wildcard mask: .70000 0000.0000 0000.0000 0000.0000 0111
紅色粗體部分就是被匹配位址與acl中的位址需要完全匹配的部分,因為wildcard mask的前29位為0,而後三位為1,所以被匹配位址的後三位被忽略,也就是所謂的don』t care,因此後三位可以是0和1的任意組合
access-list permit 1 192.168.1.1.4(192.168.1.1為acl的匹配條件位址)
acl的wildcard mask定義,.4中只有第30位為1,所以與該位的匹配可以忽略(藍色部分);而其它位必需與acl中的條件匹配位址192.168.1.1的對應位相同,因此我們看上面紅色字型,條件位址的末兩位是01,和條件位址末兩位相同的只有位址192.168.1.1、192.168.1.5,也就是說在位址段192.168.1.0/29中,只有1和5這兩個位址能夠通過acl匹配。
我們上面例1中的acl:
access-list permit 1 192.168.1.1 .0
access-list permit 1 192.168.1.5 .0
access-list deny any any
可以寫為:
access-list permit 1 192.168.1.1.4
通過以上例子,我們看出acl中的wildcard mask和在動態路由協議裡的反碼是不同定義的
靈活運用PHP stdClass
轉 一維陣列,我現在特別喜歡把它寫成物件,因為鍵盤打起來比較順手,看起來也順眼,如 andy array andy a 1 andy b 2 andy c 3 我喜歡把它變成這樣 andy array andy object andy andy a 1 andy b 2 andy c 3 新建空陣列...
js 「 」 「 」的靈活運用
如果 左側表示式的值為真值,則返回右側表示式的值 否則返回左側表示式的值。js var i 真值 i i 真值 其他真值 i 其他真值 i 真值 i 如果 左側表示式的值為真值,則返回左側表示式的值 否則返回右側表示式的值。js var i 真值 i 真值 i 真值 其他真值 i 真值 i 真值 i...
Webform Repeater的靈活運用
案例 模擬購物列表 封裝實體類 view code 資料訪問類 view code 用repeater展示 1 2 3 4 5 685 86105 106 1 using system 2 using system.collections.generic 3 using system.linq 4 ...