公网网卡和私网网卡
什么是网卡?公网网卡和私网网卡有什么区别?
在云服务器、企业网络架构中,经常会看到:
- 网卡(NIC)
- 公网网卡
- 私网网卡
- ENI(弹性网卡)
- 内网 IP
- 公网 IP
很多人容易混淆。
先记一句话:
网卡是服务器连接网络的接口,公网网卡负责连接互联网,私网网卡负责连接内部网络。
一、什么是网卡(NIC)?
网卡:
Network Interface Card(网络接口卡)
简单理解:
网卡就是服务器的“网络插座”。
电脑想联网,需要网卡。
例如:
服务器 CPU / 内存 / 硬盘 │ 网卡 │ 网络网卡负责:
- 发送数据
- 接收数据
- MAC 地址管理
- 网络通信
一个服务器可以有多个网卡吗?
可以。
例如:
普通电脑:
网卡1 ↓ WiFi服务器:
网卡1 ↓ 公网 网卡2 ↓ 内网甚至:
服务器 ├── eth0 公网网卡 ├── eth1 私网网卡 └── eth2 管理网卡二、公网网卡是什么?
公网网卡:
顾名思义:
连接互联网的网卡。
例如:
服务器:
公网 IP: 120.55.xxx.xxx用户:
浏览器 | | Internet | | 服务器公网网卡用途:
- 网站访问
- API 服务
- SSH 登录
- 对外提供服务
例如:
你的 App 请求:
https://api.xxx.com最终:
手机 | 公网 | 服务器公网网卡 | 后端服务三、私网网卡是什么?
私网网卡:
也叫:
- 内网网卡
- 内部网络接口
只用于内部通信。
例如:
企业内部:
服务器A 10.0.1.10 服务器B 10.0.1.20它们之间:
A <----> B不经过互联网。
四、公网网卡 vs 私网网卡
| 公网网卡 | 私网网卡 | |
|---|---|---|
| 连接 | Internet | 内部网络 |
| IP | 公网 IP | 私有 IP |
| 是否暴露外网 | 是 | 否 |
| 速度 | 受公网影响 | 内网高速 |
| 安全 | 较低 | 较高 |
| 用途 | 用户访问 | 服务通信 |
五、为什么服务器需要两个网卡?
典型生产环境:
用户 | | Internet | | 公网网卡 | Web服务器 | 私网网卡 | ---------------- | | Redis MySQL原因:
1. 安全隔离
数据库:
不应该:
公网 | MySQL否则:
攻击者可能扫描数据库端口。
正确:
公网 ↓ Web服务器 ↓ 内网 ↓ 数据库2. 性能更好
公网:
可能经过:
- ISP
- 路由
- 防火墙
内网:
通常:
服务器A ↓ 交换机 ↓ 服务器B延迟更低。
六、云服务器里的网卡是什么?
以云服务器为例。
例如阿里云 ECS:
一台机器:
ECS ├── 主网卡 │ ├── 私网 IP │ └── 公网 IP(映射)很多时候:
公网 IP 不一定真正绑定在网卡上。
可能是:
公网IP ↓ NAT映射 ↓ 私网网卡例如:
用户访问: 8.8.8.8 云平台转换: 8.8.8.8 ↓ 10.0.1.10七、ENI(弹性网卡)是什么?
云厂商经常提:
ENI:
Elastic Network Interface
本质:
可以动态挂载到云服务器的网卡。
例如:
服务器:
ECS1 网卡A 10.0.1.10后来:
需要增加:
网卡B 10.0.2.20不用换机器。
直接挂载。
用途:
- 多 IP
- 网络隔离
- 高可用
- 多业务绑定
八、实际互联网公司架构
一个常见架构:
用户 | Internet | | 公网网卡 | SLB | ECS | 私网网卡 | ---------------- | | Redis RDS解释:
公网网卡:
负责:
用户 -> 网站私网网卡:
负责:
服务 -> 数据库 服务 -> Redis 服务 -> MQ九、和前面几个概念串起来
你前面问过:
- WAF
- SLB
- 前置机
- 堡垒机
- 网闸
整个链路可能是:
用户 | | 公网 | CDN | WAF | SLB | 公网网卡 | Web服务器 | 私网网卡 | 数据库 / Redis运维:
管理员 | 堡垒机 | 管理网卡 | 服务器总结
记住这几个概念:
| 名称 | 理解 |
|---|---|
| 网卡 | 服务器连接网络的接口 |
| 公网网卡 | 对外提供服务,连接互联网 |
| 私网网卡 | 内部服务通信,不暴露公网 |
| ENI | 云上的可插拔网卡 |
| 公网 IP | 外部访问地址 |
| 私网 IP | 内部通信地址 |
一句话:
公网网卡负责“别人找到你”,私网网卡负责“你的系统之间互相通信”。生产环境通常让公网只接触 Web 层,而数据库、缓存等核心服务全部走私网。
