在此详细的教程中,我们将了解VLAN标签是什么,其优点和用例以及如何在Linux操作系统中配置VLAN标记。
在Linux中配置VLAN标记涉及创建虚拟LAN,分配VLAN ID并根据需要配置IP地址。我们将在即将到来的部分中看到如何以三种不同的方式做到这一点。但是在此之前,让我们了解什么是VLAN标记,其优势和模式。
目录
什么是VLAN标签?
虚拟LAN(VLAN)标记是一种网络技术,可让您从逻辑上将物理网络分为多个虚拟网络或VLAN。
VLAN标签在数据链路层(第2层)的以太网帧中添加了一个特殊的标签,以识别特定框架所属的VLAN。此标签使您能够隔离网络流量并提高网络安全性,效率和可管理性。
用外行的话说这一点,请想象您有一个有很多房间的大房子,您想将房子分为不同的部分出于不同的目的。
例如,您可能有一个客厅供每个人闲逛,一个厨房烹饪,睡觉的卧室和洗澡的浴室。
以类似的方式,VLAN标记就像将大型计算机网络分为较小,更易于管理的部分。这就像在您的房屋内创建虚拟房间一样。
每个VLAN都像一个单独的房间,同一VLAN中的设备可以轻松地进行通信,但是不同VLAN的设备无法直接通信。
VLAN标记是一种强大的网络技术,可以帮助提高网络安全性,性能和灵活性。从小型企业到大型企业,这是一项广泛使用的技术。
VLAN标记优势
你为什么要这样做?有几个原因:
- 网络分割:VLAN用于从逻辑上将物理网络分割为较小的孤立网络。例如,您可以将人力资源部门的流量与销售部门的流量分开,以提高安全性和可管理性。
- 广播控制:通过将网络分为VLAN,每个VLAN中都包含广播流量,从而降低了整个广播域的大小和网络拥塞。
- 服务质量(QoS) :VLAN可通过为每个VLAN分配不同的QoS策略来确定某些类型的流量(例如语音或视频)的优先级。
- 来宾网络:在公司环境中,您可以为访客设备创建一个单独的VLAN,以将它们与内部网络隔离开来。
- 隔离:VLAN可用于隔离特定的设备或服务,例如IP摄像机,IoT设备或网络服务器。
我们在哪里配置VLAN标记?
以下是现实网络中如何使用VLAN的一些示例:
- 在学校或大学中,VLAN可以用来将网络分开,以分离学生,老师和管理人员。这可能有助于保护学生数据并防止未经授权访问管理系统。
- 在医院,VLAN可以用来将网络分开以获取患者记录,医疗设备和行政人员。这可能有助于保护患者隐私,并确保关键医疗设备不受网络流量的影响。
- 在公司办公室中,VLAN可以用来将网络分开,以分开不同部门的网络,例如销售,营销和金融。这可能有助于提高网络安全性并防止未经授权访问敏感数据。
VLAN标签VS。将多个IP地址分配给一个NIC
VLAN标记与将多个IP地址分配给单个网络接口并不完全相同。
VLAN标记是将单个网络分为多个虚拟网络的一种方式,每个网络都有自己的广播域。这是通过在每个以太网框架中添加VLAN标签来完成的,该标签标识了框架所属的VLAN。 VLAN标记是2层技术,这意味着它与以太网协议的水平相同。
另一方面,将多个IP地址分配给单个网络接口是第3层技术。这是通过使用多个IP地址配置网络接口来完成的,每个IP地址属于其他子网。这允许接口与多个网络上的设备通信。
这两种技术通常被一起使用以创建安全且灵活的网络环境。例如,公司可能会使用VLAN将其网络分为不同的部门,然后将多个IP地址分配给每个网络接口,以允许设备与多个部门进行通信。
这是一个表,总结了VLAN标记和将多个IP地址分配给单个网络接口之间的关键差异:
完成这些步骤后,应加载VLAN模块,并用于在Linux系统上配置VLAN。您可以继续创建VLAN子界面并根据需要配置VLAN标记。
步骤2-编辑NetPlan配置文件
NetPlan配置文件通常位于/etc/netplan/Directory中,并以.YAML扩展名结尾。
您可能已经有一个配置文件。如果没有,您可以创建一个。使用文本编辑器(例如Nano或vim)编辑配置文件:
$ sudo nano /etc/netplan/01-netcfg.yaml
用自己的配置文件替换01-netcfg.yaml。
步骤3-定义VLAN配置
在NetPlan配置文件中,通过指定其名称,parent界面(VLAN将与之关联的物理接口)和VLAN ID来定义VLAN接口。
这是一个示例yaml配置:
网络: 版本:2 渲染器:NetworkD 以太网: ENS18: DHCP4:不 地址: -192.168.1.40/24 路线: - to:默认 Via:192.168.1.101 名称服务器: 地址:[8.8.8.8,8.8.4.4] Vlans: VLAN10: ID:10 链接:ENS18 地址:[192.168.10.2/24]
在上面的配置文件中,替换与您自己的配置匹配的网络设置。
- ENS18:替换为物理网络接口的名称。
- VLAN10:替换为VLAN的名称。
- ID:10:用所需的VLAN ID替换。
- 链接:ENS18:指定将VLAN关联的物理接口。
- 地址:为VLAN设置IP地址和子网掩码。
您还可以定义多个VLAN,如以下配置所示。只需确保您对每个VLAN都使用了一个唯一的名称和IP地址。
重要的:
NetPlan YAML配置文件中的适当行凹痕对于可读性和正确性至关重要。 YAML使用空间来表示数据结构,因此一致和清晰的凹痕至关重要。
- 使用空间(不是选项卡)进行凹痕。
- 在整个配置中保持一致的间距。
- 在结肠后离开一个空间,将键与值或块分开。
- 正确的凹痕可增强可读性,最小化错误并使网络配置文件更易于管理。
步骤4-应用配置
将更改保存到NetPlan配置文件中,然后退出文本编辑器。然后,使用NetPlan命令应用配置:
$ sudo Netplan申请
此命令将应用新的网络配置,包括VLAN设置。
步骤5-验证配置
您可以验证是否已创建了VLAN界面,并使用IP命令正常运行:
$ ip addr show vlan10 $ ip链接显示VLAN10
将“ VLAN10”替换为VLAN接口名称。这些命令应显示有关VLAN接口及其IP配置的信息。
就是这样!您已经使用NetPlan配置了VLAN标记。确保根据需要将配置调整为特定的网络设置,包括VLAN ID,IP地址和物理接口名称。
步骤6-删除VLAN
要删除VLAN接口,只需删除NetPlan配置文件中VLAN的相应部分即可。
在更改之前,最好备份Netplan配置文件。这样,如果出现任何问题,您可以轻松地恢复为原始配置。
$ sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
现在,使用文本编辑器打开NetPlan配置文件:
$ sudo nano /etc/netplan/01-netcfg.yaml
找到要删除的VLAN的部分。这将是VLANS下的小节:看起来像这样:
Vlans: VLAN10: ID:10 链接:ETH0 地址:[192.168.10.2/24]
卸下VLAN的整个部分。保存并关闭文件。
通过运行应用更改:
$ sudo Netplan申请
确保通过检查网络接口成功删除了VLAN:
$ ip a
VLAN接口(例如VLAN10)不再列出。
2。使用NMCLI命令配置VLAN标记
要在Linux系统上使用NMCLI(NetworkManager命令行接口)配置VLAN标记,请按照以下步骤:
步骤1-检查VLAN模块是否已加载
要验证是否在Linux中加载了VLAN模块(8021Q),您可以使用LSMOD命令,该命令列出了已加载的内核模块。这是检查VLAN模块是否已加载的方法:
打开终端并运行以下命令:
$ LSMOD | GREP 8021Q
如果加载了VLAN模块,您将看到包括“ 8021Q”的输出。如果您没有看到任何输出,则意味着该模块未加载。
如果发现未加载VLAN模块,则可以使用ModProbe命令手动加载它:
$ SUDO MODPROBE 8021Q
运行此命令后,您可以使用LSMOD再次检查其状态| GREP 8021Q。如果已加载,您将看到输出中列出的模块。
要使在Linux系统上的系统启动期间持续使VLAN模块(8021Q)加载,您可以按照以下步骤操作:
确定在系统引导过程中使用哪个配置文件指定用于自动加载的模块。该文件的位置可以根据您的Linux分发而有所不同。
对于红帽子/Centos :
该文件通常是/etc/modules-load.d/modules.conf。
对于Ubuntu/Debian :
在/etc/modules-load.d/ Directory中创建一个自定义.conf文件。
使用具有管理特权的文本编辑器(例如Sudo Nano或Sudo VI)打开配置文件。
在配置文件中,添加一个行以指定要在启动时加载的VLAN模块(8021Q)。例如:
8021q
添加此条目后保存文件。
应用配置:
编辑配置文件后,您可能需要应用更改。在某些系统上,这是在引导过程中自动完成的。但是,您可以使用SystemCtl命令手动应用更改:
对于红帽子/Centos :
$ sudo systemctl restart systemd-modules-load
对于Ubuntu/Debian :
$ sudo systemctl restart systemd-modules-load.service
验证模块加载:
为了确保在引导处加载VLAN模块,您可以使用LSMOD命令检查其状态,也可以验证系统日志中的任何相关消息。
$ LSMOD | GREP 8021Q
如果模块在输出中列出,则意味着它在引导过程中成功加载。
通过遵循这些步骤并配置VLAN模块以持久加载,您可以确保每次启动系统时都会自动加载模块,并且您无需手动加载它。
步骤2-检查NetworkManager服务
确保在系统上安装并运行NetworkManager。您可以使用以下命令检查NetworkManager的状态:
$ systemctl状态网络管理员
如果未安装或运行,您可以使用Distributs的软件包管理器(例如,在Debian/Ubuntu上的APT或Centos/Rhel上的百胜)安装并启动它。
步骤3-标识父界面
确定您将用作VLAN的基础的物理网络接口。您可以使用以下命令列出所有可用的网络接口:
$ NMCLI设备状态
样本输出:
设备类型状态连接 ENS18以太网连接的有线连接1 LO循环背包 - 不受管理 -
查找您要使用的接口,例如ENS18 。
步骤4-创建VLAN连接
接下来,您创建一个VLAN接口。在此示例中,假设您要在ETH0上创建具有ID 10的VLAN。
$ sudo nmcli con添加类型vlan con-name vlan10 ifname vlan10 dev ens18 ID 10
- con-name vlan10是您给此连接的名称。
- IFNAME VLAN10是VLAN接口的名称。
- dev ens18指定父界面。
- ID 10是VLAN ID。
步骤5-将IP配置分配到VLAN接口
现在,将IP地址,网关和DNS分配到VLAN接口。
例如:
$ sudo nmcli连接修改VLAN10 ipv4.addresses 192.168.10.2/24 $ sudo nmcli连接修改VLAN10 ipv4.gateway 192.168.10.1 $ sudo nmcli连接修改VLAN10 ipv4.dns 8.8.8.8 $ sudo nmcli连接修改VLAN10 IPV4
在上述命令中,用自己的网络设置替换网络设置。
- 用所需的IP地址和子网替换192.168.10.2/24。
- 用您的网关IP替换192.168.10.1。
- 8.8.8.8是示例DNS服务器(Google的公共DNS)。
步骤6-激活连接
使用以下命令激活VLAN连接:
$ sudo nmcli连接up vlan10
用VLAN连接的名称替换VLAN10。
步骤7-验证配置
您可以使用NMCLI验证配置:
$ NMCLI连接显示VLAN10
此命令将显示有关VLAN连接的详细信息,包括其状态和配置的属性。
步骤8-修改/删除VLAN
您可以使用NMCLI CON修改命令修改设置。删除VLAN。例如,vlan10,命令将是:
$ sudo nmcli con delete vlan10
就是这样!您已经在Linux系统上使用NMCLI配置了VLAN标记。确保将配置调整为您的特定网络设置和需求,包括IP地址,网关和DNS设置。
3。使用Linux中的IP命令配置VLAN标记
步骤1-检查VLAN模块是否已加载
为了确保在Linux系统上加载VLAN模块(802.1Q),您可以按照以下步骤操作:
要检查是否已经加载了VLAN模块,您可以使用LSMOD命令,该命令列出了已加载的内核模块。打开终端并运行:
$ LSMOD | GREP 8021Q
样本输出:
8021Q 45056 0 GARP 20480 1 8021Q MRP 20480 1 8021Q
如果您看到包含“ 8021Q”的输出,则意味着VLAN模块已被加载。
如果LSMOD命令未显示802.1Q模块,则可以使用ModProbe命令手动加载它。打开终端并运行:
$ SUDO MODPROBE 8021Q
此命令将将VLAN模块加载到内核中。如果您没有看到任何错误消息,则应成功加载该模块。
为了确保在启动时自动加载VLAN模块,您可以将其添加到/etc/模块文件中,或在/etc/modules-load.d/ directory中创建配置文件。例如,要将其添加到 /etc /模块中,请运行:
$ ECHO'8021Q'| sudo Tee -A /etc /模块
这将在系统启动期间自动加载的模块列表中添加“ 8021Q”。
步骤2-检查网络接口名称
在配置VLAN标记之前,您应该找到网络接口的名称。
您可以使用IP链接显示或IFConfig命令列出可用的网络接口。通常,这些接口具有ENP0SX或ENSX或ETHX之类的名称。
$ IP链接显示
样本输出:
1:lo:<loopback> mtu 65536 qdisc noqueue状态未知模式默认组默认组默认qlen 1000 链接/循环00:00:00:00:00:00 BRD 00:00:00:00:00:00:00:00 2:<strong><mark> ENS18</mark> : mtu 1500 qdisc fq_codel state up模式默认组默认qlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF AltName ENP0S18</strong></loopback>
正如您在上面的输出中看到的那样,有一个名为ENS18的网络接口。
步骤3-创建VLAN子接口
使用IP命令为您的物理网络接口创建VLAN子界面。替换为物理接口的名称(例如,ENS18)和所需的VLAN ID。
$ sudo ip链接添加链接ENS18名称VLAN10类型VLAN ID 10
$ sudo ip链接添加链接ENS18名称VLAN20类型VLAN ID 20
步骤4-配置IP地址
将IP地址分配给VLAN子界面。
$ sudo ip addr添加192.168.10.2/24 dev vlan10
$ sudo ip addr添加192.168.20.2/24 dev vlan20
步骤5-启用VLAN接口
$ sudo ip链接集dev vlan10 up
$ sudo ip链接集开发vlan20 up
同样,您可以配置与设置所需的VLAN一样多。
步骤6-验证VLAN IP地址
使用IP命令验证VLAN的IP地址是否正确配置。
$ ip a 1:lo:<loopback> mtu 65536 qdisc noqueue状态未知组默认qlen 1000 链接/循环00:00:00:00:00:00 BRD 00:00:00:00:00:00:00:00 INET 127.0.0.1/8示波器主机lo 有效_lft永远preferred_lft永远 inet6 :: 1/128范围主机 有效_lft永远preferred_lft永远 2:ens18: mtu 1500 qdisc fq_codel state up组默认qlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF AltName ENP0S18 INET 192.168.1.40/24 BRD 192.168.1.255范围全球noprefixroute ens18 有效_lft永远preferred_lft永远 Inet6 Fe80 :: bfcf:b9d3:60de:af1b/64范围链接noprefixroute 有效_lft永远preferred_lft永远 3:<strong><mark> VLAN10@ENS18</mark> : mtu 1500 qdisc noqueue state up up组默认qlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.10.2/24</mark> 范围全球ENS18.10 有效_lft永远preferred_lft永远 Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64范围链接 有效_lft永远preferred_lft永远 4:<strong><mark> VLAN20@ENS18</mark> : mtu 1500 qdisc noqueue state up up组默认qlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.20.2/24</mark> 范围全球ENS18.20 有效_lft永远preferred_lft永远 Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64范围链接 有效_lft永远preferred_lft永远</strong></strong></strong></strong></loopback>
如您在上面的输出中看到的那样,我创建了两个VLANS,即VLAN10和VLAN20,IP地址分别为192.168.10.24和192.168.20.24。
您还可以使用IP Addr Show命令仅查看特定的VLAN的IP地址。例如,要显示VLAN10的IP地址,请运行:
$ ip addr show vlan10 3:vlan10@ens18: mtu 1500 qdisc noqueue state up up组默认qlen qlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.10.2/24</mark> BRD 192.168.10.255范围全球noprefixroute ens18.10 有效_lft永远preferred_lft永远 Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64范围链接 有效_lft永远preferred_lft永远</strong>
常见问题
这是关于VLAN标签的常见问题解答(常见问题):
问:什么是VLAN标记?答:VLAN标记是一种网络技术,可让您从逻辑上将物理网络分为多个虚拟网络或VLAN。它在以太网框架中添加了特殊标签,以识别特定框架所属的VLAN。
问:VLAN标记的目的是什么?答:VLAN标记可实现多种目的,包括网络细分,流量隔离,广播控制,服务质量(QOS)优先级和改进的网络安全性。
问:VLAN标记如何工作?答:VLAN标签在数据链路层(第2层)处的以太网帧添加了一个4字节标签,以指示VLAN ID。网络设备使用此标签来确定框架所属的VLAN。
问:我可以将IP地址类(例如,A类和C类)混合在VLAN中吗?答:是的,您可以从同一VLAN中的不同类中分配IP地址。 VLAN不取决于IP地址类,您可以使用任何IP地址范围,并带有适当的子网掩码。
问:默认情况下,不同VLAN中的设备是否相互通信?答:不,默认情况下,不同VLAN中的设备不会相互通信。 VLAN是彼此隔离的,通信需要路由器或第3层设备才能在它们之间路由流量。
问:如何在Linux中配置VLAN标记?答:要在Linux中配置VLAN标记,您可以使用IP命令或NetPlan等配置文件之类的工具。您将在物理接口,分配VLAN ID和根据需要配置IP地址上创建VLAN子接口。
问:我可以在托管开关上配置VLAN标记吗?答:是的,大多数托管开关支持VLAN标记。您可以配置VLAN,将端口分配给VLAN,并在托管开关上设置VLAN中继,以促进VLAN通信。
问:单个接口上的VLAN标记与多个IP地址之间有什么区别?答:VLAN标记创建具有不同VLAN ID的单独的虚拟网络,而单个接口上的多个IP地址涉及在同一网络或子网中分配多个IP地址。 VLAN标记提供了更好的流量隔离和安全性。
问:如何检查VLAN模块是否已加载在Linux系统上?答:您可以使用LSMOD |检查VLAN模块是否加载了VLAN模块。 GREP 8021Q命令。如果在输出中看到“ 8021q”,则加载模块;否则,您可能需要手动加载它。
问:如何确保在启动时自动加载VLAN模块?答:要确保在引导时自动加载VLAN模块,请将其添加到适当的配置文件中以进行Linux分发。例如,在Ubuntu中,您可以将其添加到/ETC/Modules-load.d/。
结论
在本综合指南中,我们讨论了在Linux操作系统中配置VLAN标记的三种方法。
在Linux网络中,VLAN标记是一种有用的技术,可让您在单个物理网络中创建孤立的虚拟网络。这种隔离可提高安全性,简化网络管理并提高整体网络效率。
无论您是管理家庭网络还是复杂的企业环境,了解和实现Linux中的VLAN标记都可以自定义网络以满足您的特定需求,从而增强功能和安全性。
以上是如何在Linux中配置VLAN标记[逐步指南]的详细内容。更多信息请关注PHP中文网其他相关文章!

Linux管理员的平均年薪在美国为75,000至95,000美元,欧洲为40,000至60,000欧元。提升薪资可以通过:1.持续学习新技术,如云计算和容器技术;2.积累项目经验并建立Portfolio;3.建立职业网络,拓展人脉。

Linux的主要用途包括:1.服务器操作系统,2.嵌入式系统,3.桌面操作系统,4.开发和测试环境。Linux在这些领域表现出色,提供了稳定性、安全性和高效的开发工具。

互联网运行不依赖单一操作系统,但Linux在其中扮演重要角色。Linux广泛应用于服务器和网络设备,因其稳定性、安全性和可扩展性受欢迎。

Linux操作系统的核心是其命令行界面,通过命令行可以执行各种操作。1.文件和目录操作使用ls、cd、mkdir、rm等命令管理文件和目录。2.用户和权限管理通过useradd、passwd、chmod等命令确保系统安全和资源分配。3.进程管理使用ps、kill等命令监控和控制系统进程。4.网络操作包括ping、ifconfig、ssh等命令配置和管理网络连接。5.系统监控和维护通过top、df、du等命令了解系统运行状态和资源使用情况。

介绍 Linux是一个强大的操作系统,由于其灵活性和效率,开发人员,系统管理员和电源用户都喜欢。但是,经常使用长而复杂的命令可能是乏味的

Linux适用于服务器、开发环境和嵌入式系统。1.作为服务器操作系统,Linux稳定高效,常用于部署高并发应用。2.作为开发环境,Linux提供高效的命令行工具和包管理系统,提升开发效率。3.在嵌入式系统中,Linux轻量且可定制,适合资源有限的环境。

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要

Linux基础学习从零开始的方法包括:1.了解文件系统和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.学习文件操作,如创建和编辑文件,4.探索高级用法如管道和grep命令,5.掌握调试技巧和性能优化,6.通过实践和探索不断提升技能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)