ubuntu 实现三层交换机的VLAN功能

本文详细介绍了如何在Linux中配置VLAN,包括安装支持软件、加载模块、建立网络端口、设置IP、开启路由功能以及检查路由正确性等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文来源:http://home.lupaworld.com/home.php?mod=space&uid=24775&do=blog&id=64389
一、首先,安装vlan支持软件包
#apt-get install vlan


二、加载 802.1q 模块
#modprobe 8021q


三、建立两个vlan,可以在一个网络 接口建立,以做单臂路由,也可以分开两个网络接口建立。
#vconfig add eth0 2
#vconfig add eth0 3 
在eth0上建立vlan2 和 vlan3 
或者
#vconfig add eth0 2
#vconfig add eth1 3
在eth0 上建立vlan2,在eth1 上建立vlan3


四、为网络端口设置IP
#ifconfig eth0 0.0.0.0 up
#ifconfig eth2.222 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0 up
#ifconfig eth0.3 192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0 up
or
#ifconfig eth0 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0 up
#ifconfig eth1 192.168.1.1 broadcast 192.168.1.255 netmask 255.255.255.0 up
五、开启路由功能
#echo 1 > /proc/sys/net/ipv4/ip_forward
#vim /etc/sysctl.conf
#net.ipv4.conf.default.forwarding=1
#sysctl -p


六、 将交换机端口划分VLAN,再接入LINUX网络接口就OK了!


七、检查路由正确与否,没有自动生成的手动加上


#route add -net 192.168.0.0 netmask 255.255.255.0 gw eth0.2
#route add -net 192.168.1.0 netmask 255.255.255.0 gw eth0.3
or
#route add -net 192.168.0.0 netmask 255.255.255.0 gw eth0
#route add -net 192.168.1.0 netmask 255.255.255.0 gw eth1
OK!ALL THING IS ALL RIGHT!






 在eth0接口配置两个vlan  如果没有加载模块会自动加载8021q模块
1.添加vlan
vconfig add eth0 11
vconfig add eth0 21


2.设置参数 REORDER_HDR (默认就是)
vconfig set_flag eth0.11 1 1
vconfig set_flag eth0.21 1 1


2.查看一下
cat /proc/net/vlan/eth0.11
cat /proc/net/vlan/eth0.21




3.手工切换 这时需要更改交换机配置
ifdown eth0;ifup eth0;ifup eth0.11;ifup eth0.21
4.设置下次启动自动加载 8021q 模块
echo VLAN=yes >> /etc/sysconfig/network


5.删除VLAN
vconfig rem eth2.2


6.set_flag [VLAN的设备] 0 | 1
1时,以太网报头重新排序已打开。 转储设备将显示为一个没有共同的VLAN的以太网设备。 当0(默认),然而,以太网标题不重新排序,从而导致在VLAN标签的数据包时,倾倒装置。 通常的过失,没有问题,但一些包过滤程序可能有它的问题。
set_egress_map [VLAN的设备] [新光优先] [VLAN和QoS的] 这标志出站优先级数据包与一个特定的skb的,应当将与特定的VLAN优先权VLAN的服务质量。 缺省VLAN优先级为0。
set_ingress_map [VLAN的设备] [新光优先] [VLAN和QoS的] 这标志,QoS的入站数据包与特定的VLAN优先级排队的VLAN应该与特定的skb的优先级。 默认新光优先级为0。
set_name_type VLAN_PLUS_VID | VLAN_PLUS_VID_NO_PAD | DEV_PLUS_VID | DEV_PLUS_VID_NO_PAD 创建方式设置VLAN的设备名称。 不带参数使用vconfig的看到不同的格式。
7.
Expecting argc to be 3-5, inclusive.  Was: 1


Usage: add             [interface-name] [vlan_id]
       rem             [vlan-name]
       set_flag        [interface-name] [flag-num]       [0 | 1]
       set_egress_map  [vlan-name]      [skb_priority]   [vlan_qos]
       set_ingress_map [vlan-name]      [skb_priority]   [vlan_qos]
       set_name_type   [name-type]


* The [interface-name] is the name of the ethernet card that hosts
  the VLAN you are talking about.
* The vlan_id is the identifier (0-4095) of the VLAN you are operating on.
* skb_priority is the priority in the socket buffer (sk_buff).
* vlan_qos is the 3 bit priority in the VLAN header
* name-type:  VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
              DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
* FLAGS:  1 REORDER_HDR  When this is set, the VLAN device will move the
            ethernet header around to make it look exactly like a real
            ethernet device.  This may help programs such as DHCPd which
            read the raw ethernet packet and make assumptions about the
            location of bytes.  If you don't need it, don't turn it on, because
            there will be at least a small performan
其中,TCI是Tag Control Info的缩写,2字节。当设置为“8100”(hex)时,表明这一帧使用802.1p和802.1q标记;P是Priority,指示802.1p的优先级别(0~7),占用3位;C是Canonical Indicator,指示以太网格式是否规范,规范用0表示,否则用1表示,占用1位;VLAN是VLAN Identifier(VID),表明这一帧属于哪一个VLAN(0~4095),占用12位。它们加在一起共4个字节以上为一些Vconfig 的用用法,在linux 移植时,只要在LINUX config 时,在网络配置时,加载一下8021Q模块就OK了
<think>我们正在讨论网络交换机的接线方法。根据用户的问题,他们想了解交换机如何接线,包括步骤和方法。结合之前的引用内容,我们可以总结出以下关键点: 1. 引用[1]提到两台主机通过网线与交换机相连,并指定了主机A和主机B的网卡接口名称。 2. 引用[2]强调交换机的连接方法会影响网络性能和稳定性。 3. 引用[3]提供了一个具体的车载以太网交换机的接线示例,包括连接步骤和初始化过程。 4. 引用[4]则说明了交换机连接中带宽分配的问题。 因此,我们可以将交换机的接线步骤归纳如下: ### 交换机接线的基本步骤 1. **准备设备**:确保有交换机、主机(如计算机、服务器等)以及合适的网线(如Cat5e、Cat6等)。同时,确认主机和交换机的网卡接口类型(如RJ45)和速率(如千兆、百兆)匹配。 2. **物理连接**: - 将网线的一端插入主机的网卡接口(如主机A的`ens1f1`接口)。 - 将网线的另一端插入交换机的任意一个端口(如Port 1)。 - 重复以上步骤连接其他主机(如主机B的`ens2f1`接口连接到交换机的Port 2)。 3. **交换机初始化**(如引用[3]所述): - 给交换机上电(通常使用配套的电源适配器,如12V电源)。 - 观察交换机的指示灯:通常会有电源灯(Power)、初始化灯(Init)和运行灯(RUN)。初始化完成后,Init灯会熄灭,RUN灯常亮表示交换机已就绪。 4. **配置主机网络**(如果需要): - 在主机操作系统中(如Ubuntu),配置网络接口的IP地址、子网掩码等参数。由于交换机工作在数据链路层(二层),如果仅需要局域网通信,可以不设置默认网关。 - 例如,在Ubuntu中,可以通过`netplan`或`ifconfig`命令配置IP地址: ```bash # 临时配置(重启后失效) sudo ifconfig ens1f1 192.168.1.2 netmask 255.255.255.0 up ``` 或者使用`ip`命令: ```bash sudo ip addr add 192.168.1.2/24 dev ens1f1 sudo ip link set ens1f1 up ``` 5. **测试连通性**: - 使用`ping`命令测试主机之间的连通性。例如,在主机A上执行: ```bash ping 192.168.1.3 # 假设主机B的IP地址是192.168.1.3 ``` ### 注意事项 - **带宽匹配**(引用[4]):如果交换机包含不同速率的端口(如百兆、千兆、万兆),则整个链路的带宽将受限于最慢的环节。例如,千兆端口通过百兆端口连接到万兆端口时,实际带宽只有百兆。 - **端口模式配置**(引用[3]):某些特殊交换机(如车载以太网交换机)可能需要配置端口模式(Master/Slave)。一般情况下,普通以太网交换机无需额外配置。 - **交换机层级**:如果网络中有多个交换机,通常采用星型拓扑,即所有交换机都连接到核心交换机。避免形成环路(可使用STP协议防止环路)。 ### 示例场景 假设有两台Ubuntu主机(A和B)和一台普通千兆交换机。接线步骤如下: 1. 用两根网线分别连接主机A的网口(如`ens1f1`)到交换机的Port1,主机B的网口(如`ens2f1`)到交换机的Port2。 2. 给交换机上电,等待指示灯正常(Init灯灭,RUN灯常亮)。 3. 配置主机A的IP地址为`192.168.1.2/24`,主机B的IP地址为`192.168.1.3/24`。 4. 在主机A上执行`ping 192.168.1.3`,测试连通性。 ### 常见问题 - **无法连通**:检查网线是否损坏(可更换网线测试)、交换机电源是否正常、主机网卡是否启用(`ip link show`查看状态)。 - **速度慢**:检查端口速率是否匹配(如千兆网线连接百兆端口会导致降速)。 ### 总结 交换机接线主要涉及物理连接和主机网络配置。普通交换机即插即用,无需配置。但在特殊场景(如工业交换机)或需要划分VLAN等高级功能时,需进入交换机管理界面进行配置。 §§相关问题§§ 1. 交换机连接后主机之间无法通信,如何排查? 2. 如何配置交换机VLAN实现不同网段的主机隔离? 3. 交换机的级联和堆叠有什么区别? 4. 在什么情况下需要配置交换机的端口模式(Master/Slave)?</think>### 交换机接线方法详解 交换机接线是构建局域网的基础操作,以下是标准接线步骤和注意事项: #### 一、基础接线步骤 1. **设备准备** - 交换机(确认端口类型:百兆/千兆/万兆) - 主机设备(电脑/服务器等) - 网线(Cat5e/Cat6等,需匹配端口速率) 2. **物理连接** ```mermaid graph LR A[主机A网卡] -- 网线 --> C[交换机端口1] B[主机B网卡] -- 网线 --> C[交换机端口2] ``` - 将网线一端插入主机网卡(如主机A的`ens1f1`接口) - 另一端插入交换机任意端口(普通端口无需区分顺序) 3. **设备上电** - 连接交换机电源(如12V适配器) - 观察指示灯: - 黄色Init灯亮 → 初始化中 - 绿色RUN灯常亮 → 就绪状态(Init灯灭)[^3] 4. **网络配置** ```bash # Ubuntu主机配置示例(主机A) sudo ip addr add 192.168.1.10/24 dev ens1f1 sudo ip link set ens1f1 up ``` - 为两台主机设置同网段IP(如`192.168.1.10`和`192.168.1.20`) - 子网掩码需一致(如`/24`) 5. **连通性测试** ```bash ping 192.168.1.20 # 在主机A执行 ``` - 成功返回:`64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.2ms` #### 二、关键注意事项 1. **带宽匹配原则** - 当连接不同速率端口时,**实际带宽受最慢环节限制** - 例如:千兆端口 → 百兆端口 → 万兆设备,实际带宽仅100Mbps[^4] 2. **端口模式配置** - 特殊场景(如工业交换机)需设置Master/Slave模式: - 若目标设备是Master,交换机端口设为Slave - 反之亦然[^3] 3. **网线选择指南** | 端口速率 | 推荐网线类型 | 最大传输距离 | |----------|--------------|--------------| | 100Mbps | Cat5e | 100米 | | 1Gbps | Cat6 | 100米 | | 10Gbps | Cat6a | 55米 | #### 三、故障排查 1. **指示灯异常** - 电源灯不亮:检查电源适配器 - RUN灯闪烁:正常数据传输中 - 端口灯不亮:重新插拔网线或更换端口 2. **无法Ping通** - 检查项: 1. IP地址是否同网段 2. 网卡是否启用(`ip link show`) 3. 网线是否损坏(尝试更换) > **重要提示**:在纯局域网环境(无互联网接入)中,交换机无需额外配置即可实现主机间通信,但需确保主机间防火墙允许ICMP协议[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值