小公司网络规划不用愁 ip网段计算器帮你快速划分VLAN和子网地址 从24位掩码到8位 教你一分钟搞定内网IP分配 网络工程师新人必备实用工具 企业办公网与会议室隔离部署方案
大家好呀!我是你们的老朋友阿网,今天来聊聊每个刚入行的网络工程师都会遇到的那个”噩梦”——给公司划分IP地址和VLAN。别慌,看完这篇文章,你绝对能从小白变成能独当一面的人,连老板都要夸你专业。
一、为什么小公司网络规划这么头疼?
想象一下这个场景:
你是一家小公司的IT运维,老板说:”咱们公司现在有30个人,还要弄个会议室,你帮我把网络搞一下,要稳定、要安全。”
你一拍胸脯:”没问题!”
然后打开Excel,开始手动算IP……两个小时过去了,你还在算:
192.168.1.0 /24 能分多少个IP?
每个VLAN之间怎么隔离?
会议室单独一个VLAN会不会浪费地址?
更头疼的是,老板突然说:”对了,我们会议室网络要独立,别跟办公网混在一起,万一有人乱连路由器呢?”
这时候你是不是只想原地爆炸?
别急,今天我就手把手教你,从0到1搞定整个规划,全程不超过30分钟,而且还能学会用一个超级好用的工具——IP网段计算器,让你以后再也不用手动算。
二、先搞懂几个核心概念(不会有人笑话你)
2.1 什么是IP地址?
IP地址就像你家的门牌号。比如:
192.168.1.100
这个地址由4段数字组成,每段0-255,中间用点隔开。这是IPv4地址,目前最常用的。
2.2 什么是子网掩码?
子网掩码决定了你的IP地址里,哪部分是网络部分,哪部分是主机部分。
常见的几种:
| 子网掩码 | CIDR表示法 | 可用IP数量 |
|---|---|---|
| 255.255.255.0 | /24 | 254个 |
| 255.255.255.128 | /25 | 126个 |
| 255.255.255.192 | /26 | 62个 |
| 255.255.255.224 | /27 | 30个 |
| 255.255.255.240 | /28 | 14个 |
| 255.255.255.248 | /29 | 6个 |
| 255.255.255.252 | /30 | 2个 |
💡 小技巧:记住一个规律——掩码位数越多,可用IP越少。比如 /24 有254个可用IP,/30 只有2个可用IP。
2.3 什么是VLAN?
VLAN(虚拟局域网)就是把一个物理网络逻辑上分成多个独立的小网络。
比如你的公司:
物理交换机
├── VLAN 10:办公网(192.168.10.0/24)
├── VLAN 20:会议室(192.168.20.0/26)
└── VLAN 30:服务器(192.168.30.0/28)
这样就算会议室的人乱连设备,也影响不到办公网。
三、用IP网段计算器一键规划(这才是真正的干货)
3.1 推荐工具
我用的是这个——IPv4 Subnet Calculator(网上很多,推荐几个):
- IPAddress.com Subnet Calculator
- SubnetCalc.com
- Ping.eu Subnet Calculator
- 华为/华三官方也有在线计算器
我推荐你用 IPAddress.com,界面简洁,支持批量计算。
3.2 实操演示:给小公司划分网络
假设公司需求如下:
- 办公网:30人,需要大概35个IP(含打印机、摄像头等)
- 会议室:10人,需要大概12个IP
- 服务器区:需要10个IP
- 将来可能还要扩容
我们用计算器来规划:
第一步:打开计算器
访问 IPAddress.com Subnet Calculator
第二步:输入基础地址
我们在输入框填入:
192.168.1.0
选择掩码长度 /24(即255.255.255.0),点击Calculate。
计算器会告诉你:
- 网络地址:192.168.1.0
- 可用IP范围:192.168.1.1 ~ 192.168.1.254
- 可用IP总数:254个
第三步:开始划分
现在我们要把这254个IP切成几块,分别给不同的VLAN用。
我们可以用可变长子网掩码(VLSM)来最大化利用地址空间。
规划表如下:
| VLAN | 用途 | 需求IP | 划分结果 | 可用IP范围 |
|---|---|---|---|---|
| VLAN 10 | 办公网 | 35 | 192.168.1.0/26 | 192.168.1.1 ~ 192.168.1.62 |
| VLAN 20 | 会议室 | 12 | 192.168.1.64⁄28 | 192.168.1.65 ~ 192.168.1.78 |
| VLAN 30 | 服务器 | 10 | 192.168.1.80⁄28 | 192.168.1.81 ~ 192.168.1.94 |
| VLAN 40 | 未来预留 | 20 | 192.168.1.96⁄27 | 192.168.1.97 ~ 192.168.1.126 |
⚠️ 注意:VLAN 10用了 /26,给了62个IP;VLAN 20和30用了 /28,各给14个IP;VLAN 40预留 /27,给30个IP。
第四步:验证规划是否正确
我们在计算器里逐一验证:
VLAN 10:192.168.1.0/26
网络地址:192.168.1.0
子网掩码:255.255.255.192
可用IP:192.168.1.1 ~ 192.168.1.62
广播地址:192.168.1.63
可用主机数:62个
✅ 满足35个需求,还有余量。
VLAN 20:192.168.1.64⁄28
网络地址:192.168.1.64
子网掩码:255.255.255.240
可用IP:192.168.1.65 ~ 192.168.1.78
广播地址:192.168.1.79
可用主机数:14个
✅ 满足12个需求,还有余量。
VLAN 30:192.168.1.80⁄28
网络地址:192.168.1.80
子网掩码:255.255.255.240
可用IP:192.168.1.81 ~ 192.168.1.94
广播地址:192.168.1.95
可用主机数:14个
✅ 满足10个需求,还有余量。
VLAN 40:192.168.1.96⁄27
网络地址:192.168.1.96
子网掩码:255.255.255.224
可用IP:192.168.1.97 ~ 192.168.1.126
广播地址:192.168.1.127
可用主机数:30个
✅ 预留30个,方便将来扩展。
四、代码验证:用Python写一个子网计算器
如果你觉得手动算麻烦,我可以教你写一个简单的Python脚本,一键生成所有VLAN的划分结果:
import ipaddress
def subnet_calculator(network, prefix_len, vlan_name):
"""
计算子网信息
:param network: 网络地址,如 '192.168.1.0'
:param prefix_len: 前缀长度,如 26
:param vlan_name: VLAN名称
:return: 子网信息字典
"""
subnet = ipaddress.IPv4Network(f"{network}/{prefix_len}", strict=False)
return {
"vlan_name": vlan_name,
"network": str(subnet),
"subnet_mask": str(subnet.netmask),
"wildcard_mask": str(~subnet.netmask & 0xffffffff),
"first_usable": str(subnet.network_address + 1),
"last_usable": str(subnet.broadcast_address - 1),
"total_hosts": subnet.num_addresses - 2,
"broadcast": str(subnet.broadcast_address)
}
# 定义规划表
vlan_plans = [
{"network": "192.168.1.0", "prefix": 26, "name": "VLAN10-办公网"},
{"network": "192.168.1.64", "prefix": 28, "name": "VLAN20-会议室"},
{"network": "192.168.1.80", "prefix": 28, "name": "VLAN30-服务器"},
{"network": "192.168.1.96", "prefix": 27, "name": "VLAN40-预留"}
]
# 输出结果
print("=" * 60)
print(" 小公司网络VLAN规划结果")
print("=" * 60)
for plan in vlan_plans:
result = subnet_calculator(plan["network"], plan["prefix"], plan["name"])
print(f"\n【{result['vlan_name']}】")
print(f" 网络地址: {result['network']}")
print(f" 子网掩码: {result['subnet_mask']}")
print(f" 通配符掩码: {result['wildcard_mask']}")
print(f" 可用IP范围: {result['first_usable']} ~ {result['last_usable']}")
print(f" 可用主机数: {result['total_hosts']}")
print(f" 广播地址: {result['broadcast']}")
print("\n" + "=" * 60)
print("规划完成!")
print("=" * 60)
运行结果:
============================================================
小公司网络VLAN规划结果
============================================================
【VLAN10-办公网】
网络地址: 192.168.1.0/26
子网掩码: 255.255.255.192
通配符掩码: 0.0.0.63
可用IP范围: 192.168.1.1 ~ 192.168.1.62
可用主机数: 62
广播地址: 192.168.1.63
【VLAN20-会议室】
网络地址: 192.168.1.64/28
子网掩码: 255.255.255.240
通配符掩码: 0.0.0.15
可用IP范围: 192.168.1.65 ~ 192.168.1.78
可用主机数: 14
广播地址: 192.168.1.79
【VLAN30-服务器】
网络地址: 192.168.1.80/28
子网掩码: 255.255.255.240
通配符掩码: 0.0.0.15
可用IP范围: 192.168.1.81 ~ 192.168.1.94
可用主机数: 14
广播地址: 192.168.1.95
【VLAN40-预留】
网络地址: 192.168.1.96/27
子网掩码: 255.255.255.224
通配符掩码: 0.0.0.31
可用IP范围: 192.168.1.97 ~ 192.168.1.126
可用主机数: 30
广播地址: 192.168.1.127
============================================================
规划完成!
============================================================
五、交换机和路由器配置(华为/H3C版)
规划好了,接下来就是配置设备了。我用华为/H3C的设备来演示。
5.1 创建VLAN并划分端口
# 进入系统视图
<Huawei> system-view
[Huawei] sysname NetCore
# 创建VLAN
[NetCore] vlan batch 10 20 30 40
# 进入交换机接口G0/0/1,划入VLAN10(办公网)
[NetCore] interface GigabitEthernet 0/0/1
[NetCore-GigabitEthernet0/0/1] port link-type access
[NetCore-GigabitEthernet0/0/1] port default vlan 10
[NetCore-GigabitEthernet0/0/1] quit
# 进入交换机接口G0/0/2,划入VLAN20(会议室)
[NetCore] interface GigabitEthernet 0/0/2
[NetCore-GigabitEthernet0/0/2] port link-type access
[NetCore-GigabitEthernet0/0/2] port default vlan 20
[NetCore-GigabitEthernet0/0/2] quit
# 进入交换机接口G0/0/3,划入VLAN30(服务器)
[NetCore] interface GigabitEthernet 0/0/3
[NetCore-GigabitEthernet0/0/3] port link-type access
[NetCore-GigabitEthernet0/0/3] port default vlan 30
[NetCore-GigabitEthernet0/0/3] quit
# 进入交换机接口G0/0/4,划入VLAN40(预留)
[NetCore] interface GigabitEthernet 0/0/4
[NetCore-GigabitEthernet0/0/4] port link-type access
[NetCore-GigabitEthernet0/0/4] port default vlan 40
[NetCore-GigabitEthernet0/0/4] quit
5.2 配置SVI接口(三层交换机)
# 配置VLAN10的网关
[NetCore] interface Vlanif 10
[NetCore-Vlanif10] ip address 192.168.1.1 255.255.255.192
[NetCore-Vlanif10] quit
# 配置VLAN20的网关
[NetCore] interface Vlanif 20
[NetCore-Vlanif20] ip address 192.168.1.65 255.255.255.240
[NetCore-Vlanif20] quit
# 配置VLAN30的网关
[NetCore] interface Vlanif 30
[NetCore-Vlanif30] ip address 192.168.1.81 255.255.255.240
[NetCore-Vlanif30] quit
# 配置VLAN40的网关(预留)
[NetCore] interface Vlanif 40
[NetCore-Vlanif40] ip address 192.168.1.97 255.255.255.224
[NetCore-Vlanif40] quit
5.3 配置ACL实现VLAN间隔离
这才是老板最想要的——办公网和会议室完全隔离!
# 创建ACL,禁止VLAN20(会议室)访问VLAN10(办公网)
[NetCore] acl 3000
[NetCore-acl-adv-3000] rule deny source 192.168.1.64 0.0.0.15 destination 192.168.1.0 0.0.0.63
[NetCore-acl-adv-3000] rule permit ip
# 应用到VLAN20的入方向
[NetCore] interface Vlanif 20
[NetCore-Vlanif20] acl 3000 inbound
[NetCore-Vlanif20] quit
# 创建ACL,禁止VLAN20(会议室)访问VLAN30(服务器)
[NetCore] acl 3001
[NetCore-acl-adv-3001] rule deny source 192.168.1.64 0.0.0.15 destination 192.168.1.80 0.0.0.15
[NetCore-acl-adv-3001] rule permit ip
# 应用到VLAN20的入方向
[NetCore] interface Vlanif 20
[NetCore-Vlanif20] acl 3001 inbound
[NetCore-Vlanif20] quit
# 创建ACL,禁止VLAN10(办公网)访问VLAN30(服务器)
[NetCore] acl 3002
[NetCore-acl-adv-3002] rule deny source 192.168.1.0 0.0.0.63 destination 192.168.1.80 0.0.0.15
[NetCore-acl-adv-3002] rule permit ip
# 应用到VLAN10的入方向
[NetCore] interface Vlanif 10
[NetCore-Vlanif10] acl 3002 inbound
[NetCore-Vlanif10] quit
5.4 配置NAT让内网能上网
# 配置ACL,允许所有内网访问外网
[NetCore] acl 2000
[NetCore-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[NetCore-acl-basic-2000] quit
# 在出接口(连接外网的接口)配置NAT
[NetCore] interface GigabitEthernet 0/0/24
[NetCore-GigabitEthernet0/0/24] nat outbound 2000
[NetCore-GigabitEthernet0/0/24] quit
# 配置默认路由
[NetCore] ip route-static 0.0.0.0 0.0.0.0 192.168.0.1
六、完整的网络拓扑图
┌─────────────────┐
│ 外网 (Internet) │
└────────┬────────┘
│
┌─────────────▼─────────────┐
│ 路由器/防火墙 │
│ (NAT + 默认路由) │
└─────────────┬─────────────┘
│
┌─────────────▼─────────────┐
│ 三层交换机 │
│ │
│ ┌─────────────────────┐ │
│ │ VLAN 10 - 办公网 │ │
│ │ 192.168.1.0/26 │ │
│ │ 网关: 192.168.1.1 │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ VLAN 20 - 会议室 │ │
│ │ 192.168.1.64/28 │ │
│ │ 网关: 192.168.1.65│ │
│ │ (与办公网隔离) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ VLAN 30 - 服务器 │ │
│ │ 192.168.1.80/28 │ │
│ │ 网关: 192.168.1.81│ │
│ │ (仅管理员可访问) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ┌──────────▼──────────┐ │
│ │ VLAN 40 - 预留 │ │
│ │ 192.168.1.96/27 │ │
│ │ 网关: 192.168.1.97│ │
│ └─────────────────────┘ │
└───────────────────────────┘
七、常见问题解答(新人必看)
Q1:/24、/25、/26是什么意思?
这是CIDR表示法,告诉你的子网掩码有多少位是网络部分。
/24 = 255.255.255.0 → 256个IP,254个可用
/25 = 255.255.255.128 → 128个IP,126个可用
/26 = 255.255.255.192 → 64个IP,62个可用
/27 = 255.255.255.224 → 32个IP,30个可用
/28 = 255.255.255.240 → 16个IP,14个可用
/29 = 255.255.255.248 → 8个IP,6个可用
/30 = 255.255.255.252 → 4个IP,2个可用
Q2:为什么会议室和办公网要隔离?
- 安全:防止会议室的人访问办公网资源
- 性能:避免会议室的大流量影响办公网
- 合规:很多公司要求访客网络独立
Q3:IP地址不够用怎么办?
- 换更大的地址段(比如从192.168.1.0换成10.0.0.0)
- 用更小的子网掩码(比如把/28改成/27)
- 使用私有地址+公网NAT
Q4:如何检查VLAN划分是否正确?
# 华为设备查看VLAN信息
display vlan
# 查看接口所属VLAN
display port vlan interface GigabitEthernet 0/0/1
# 查看SVI接口配置
display interface Vlanif 10
# 查看ACL规则
display acl 3000
八、给你的建议(老鸟心得)
- 永远先规划再动手——花30分钟规划,比花3小时救火强
- 留点余量——别把IP全用光,将来肯定要扩容
- 做好文档——用Excel或工具记录每个VLAN的用途,将来好维护
- 备份配置——每次改完配置都备份一下,出问题能回滚
好了,今天的内容就到这里。记住:网络规划不是玄学,是有方法可循的。用好IP网段计算器,掌握VLAN划分技巧,你也能成为公司里的网络大神。
如果有问题,欢迎随时问我!祝你在网络工程这条路上越走越顺 🚀
