每次打开家里的路由器管理页面,你肯定见过192.168.1.1这样的地址。这种地址就像小区里的门牌号,只在你们小区内部有效,出了小区就没人认了。这就是典型的私有IP地址,它的设计初衷要追溯到1996年的RFC 1918标准。
当时互联网爆炸式增长,工程师们发现公共IP地址根本不够用。想象一下,如果每个手机、电脑、智能灯泡都要全球唯一的IP地址,IPv4的43亿地址早被耗尽了。于是他们划出了三个"自留地":
注意:CIDR表示法里的"/8"就像切蛋糕,数字越小分的块越大。10.0.0.0/8表示前8位固定,后24位可变,所以地址量=2²⁴。
公网IP就像手机号码,全球唯一且可以直接通信。而私有IP就像公司分机号,必须通过总机(NAT设备)转接。这个边界由互联网运营商严格把控——所有私有IP段的流量在公网上都会被直接丢弃。
我遇到过个典型案例:某公司把服务器设为172.32.1.1(紧挨着私有段172.31.255.255),结果内网能访问,外网死活连不上。这就是因为172.32.x.x已经是公网IP段,但该公司并没有这个地址的所有权,导致内外网通信全乱套。
公网IP的分配也有门道:
实际使用中,ISP通常采用动态分配策略。比如你家宽带每次拨号获得的公网IP可能都不同(除非申请了固定IP业务),而云服务器一般需要单独购买弹性公网IP。
NAT(网络地址转换)就像公司的前台小姐姐,她做了三件关键事:
具体实现分几种类型:
用Linux的iptables实现SNAT的命令示例:
bash复制iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 203.0.113.1
这条规则的意思是:把来自192.168.1.0/24网段的流量,通过eth0网卡发出时,源地址改为203.0.113.1。
家庭网络配置方案
建议采用192.168.1.0/24这个子网:
企业级网络规划
推荐采用10.0.0.0/8进行分层设计:
code复制总部:10.1.0.0/16
├─财务部:10.1.1.0/24
├─研发部:10.1.2.0/24
└─分支机构:10.2.0.0/16
记得在核心交换机上配置ACL,比如禁止研发网段直接访问财务网段。
云上VPC设计
以AWS为例最佳实践是:
曾经给客户部署视频监控系统时,犯了个低级错误:摄像头用了192.168.0.0/24网段,NVR用了192.168.1.0/24,结果录像机死活发现不了摄像头。后来才明白,虽然都在192.168.x.x这个大段里,但不同子网需要路由器才能互通。
另一个常见问题是IP地址冲突。有次办公室突然断网,最后发现是新来的同事手动设置了192.168.1.100,和总经理的笔记本IP撞车了。所以现在我都建议:
对于需要远程访问的情况,建议用DDNS+端口映射的组合拳。比如在家用NAS上开5000端口,然后在路由器做DNAT:
bash复制iptables -t nat -A PREROUTING -d 203.0.113.1 -p tcp --dport 5000 -j DNAT --to-destination 192.168.1.100:5000