在設置ACL(Access Control List)時,會用到Wildcard Mask標示在範圍內的IP位址,這篇筆記記錄如何使用wildcard mask計算IP範圍的起點及終點
簡介
wildcard mask使用0和1表示 0代表匹配,1代表忽略 以下使用8bit作為示範
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 匹配所有位元 |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 忽略後六個位元 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 忽略後四個位元 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 忽略前六個位元 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 忽略所有位元 |
計算
以指令 access list 50 permit 192.168.122.128 0.0.0.63 為例
DEC | BIN | |
---|---|---|
IP Address | 192.168.122.128 | 11000000.10101000.01111010.10000000 |
Wildcard Mask | 0.0.0.63 | 00000000.00000000.00000000.00111111 |
IP位址範圍起點 | 192.168.122.128 | 11000000.10101000.01111010.10000000 |
IP位址範圍終點 | 192.168.122.191 | 11000000.10101000.01111010.10111111 |
- 計算IP位址的二進位值 192.168.122.128 -> 11000000.10101000.01111010.10000000
- 計算Mask的二進位值 0.0.0.63 -> 00000000.00000000.00000000.00111111
- 觀察Mask的值為最後6個bit,故範圍為10000000~10111111
以指令 access list 50 permit 192.51.100.58 0.0.0.63 為例
DEC | BIN | |
---|---|---|
IP Address | 192.51.100.58 | 11000000.00110011.01100100.00111010 |
Wildcard Mask | 0.0.0.63 | 00000000.00000000.00000000.00111111 |
IP位址範圍起點 | 192.51.100.0 | 11000000.00110011.01100100.00000000 |
IP位址範圍終點 | 192.51.100.63 | 11000000.00110011.01100100.00111111 |
- 計算IP位址的二進位值 192.51.100.58 -> 11000000.00110011.01100100.00111010
- 計算Mask的二進位值 0.0.0.63 -> 00000000.00000000.00000000.00111111
- 觀察Mask的值為最後6個bit,故範圍為00000000~00111111