在設置ACL(Access Control List)時,會用到Wildcard Mask標示在範圍內的IP位址,這篇筆記記錄如何使用wildcard mask計算IP範圍的起點及終點

簡介

wildcard mask使用0和1表示 0代表匹配,1代表忽略 以下使用8bit作為示範

1286432168421
00000000匹配所有位元
00111111忽略後六個位元
00001111忽略後四個位元
11111100忽略前六個位元
11111111忽略所有位元

計算

以指令 access list 50 permit 192.168.122.128 0.0.0.63 為例

DECBIN
IP Address192.168.122.12811000000.10101000.01111010.10000000
Wildcard Mask0.0.0.6300000000.00000000.00000000.00111111
IP位址範圍起點192.168.122.12811000000.10101000.01111010.10000000
IP位址範圍終點192.168.122.19111000000.10101000.01111010.10111111
  1. 計算IP位址的二進位值 192.168.122.128 -> 11000000.10101000.01111010.10000000
  2. 計算Mask的二進位值 0.0.0.63 -> 00000000.00000000.00000000.00111111
  3. 觀察Mask的值為最後6個bit,故範圍為10000000~10111111

以指令 access list 50 permit 192.51.100.58 0.0.0.63 為例

DECBIN
IP Address192.51.100.5811000000.00110011.01100100.00111010
Wildcard Mask0.0.0.6300000000.00000000.00000000.00111111
IP位址範圍起點192.51.100.011000000.00110011.01100100.00000000
IP位址範圍終點192.51.100.6311000000.00110011.01100100.00111111
  1. 計算IP位址的二進位值 192.51.100.58 -> 11000000.00110011.01100100.00111010
  2. 計算Mask的二進位值 0.0.0.63 -> 00000000.00000000.00000000.00111111
  3. 觀察Mask的值為最後6個bit,故範圍為00000000~00111111