目录
Netplan VLAN 配置手册
一、基础概念
1.1 VLAN 在 Netplan 中的角色
VLAN 允许单个物理接口承载多个逻辑网络接口,每个逻辑接口具有独立的 IP 配置和网络策略。
1.2 配置前提
- 物理接口已正确连接
- 交换机/路由器已配置相应 VLAN
- 知道正确的 VLAN ID、IP 地址、网关等信息
二、配置语法
2.1 基本结构
network:
version: 2
renderer: networkd # 或 NetworkManager
ethernets:
<物理接口名>:
dhcp4: false
# 注意:物理接口通常不配置IP地址
vlans:
<VLAN接口名>:
id: <VLAN_ID>
link: <物理接口名>
addresses:
- <IP地址/前缀>
# 其他可选配置
2.2 命名约定
VLAN 接口名通常使用格式:物理接口名.VLAN_ID
示例:eth0.100、enp3s0.200
三、配置示例
3.1 单 VLAN 配置
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
# 物理接口不配IP
vlans:
eth0.100:
id: 100
link: eth0
addresses:
- 192.168.100.10/24
routes:
- to: default
via: 192.168.100.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
3.2 多 VLAN 配置
network:
version: 2
ethernets:
eth1:
dhcp4: false
vlans:
# VLAN 10 - 管理网络
eth1.10:
id: 10
link: eth1
addresses:
- 10.0.10.50/24
# VLAN 20 - 业务网络
eth1.20:
id: 20
link: eth1
addresses:
- 172.16.20.100/24
routes:
- to: 172.16.0.0/16
via: 172.16.20.1
# VLAN 30 - 存储网络
eth1.30:
id: 30
link: eth1
addresses:
- 192.168.30.50/24
3.3 混合配置(物理接口 + VLAN)
network:
version: 2
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.1.100/24 # 物理接口IP
routes:
- to: default
via: 192.168.1.1
eth1:
dhcp4: false # 仅用于VLAN
vlans:
eth1.100:
id: 100
link: eth1
addresses:
- 10.10.100.50/24
四、完整配置参数
4.1 VLAN 专用参数
vlans:
<接口名>:
id: <VLAN_ID> # 必须,1-4094
link: <物理接口> # 必须,父接口名
# IP配置
addresses: [] # IP地址列表
gateway4: <网关地址> # IPv4默认网关(较新版本)
gateway6: <网关地址> # IPv6默认网关
# 路由配置
routes:
- to: <目标网络> # 如: 0.0.0.0/0 或 10.0.0.0/8
via: <网关地址> # 下一跳地址
metric: <跃点数> # 可选,默认100
table: <路由表> # 可选
# DNS配置
nameservers:
addresses: []
search: []
# DHCP
dhcp4: true/false
dhcp6: true/false
# MTU
mtu: <数值>
# 其他
accept-ra: true/false # 接受路由通告
critical: true/false # 关键连接
4.2 路由优先级控制
vlans:
eth0.100:
id: 100
link: eth0
addresses:
- 192.168.100.10/24
routes:
- to: default
via: 192.168.100.1
metric: 100 # 较高metric,优先级低
- to: 10.0.0.0/8
via: 192.168.100.1
metric: 50 # 较低metric,优先级高
五、实际应用案例
5.1 服务器多网段访问
# 场景:Web服务器需要访问多个内部网络
network:
version: 2
ethernets:
enp3s0:
dhcp4: false
vlans:
# 互联网出口
enp3s0.10:
id: 10
link: enp3s0
addresses:
- 203.0.113.100/24
routes:
- to: default
via: 203.0.113.1
# 数据库网络
enp3s0.20:
id: 20
link: enp3s0
addresses:
- 10.10.20.100/24
# 存储网络
enp3s0.30:
id: 30
link: enp3s0
addresses:
- 172.16.30.100/24
routes:
- to: 172.16.30.0/24
via: 172.16.30.1
5.2 虚拟化主机配置
# 场景:KVM/QEMU宿主机
network:
version: 2
ethernets:
bond0:
dhcp4: false
vlans:
# 管理网络
bond0.100:
id: 100
link: bond0
addresses:
- 192.168.100.10/24
# 虚拟机业务网络
bond0.200:
id: 200
link: bond0
addresses:
- 10.10.200.1/24
# 存储网络
bond0.300:
id: 300
link: bond0
addresses:
- 172.16.100.10/24
mtu: 9000 # Jumbo frames for storage
六、操作命令
6.1 配置应用
# 测试配置语法(测试90秒,按Enter接受)
sudo netplan try
# 直接应用配置
sudo netplan apply
# 生成配置到系统目录
sudo netplan generate
6.2 状态检查
# 查看所有网络接口
ip addr show
# 查看VLAN接口详情
ip -d link show <接口名>
# 查看路由表
ip route show
route -n
# 测试连通性
ping -I <VLAN接口> <目标IP>
# 查看数据包流向
ip route get <目标IP>
6.3 故障排查
# 查看Netplan日志
sudo journalctl -u systemd-networkd
# 查看网络设备状态
networkctl status
# 查看特定接口
networkctl status eth0.100
七、注意事项
7.1 配置要点
- VLAN ID必须匹配:Netplan中的id必须与交换机配置一致
- 物理接口不配IP:VLAN的父接口通常不配置IP地址
- 命名规范:建议使用
ethX.YYY格式命名 - 默认路由:系统只能有一个活动的默认路由
7.2 常见错误
# 错误:物理接口和VLAN接口都配置IP
eth0:
addresses: [192.168.1.100/24] # 错误
vlans:
eth0.100:
addresses: [192.168.100.10/24]
# 正确:物理接口不配IP
eth0:
dhcp4: false # 正确,不配IP
vlans:
eth0.100:
addresses: [192.168.100.10/24]
7.3 配置顺序
- 获取网络规划信息(VLAN ID、IP、网关等)
- 确认交换机端口已配置为Trunk模式
- 编写Netplan配置文件
- 使用
netplan try测试 - 应用配置并验证连通性
八、最佳实践
8.1 配置文件管理
# 建议的配置文件位置
/etc/netplan/01-primary-vlan.yaml
/etc/netplan/02-secondary-vlans.yaml
# 文件命名建议
# 使用数字前缀控制应用顺序
# 使用描述性名称
8.2 版本控制
# 在配置文件中添加注释说明
network:
version: 2
# 配置文件:prod-server-vlans.yaml
# 创建日期:2024-01-15
# 用途:生产服务器VLAN配置
# VLAN规划:
# - 100: 管理网络 (10.10.100.0/24)
# - 200: 业务网络 (192.168.200.0/24)
# - 300: 备份网络 (172.16.30.0/24)
8.3 备份与恢复
# 备份当前配置
sudo cp /etc/netplan/*.yaml ~/netplan-backup/
# 快速恢复
sudo cp ~/netplan-backup/*.yaml /etc/netplan/
sudo netplan apply
浙公网安备 33010602011771号