IP 位址規劃方案怎麼做:從需求統計到分配表的六個步驟
一份可執行的 IP 位址規劃方案,交付物是一張寫清每個網段用途、VLAN、閘道器和保留位址的分配表。本文按統計需求、劃分割槽域、選位址空間、切分網段、約定閘道器、形成分配表六步講產出過程,每步給判斷標準和算例。
一份 IP 位址規劃方案的產出過程分六步:統計裝置數量和增長、按機房與業務型別劃分割槽域、選擇位址空間、切分網段、約定閘道器與保留位址、形成分配表。前五步是分析,第六步是交付物——一張寫清每個網段“給誰用、閘道器是什麼、哪些位址不能動”的分配表。沒有這張表,規劃只停留在做規劃那個人的腦子裡,換個人接手就要重來。
下面以一家有兩個機房、約 400 台伺服器的 IDC 服務商為例,把每一步的輸入、判斷標準和輸出寫清楚。
第一步:統計裝置數量和三年增長
規劃的輸入是“需要多少位址”,而不是“有多少台裝置”。同一台伺服器往往要佔 2~3 個位址:一個公網業務位址、一個 IPMI 管理位址,可能還有一個內網位址。先按裝置型別列清單,再乘以每類裝置的位址數。
| 裝置型別 | 當前數量 | 每台位址數 | 當前需要 | 3 年後(按年增 30% 估算) |
|---|---|---|---|---|
| 伺服器公網位址 | 400 | 1 | 400 | 約 880 |
| 伺服器 IPMI 位址 | 400 | 1 | 400 | 約 880 |
| 伺服器內網位址 | 400 | 1 | 400 | 約 880 |
| 交換器、路由器管理位址 | 30 | 1 | 30 | 約 66 |
| PDU、動環、門禁等裝置 | 40 | 1 | 40 | 約 88 |
| 跳板機、監控、DNS 等基礎服務 | 20 | 1 | 20 | 約 44 |
400 × 1.3³ ≈ 879,這就是“3 年後約 880”的來源。增長率用過去兩年的實際上架速度推算,沒有歷史資料就按業務計劃取一個偏保守的值。規劃期取 3 年是常見做法:太短很快要重做,太長預測沒有意義。
統計時要把兩類需求分開:公網位址要向上遊運營商或 APNIC 申請,稀缺且有成本;私網位址幾乎沒有成本,可以放開預留。兩者的規劃策略完全不同,後面分開處理。
第二步:按機房和業務型別劃分割槽域
把統計結果按兩個維度切開:物理位置(機房、樓層)和業務型別(安全等級)。每一個“機房 × 業務型別”的組合就是一個位址塊,之後的網段都從對應的塊裡切出來。
| 業務型別 | 放什麼 | 公網還是私網 | 安全要求 |
|---|---|---|---|
| 客戶公網 | 出租伺服器的業務位址 | 公網 | 客戶之間隔離 |
| 客戶內網 | 客戶伺服器之間的私網互聯 | 私網 | 按客戶劃 VLAN |
| IPMI 管理網 | 伺服器 BMC 管理口 | 私網 | 只允許管理系統和跳板機存取 |
| 裝置管理網 | 交換器、PDU、動環裝置 | 私網 | 同上,與 IPMI 網分開 |
| 基礎服務 | DNS、監控、裝機、跳板機 | 私網為主 | 允許被各區存取 |
| 互聯與閘道器 | 裝置之間的點對點鏈路、VRRP | 私網 | 只有網路裝置使用 |
這裡有兩個原則:一是 IPMI 網和裝置管理網要分開,兩者的存取人員和風險不同;二是每個區域對應一組 VLAN,區域邊界就是防火牆或 ACL 的邊界,劃得清楚,後面的策略才好寫。
先按機房切一刀、再按型別切一刀的好處是路由可以彙總:機房 A 的所有私網位址都在同一個大塊裡,核心之間只需要一條彙總路由。
第三步:選擇位址空間
私網用 RFC 1918 定義的三段:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。IDC 內部網路推薦用 10.0.0.0/8:空間大,能把機房編號、業務型別直接編進位址裡。192.168.0.0/16 是家用路由器和辦公網的常用段,客戶透過 VPN 接入時容易重疊,儘量不要用於基礎設施。
一種把資訊編進位址的寫法是 10.<機房號>.<型別塊>.x:
| 位址塊 | 用途 |
|---|---|
| 10.1.0.0/16 | 機房 A 全部私網位址 |
| 10.2.0.0/16 | 機房 B 全部私網位址 |
| 10.1.0.0/21 | 機房 A 裝置管理網(10.1.8.0/21 留作擴容) |
| 10.1.16.0/21 | 機房 A IPMI 管理網(10.1.24.0/21 留作擴容) |
| 10.1.32.0/20 | 機房 A 基礎服務(10.1.48.0/20 留作擴容) |
| 10.1.64.0/19 | 機房 A 客戶內網(10.1.96.0/19 留作擴容) |
| 10.1.240.0/20 | 機房 A 互聯與閘道器 |
| 其餘 | 預留,鎖定不用 |
每個塊後面故意留了一個同樣大小的空塊,並且起始位址對齊到擴容後的邊界:裝置管理網 10.1.0.0/21 和緊隨其後的 10.1.8.0/21 合起來正好是 10.1.0.0/20,客戶內網 10.1.64.0/19 和 10.1.96.0/19 合起來正好是 10.1.64.0/18。將來把掩碼改短一位就能翻倍,不用改任何已分配的位址。看到 10.1.16.x 就知道是機房 A 的 IPMI 位址,排障時省很多事。
公網位址由上游運營商或 APNIC、CNNIC 分配,沒有選擇餘地,規劃的重點是“怎麼切”。網際網路上透過 BGP 宣告的字首一般不小於 /24,所以公網段以 /24 為基本單位:按線路(電信、聯通、BGP)和機櫃列分配整塊的 /24,內部再切成更小的 VLAN 子網。
IPv6 由上游運營商或位址分配機構分配一個 /32 或 /48 的塊。業界通行的劃分是每個 VLAN 一個 /64;拿到 /32 時每個機房分一個 /48,只拿到一個 /48 時機房之間按 /52 或 /56 切開。給客戶分配時,單台伺服器給 /64,需要多個子網的客戶給 /56。IPv6 的位址數量不是約束,規劃的重點是層次清楚、便於彙總。
第四步:切分網段
切分的依據是第一步的 3 年需求數,對照下表選掩碼:
| 掩碼 | 位址總數 | 可用位址數 | 適合 |
|---|---|---|---|
| /21 | 2,048 | 2,046 | 大型管理網、客戶內網塊 |
| /22 | 1,024 | 1,022 | 中大型管理網 |
| /23 | 512 | 510 | 中型管理網 |
| /24 | 256 | 254 | 公網基本單位,單個 VLAN |
| /25 | 128 | 126 | 小型 VLAN |
| /26 | 64 | 62 | 小客戶專屬公網段 |
| /27 | 32 | 30 | 裝置管理小段 |
| /28 | 16 | 14 | 單客戶內網 |
| /29 | 8 | 6 | 單客戶小段 |
| /30 | 4 | 2 | 點對點鏈路 |
可用位址數 = 總數 − 2(網路位址與廣播位址)。選掩碼的判斷標準:3 年需求數 ÷ 可用位址數 ≤ 70%。以機房 A 的 IPMI 網為例,3 年需求約 880 個,/22 的 1,022 個可用位址使用率 86%,偏高;/21 有 2,046 個可用位址,使用率 43%,合適。私網位址不缺,放大一檔沒有成本。
公網段反過來:按 1 年需求分配,按 3 年需求預留。機房 A 當前 400 台伺服器需要 2 個 /24,1 年後約 520 台需要 3 個 /24,那就先啟用 3 個 /24,再把 4~5 個 /24 標記為預留,不要一開始就切碎分出去。
切分時把每個網段對齊到它的自然邊界:/20 的起始位址第三段必須是 16 的倍數(0、16、32……),/21 是 8 的倍數,/22 是 4 的倍數。可以用 ipcalc 或 Python 自帶的 ipaddress 模組驗證,順便檢查有沒有重疊:
# Debian/Ubuntu: apt install ipcalc
ipcalc 10.1.64.0/19
# 用 Python 檢查規劃表裡的網段是否重疊
python3 - <<'PY'
import ipaddress
nets = ["10.1.0.0/21", "10.1.16.0/21", "10.1.32.0/20", "10.1.64.0/19", "10.1.240.0/20"]
nets = [ipaddress.ip_network(n) for n in nets]
for i, a in enumerate(nets):
for b in nets[i + 1:]:
if a.overlaps(b):
print("重疊:", a, b)
print("檢查完成")
PY
一個網段對應一個 VLAN,VLAN 編號也一起規劃:例如管理網用 100~199,客戶內網用 200~999,公網用 1000 以上,與位址塊的編號規則對應起來。
第五步:約定閘道器和保留位址
這些規則要寫進位制度,全公司統一,否則每個網段的閘道器都要查一遍:
- 閘道器位置:統一用第一個可用位址(
.1)或最後一個可用位址(.254),二選一,不混用; - 閘道器冗餘:用 VRRP 時,虛擬位址是
.1,兩台物理裝置用.2和.3; - 保留段:每個網段的前 16 個位址(
.0~.15)留給網路裝置和閘道器,最後 8 個(.248~.255)留給監控探針和臨時用途,中間的才能分配; - DHCP 範圍:裝機網需要 DHCP 時,寫清動態池的起止,靜態位址不得落在池內;
- 整塊預留:還沒啟用的位址塊在表裡標記“鎖定”,任何人不得從中臨時借用。
IPv6 的做法類似:閘道器用 ::1,::2~::ff 保留給裝置,客戶位址從 ::100 起分配。
以公網段 103.45.12.0/24(範例位址)為例:閘道器 103.45.12.1,.2~.15 保留,.16~.247 共 232 個位址可分配給客戶,.248~.254 留給監控。分配表裡要把“可分配範圍”明確寫成 .16~.247,而不是讓每個人自己減。
第六步:形成分配表
分配表是整個方案的交付物,至少包含這些列:
| 列 | 說明 | 範例 |
|---|---|---|
| 網段 | CIDR 寫法 | 10.1.16.0/21 |
| 機房 | 所屬機房 | 機房 A |
| 型別 | 業務型別 | IPMI 管理網 |
| VLAN | 對應 VLAN 編號 | 110 |
| 閘道器 | 閘道器位址與所在裝置 | 10.1.16.1,核心交換器 CORE-A |
| 保留範圍 | 不可分配的位址 | 10.1.16.1~.15,10.1.23.248~.255 |
| 可分配範圍 | 可分配起止 | 10.1.16.16~10.1.23.247 |
| 狀態 | 在用 / 預留 / 鎖定 / 回收中 | 在用 |
| 負責人 | 誰批准變更 | 網路組 |
| 備註 | 線路、客戶、特殊說明 | 只允許跳板機存取 |
除了網段級的總表,還要有位址級的明細表:每個位址分給了哪台裝置(資產編號)、哪個客戶、什麼時候分配的。兩張表配合,才能回答“這個 IP 是誰的”和“這個段還剩多少”。
方案發布前對照下面的清單過一遍:
- 所有網段無重疊,且對齊到自然邊界;
- 每個網段有且只有一個 VLAN、一個閘道器,閘道器位置全域性一致;
- 同一機房的網段能彙總成一條路由;
- 公網預留塊已在上游做好宣告準備,但不對內啟用;
- 核心交換器、防火牆的路由表和 ACL 已按新表更新;
- 表的版本號、生效日期和修訂記錄寫在首頁。
分配表怎麼維護才不會失效
規劃做完的那天,分配表是準確的;三個月後,如果還是靠 Excel,它一定和現場對不上——有人臨時借了位址忘了登記,有人下架了伺服器沒釋放。維護規則有三條:位址的分配和回收必須先改表再操作,每季度用網段掃描結果和表對帳,新增網段必須走審批。
更省力的做法是把表放進 IP 位址管理系統。在 IP 位址管理裡按 CIDR 錄入網段後,起止位址、掩碼自動算出,閘道器可以選第一個或最後一個位址,大段可以自動拆成多個 /24;每個段能標記為公網 IP、IPMI、客戶內網等型別並歸屬機房,開通伺服器時自動從可用段取址,退訂時釋放,鎖定的預留段不會被佔用。段所在的 VLAN 和閘道器裝置也記錄在段上,與交換器的 VLAN 配置對應。規劃方案六步的產出,正好對應系統裡“段—型別—機房—VLAN—閘道器—用量”這幾項欄位。
常見問題
現有網路的位址已經亂了,能不能不停機重新規劃?
可以分步做:先按新方案建好網段和 VLAN,新上架的裝置直接用新位址;舊裝置在維護視窗逐批遷移,遷移期間新舊網段之間用路由互通。舊網段在分配表裡標為“回收中”,全部遷完再刪除。
分配表裡要不要記錄 MAC 位址和交換器連接埠?
網段總表不用,位址明細表建議記錄。IP、MAC、交換器連接埠三者對應之後,才能在交換器上做 ARP 繫結,位址被冒用時也能直接定位到機櫃和連接埠。
回收的公網位址能馬上分給新客戶嗎?
建議先隔離一段時間(例如 30 天)再重新分配:前一個客戶的域名解析、郵件信譽、對端防火牆規則可能還指向這個位址,立即複用容易把問題帶給新客戶。分配表裡用“回收中”狀態標記,到期後再改為空閒。