SheepDev

IP與網路計算

這個 IP 是否位於指定 CIDR 內?

使用工具

規則為 192.0.2.128/25,日誌卻有 .127。數字幾乎相同但在範圍外,IP 包含不能用字串前綴判斷。分別測試邊界內外可給設定審查具體依據。

比較單個 IPv4 用 /32

左:待允許範圍;右:單位址
192.0.2.128/25
192.0.2.200/32

結果左包含右,.200 在 .128–.255 內。交集為 .200/32,右側獨有為空。誤用 /24 而非 /32 會把右側變 256 位址區塊,問題本身已改變。

IPv6 單位址用 /128,例如 2001:db8:1::/64 包含 ::1234/128。一次比較不可混 IPv4/IPv6;即使 IPv6 內嵌看似 IPv4 文字也要明確位址族。

分別測試 .127 與 .128

左固定 /25,.127/32 不相交,.128/32 被包含;末尾 .255 包含,192.0.3.0 不包含。只試中間代表位址不夠,應查起點前、起點、終點、終點後。

這是數值包含,.128 用作網路位址也不從 CIDR 消失。可配置、規則符合及可達性是不同問題;工具不詢問裝置規則引擎,只比輸入範圍。

透過左右差集查看是否擴大

左為修改前,右為修改後
192.0.2.0/25
192.0.2.0/24

右包含左,交集 .0/25、左獨有空、右獨有 .128/25,後者為新增。若前 /24 後 /25,同區塊變左獨有即刪除。重疊對稱,差集意義有方向。

審查應分寫新增和刪除區塊,不只說包含。允許與拒絕規則中擴大意義不同,不能自動稱改善。結果描述範圍變化,不評價安全政策正確性。

不同文字也可能同範圍

.10/24 與 .200/24 都為 .0–.255,範圍相等,主機位會正規化。末段改變未必改涵蓋;位址不變但 /25 變 /24 則會改變。

兩個正規化單 CIDR 為相等、巢狀或分離,不像任意區間只交叉一端。多筆允許清單不能用一對比較代表整體。

範圍內卻連線失敗時

包含不保證可連線。服務看到的來源可能與裝置顯示不同,NAT、代理、VPN 會影響。工具不調查網路,應將所管理服務紀錄與輸入值核對。

連接埠、協定、規則優先序、其他拒絕和路由不在計算內。把數值包含作為已完成一步,再查環境其他條件,避免原因在別處卻重複算位址。

保留修改前後比較

固定方向,如左前右後,查共同、新增、刪除,必要時用 CIDR 工具看邊界。範例位址不是直接加入實設定的值,應在授權設定流程決定採用。

涵蓋位址相同,不代表策略行為相同

允許與拒絕 CIDR 並存時,順序可能影響存取。工具比較位址集合,不模擬防火牆首符合或路由選擇。重疊本身不能斷定策略衝突,動作、順序、連接埠、協定都是其他條件。結果只用於位址部分。

左舊右新時,新減舊是新增,舊減新是刪除,交換左右會反轉說明。192.0.2.0/25 改 /24 會新增 192.0.2.128/25。應明確方向,不只寫有包含。範圍更大不自動更好,差異用於判斷擴展是否必要。

用 IPv4 /32 或 IPv6 /128 測邊界前、邊界、邊界後各一個位址。內部一點包含不證明端點正確。這種數學驗證不需網路流量;實際可達性應作為另行授權診斷,不能說本工具已做通訊測試。

參考資料

使用工具

指南 →