51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

如何在 RHEL 上通过绑定配置 VLAN 标记

在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bonding 或 网卡聚合 NIC teaming 、VLAN 标记和桥接。这些高级功能可以提高网络连接的效率和可靠性。

你可以在以太网、绑定、聚合或桥接设备等其他接口上创建 VLAN 接口。

在本文中,我们将学习如何在 RHEL 系统中通过网络绑定配置 VLAN 标记,它允许来自不同网络的流量共享共同的物理链接。

通过绑定对 VLAN 进行标记的先决条件 {#通过绑定对-VLAN-进行标记的先决条件}

  • 网络聚合需要在网络交换机端口上启用 LACP(802.3ad),以聚合链路。
  • 网络聚合需要将网络端口配置为中继端口,这样可以在同一端口上添加多个 VLAN。此外,还要从它们那里获取 VLAN ID,以便在操作系统层面进行配置。
  • Linux 系统应该有两个接口。
  • 如果是物理服务器,我们建议在板载接口和 PCI 接口之间配置绑定,以避免主机端的网卡出现单点故障。

绑定内核模块 {#绑定内核模块}

使用 lsmod 命令检查 Linux 系统是否已加载绑定模块。

|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 | hljs apache lsmod | grep -i bonding bonding 12451 0 ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> APACHE </div> </pre></td> </tr> ` |

默认情况下已加载。否则,请使用 modprobe 命令加载它。

|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | hljs ebnf modprobe bonding ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> EBNF </div> </pre></td> </tr> ` |

1) LACP 绑定配置 {#1-LACP-绑定配置}

我们将配置基于 LACP(Mode 4 -- 802.3ad)的链路聚合绑定,通过组合名为 em1p7p1 的两个接口,为绑定接口提供更大的带宽。

1a) 创建 Bond 接口 {#1a-创建-Bond-接口}

在目录 /etc/sysconfig/network-scripts/ 下创建绑定接口文件 ifcfg-bond0

|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 | hljs routeros vi /etc/sysconfig/network-scripts/ifcfg-bond0 TYPE =Bond DEVICE =bond0 NAME =bond0 BONDING_MASTER = yes BOOTPROTO =none ONBOOT = yes BONDING_OPTS = "mode=4 miimon=100 lacp_rate=1" NM_CONTROLLED = no ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> ROUTEROS </div> </pre></td> </tr> ` |

1b) 配置第一个从接口 {#1b-配置第一个从接口}

配置你想要进行绑定的第一个从属接口 em1 。请根据你的环境使用正确的接口名称。

|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 | hljs abnf vi /etc/sysconfig/network-scripts/ifcfg-em1 TYPE = Ethernet BOOTPROTO = none DEVICE = em1 ONBOOT = yes MASTER = bond0 SLAVE = yes ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> ABNF </div> </pre></td> </tr> ` |

1c) 配置第二个从接口 {#1c-配置第二个从接口}

配置你想要进行绑定的第二个从属接口 p7p1 。 请根据你的环境使用正确的接口名称。

|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 | hljs abnf vi /etc/sysconfig/network-scripts/ifcfg-p7p1 TYPE = Ethernet BOOTPROTO = none DEVICE = p7p1 ONBOOT = yes MASTER = bond0 SLAVE = yes ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> ABNF </div> </pre></td> </tr> ` |

重启网络服务 {#重启网络服务}

重启网络服务以启用绑定接口或使用 ifup 命令启动它们。

|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | hljs ebnf systemctl restart network ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> EBNF </div> </pre></td> </tr> ` |

2) 通过绑定接口进行 VLAN 标记 {#2-通过绑定接口进行-VLAN-标记}

LACP 绑定配置已完成,所有接口现已启动并运行。让我们按照以下步骤配置绑定接口上的 VLAN 标记。

正如先决条件中所讨论的,以下是映射到相应以太网卡端口( em1p7p1 )和网络交换机端口的 VLAN。

  • VLAN ID (221), VLAN N/W = 192.168.10.0/24
  • VLAN ID (331), VLAN N/W = 192.168.20.0/24

2a) 将 VLAN 221 配置到 Bond0 {#2a-将-VLAN-221-配置到-Bond0}

为 VLAN id 221 创建标记接口文件 /etc/sysconfig/network-scripts/ifcfg-bond0.221 并添加以下内容。

|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 | hljs routeros vi /etc/sysconfig/network-scripts/ifcfg-bond0.221 DEVICE =bond0.221 BOOTPROTO =none ONBOOT = yes IPADDR =192.168.10.100 NETMASK =255.255.255.0 GATEWAY =192.168.10.1 VLAN = yes NM_CONTROLLED = no ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> ROUTEROS </div> </pre></td> </tr> ` |

2b) 将 VLAN 331 配置到 Bond0 {#2b-将-VLAN-331-配置到-Bond0}

为 VLAN id 331 创建标记接口文件 /etc/sysconfig/network-scripts/ifcfg-bond0.331 并添加以下内容。

|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 | hljs routeros vi /etc/sysconfig/network-scripts/ifcfg-bond0.331 DEVICE =bond0.331 BOOTPROTO =none ONBOOT = yes IPADDR =192.168.20.100 NETMASK =255.255.255.0 GATEWAY =192.168.20.1 VLAN = yes NM_CONTROLLED = no ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> ROUTEROS </div> </pre></td> </tr> ` |

重启网络服务 {#重启网络服务-1}

重启网络服务以启用绑定接口或使用 ifup 命令启动它们。

|-------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | hljs ebnf systemctl restart network ` <div class="code-widget-light code-widget copy-btn" data-clipboard-snippet=""> <i class="iconfont icon-copy"> </i> EBNF </div> </pre></td> </tr> ` |

验证 VLAN 标记配置 {#验证-VLAN-标记配置}

最后使用 ip 命令 验证 VLAN 标记接口是否已配置并启动和运行。

是的,我可以看到 bondo.221@bond0bon0.331@bond0 有两个不同的 IP,并且能够通过 ssh 访问系统,没有任何问题。因此,VLAN 标记按预期工作。

结论 {#结论}

恭喜,你已经了解了如何在 RHEL 系统上通过 LACP 绑定配置 VLAN 标记,该系统监听两个 VLAN。VLAN 标记不限于两个 VLAN,支持多个 VLAN,你可以根据该 VLAN 的网络配置添加 VLAN 标记。

(题图:DA/2854516d-4d19-4008-a421-05f9a2a78368)


via: https://www.2daygeek.com/configure-vlan-tagging-over-network-bonding-rhel/

作者: Jayabal Thiyagarajan 选题: lujun9972 译者: geekpi 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

赞(0)
未经允许不得转载:工具盒子 » 如何在 RHEL 上通过绑定配置 VLAN 标记