您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# CentOS/RHEL系统中如何使用带VLAN标记的以太网卡
## 一、VLAN技术概述
### 1.1 VLAN的基本概念
虚拟局域网(VLAN)是一种通过逻辑方式而非物理方式划分局域网的技术。它允许网络管理员将一个物理网络划分为多个独立的广播域,主要特点包括:
- 基于端口、MAC地址或协议划分
- 802.1Q标准实现跨交换机的VLAN通信
- 有效减少广播风暴,提高网络安全性
### 1.2 VLAN标记原理
当数据帧通过支持VLAN的交换机时,会在标准以太网帧头部插入4字节的VLAN标签(802.1Q标签),包含:
- 12位VLAN ID(有效范围1-4094)
- 3位优先级代码点(QoS)
- 1位规范格式指示器
## 二、环境准备
### 2.1 硬件要求
- 支持VLAN的物理网卡(现代网卡普遍支持)
- 支持802.1Q的交换机
- 已配置正确的交换机端口(Trunk模式)
### 2.2 软件要求
- CentOS/RHEL 7或更新版本
- root权限
- NetworkManager服务(推荐)或network-scripts
## 三、配置方法
### 3.1 临时配置(测试用)
#### 使用ip命令创建临时VLAN接口:
```bash
# 加载8021q模块
modprobe 8021q
# 创建VLAN接口
ip link add link eth0 name eth0.100 type vlan id 100
# 启用接口并配置IP
ip link set eth0.100 up
ip addr add 192.168.100.10/24 dev eth0.100
ip -d link show eth0.100
# 应显示类似信息:
# 25: eth0.100@eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state UP
# link/ether 00:1c:42:aa:bb:cc brd ff:ff:ff:ff:ff:ff promiscuity 0
# vlan protocol 802.1Q id 100 <REORDER_HDR>
nmcli con add type vlan con-name eth0-vlan100 ifname eth0.100 dev eth0 id 100
nmcli con mod eth0-vlan100 ipv4.addresses 192.168.100.10/24
nmcli con mod eth0-vlan100 ipv4.gateway 192.168.100.1
nmcli con mod eth0-vlan100 ipv4.dns "8.8.8.8"
nmcli con mod eth0-vlan100 ipv4.method manual
nmcli con up eth0-vlan100
vi /etc/sysconfig/network-scripts/ifcfg-eth0.100
DEVICE=eth0.100
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
VLAN=yes
PHYSDEV=eth0
systemctl restart network
# 创建第二个VLAN接口
nmcli con add type vlan con-name eth0-vlan200 ifname eth0.200 dev eth0 id 200
nmcli con modify eth0-vlan100 vlan.priority 3
# 先创建绑定接口
nmcli con add type bond con-name bond0 ifname bond0 mode active-backup
# 再创建VLAN接口
nmcli con add type vlan con-name bond0-vlan100 ifname bond0.100 dev bond0 id 100
检查项: “`bash
cat /proc/net/vlan/eth0.100
# 检查交换机配置 show vlan brief # 在交换机执行
# 检查防火墙 firewall-cmd –list-all
#### 问题2:VLAN接口无法启动
- 排查步骤:
1. 检查内核模块:
```bash
lsmod | grep 8021q
```
2. 查看日志:
```bash
journalctl -xe
```
3. 验证物理网卡状态:
```bash
ethtool eth0
```
### 4.2 诊断工具
#### tcpdump抓包分析
```bash
tcpdump -i eth0 -nn -e vlan
dmesg | grep -i vlan
# 检查是否支持硬件VLAN加速
ethtool -k eth0 | grep vlan
# 启用硬件加速
ethtool -K eth0 rx-vlan-offload on tx-vlan-offload on
# 为VLAN接口配置独立中断
echo 2 > /proc/irq/$(cat /proc/interrupts | grep eth0 | awk '{print $1}' | tr -d :)/smp_affinity
ip link set eth0.100 mtu 9000 # 需交换机支持Jumbo Frame
VLAN跳跃攻击防护:
echo "install 8021q /bin/true" >> /etc/modprobe.d/disable_dynamic_trunk.conf
访问控制:
# 使用firewalld限制VLAN访问
firewall-cmd --permanent --zone=internal --add-interface=eth0.100
日志监控:
# 监控VLAN接口状态变化
auditctl -w /etc/sysconfig/network-scripts/ifcfg-eth0.100 -p wa -k network_config_change
命令 | 功能 |
---|---|
ip -d link show |
显示VLAN详细信息 |
nmcli con show |
查看NetworkManager连接 |
cat /proc/net/vlan/config |
查看内核VLAN配置 |
注意:本文基于RHEL 8/CentOS 8编写,部分命令在早期版本中可能略有不同。生产环境建议先进行测试验证。 “`
这篇文章结构完整,包含了从基础概念到实际操作的全面内容,采用Markdown格式便于阅读和维护。需要调整内容细节或补充特定场景时,可以进一步扩展相关章节。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。