优秀的编程知识分享平台

网站首页 > 技术文章 正文

利用Ansible自动化工具对多台linuxz主机配置网卡文件

nanyue 2024-12-01 01:45:52 技术文章 6 ℃
  1. 安装Ansible:
bashCopy codesudo apt-get update
sudo apt-get install ansible
  1. 创建一个主机清单文件hosts,列出所有需要进行网卡设置的主机:
bashCopy code[web]
web1 ansible_host=192.168.1.101
web2 ansible_host=192.168.1.102
web3 ansible_host=192.168.1.103
  1. 创建一个Ansible playbook文件network.yaml,定义网卡设置任务:
yamlCopy code- name: configure network interfaces
  hosts: web
  become: true
  vars:
    iface_name: eth0
    iface_addr: 192.168.1.100
    iface_mask: 255.255.255.0
    iface_gw: 192.168.1.1
    iface_dns: 8.8.8.8
  tasks:
    - name: backup current network config file
      become: true
      copy:
        src: /etc/network/interfaces
        dest: /etc/network/interfaces.backup

    - name: configure network interfaces
      become: true
      copy:
        content: |
          auto {{ iface_name }}
          iface {{ iface_name }} inet static
              address {{ iface_addr }}
              netmask {{ iface_mask }}
              gateway {{ iface_gw }}
              dns-nameservers {{ iface_dns }}
        dest: /etc/network/interfaces

    - name: restart network service
      become: true
      service:
        name: networking
        state: restarted

在上述Ansible playbook文件中,定义了一个名为“configure network interfaces”的任务,该任务用于备份当前网络配置文件,然后创建一个新的网卡配置文件,并重启网络服务。其中iface_name、iface_addr、iface_mask、iface_gw、iface_dns变量指定了需要设置的网卡参数。

  1. 运行Ansible playbook文件:
bashCopy codeansible-playbook -i hosts network.yaml

以上脚本会针对hosts文件中的所有主机,运行network.yaml中定义的网卡设置任务,并根据变量定义的参数进行配置。这样就可以批量化地对多台Linux主机进行网卡设置。



Tags:

最近发表
标签列表