type
status
date
slug
summary
tags
category
icon
password

使用 Ansible 配置网络接口——详解

在 IT 基础设施自动化的背景下,Ansible 以其灵活性和扩展性成为广受欢迎的工具。借助 Ansible 的 rhel_system_roles.network 角色,我们可以有效地配置网络接口,包括以太网、VLAN、MACVLAN、以及无线网络等。本篇博客将介绍如何使用该角色完成自动化的网络配置。

为什么选择 Ansible 和系统角色?

rhel_system_roles.network 角色通过提供模块化和结构化的方式,让我们可以更高效地配置网络。以下是该角色的核心优势:
  1. 支持多种网络接口类型:支持以太网、桥接、聚合(bonding)、VLAN、MACVLAN、InfiniBand 以及无线网络接口。
  1. 兼容多种 Linux 版本:在 RHEL 7 及更高版本中,支持 NetworkManager 作为网络提供者(network_provider);对于仍在使用延长支持服务(ELS)的 RHEL 6,则支持 initscripts。
  1. 灵活的配置项:支持设置 IP 地址、默认网关、DNS 服务器、自动连接等网络参数。

配置网络的基础示例

以下是通过 rhel_system_roles.network 配置网络接口的基本步骤和示例。

安装 Ansible 系统角色

说明:在当前目录安装 Red Hat 系统角色,用于后续的网络配置。

编写网络配置 Playbook

创建一个 network.yml 文件,并写入如下内容:
说明:上述 Playbook 将在所有 webservers 主机组中的服务器上,将 ens4 以太网接口配置为 IP 地址为 172.25.250.30/24 的静态 IP,并激活该接口。

重要配置选项

rhel_system_roles.network 提供了丰富的配置选项。以下是一些关键选项的解释:
  • name:连接名称,NetworkManager 使用此名称标识连接。
  • state:连接的运行时状态(updown)。
  • persistent_state:连接的持久性状态(presentabsent)。
  • type:连接类型,支持 ethernet, bridge, bond, team, vlan, macvlan, infiniband, wireless
  • mac:指定 MAC 地址来限制连接。
  • interface_name:定义接口的名称,Ansible 会根据该名称自动选择匹配的接口。
  • zone:用于指定 firewalld 的区域。
例如,配置带有静态 IP、DNS 和 firewalld 配置的以太网接口:
解释:此 Playbook 将配置 eth0 接口,设为自动连接,指定 MAC 地址,并在 external 区域中应用 firewalld 规则。

使用变量文件提高可维护性

我们可以将网络配置放入 group_varshost_vars 中以提高 Playbook 的可维护性。例如,创建 group_vars/webservers.yml
然后在 Playbook 中仅引用该变量:

获取网络接口的动态信息

我们可以通过 Ansible Facts 获取网络接口的信息。例如:
执行后会显示所有接口信息,例如 eth0, eth1, lo 等接口的状态和配置。

总结

使用 Ansible 配置网络接口和相关设置可以显著减少手动配置的复杂度。通过 rhel_system_roles.network 系统角色,不仅可以支持多种网络接口类型,还能兼容不同的 Linux 版本。无论是为接口配置静态 IP、DNS,还是在 firewalld 中设置区域,Ansible 都能以声明式配置的方式,确保系统的配置一致性。

实验手册:使用Ansible配置Web服务器网络

目标

通过Ansible系统角色配置Web服务器的网络设置,分配静态IP地址和DNS配置。

前提条件

  • 已安装Ansible。
  • 实验环境包含一个或多个Web服务器主机,并配置为Ansible管理的节点。
  • 已下载redhat_rhel_system_roles集合(版本1.19.3)。

步骤1:启动实验环境

  1. 启动系统网络实验环境。
    1. 切换到实验工作目录。

      步骤2:配置库存文件

      1. 创建并编辑inventory文件,定义Web服务器主机。 内容如下:

        步骤3:安装必要的Ansible集合

        1. 使用ansible-galaxy安装redhat_rhel_system_roles集合。

          步骤4:配置网络变量

          1. 创建目录以存放组变量文件。
            1. 创建并编辑group_vars/webservers/network.yml文件,配置eth1接口的静态IP地址。
              1. 文件内容如下:

            步骤5:运行Ansible Playbook

            1. 运行配置Playbook以应用网络设置。
              1. 可选:运行单独的eth1配置Playbook以检查接口设置。

                步骤6:完成实验

                1. 完成实验后,停止实验环境。

                  总结

                  本实验手册帮助您使用Ansible的redhat_rhel_system_roles.network角色配置Web服务器的网络设置。通过这次实验,您掌握了如何通过Ansible自动化分配静态IP地址和配置DNS设置。
                  相关文章
                  RHCE 9版本考试资料
                  Lazy loaded image
                  40.总复习-4 实验手册:galaxy角色配置与部署
                  Lazy loaded image
                  39.总复习-3 实验手册:配置 RHEL 系统角色和用户管理
                  Lazy loaded image
                  38.总复习-2 实验手册:Ansible Web 服务器配置和测试
                  Lazy loaded image
                  37.总复习-1 实验手册:配置和运行Ansible脚本
                  Lazy loaded image
                  36:总复习
                  Lazy loaded image
                  35:自动执行Linux管理任务-6 开放实验33:自动执行Linux管理任务-4 管理存储
                  Loading...
                  みなみ
                  みなみ
                  一个普通的干饭人🍚
                  最新发布
                  02-生成AIパスポート試験対策:第2章「生成AI」
                  2025-2-1
                  01-生成AIパスポート試験対策:第1章「人口知能」
                  2025-2-1
                  究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
                  2025-1-27
                  不要再傻傻的直接买NISA啦
                  2025-1-27
                  Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
                  2025-1-24
                  529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
                  2025-1-22
                  公告
                  🎉欢迎访问我的博客🎉
                  - 感谢您的支持 --
                  本站点于2024/09/01建立
                  👏主要分享IT相关主题👏
                  系统管理:
                  Redhat…
                  容器和编排:
                  Kubernetes、Openshift…
                  云计算:
                  AWS、IBM…
                  AI入门
                  以及技术笔记和考证经验
                  定期更新,欢迎互动。
                  感谢访问!
                  快速浏览相关标签