首页 > 其他分享 >Ansible剧本添加静态路由

Ansible剧本添加静态路由

时间:2023-11-14 16:12:28浏览次数:25  
标签:network 静态 route ansible item Ansible routes distribution 路由

Roles目录结构

image

Vars 文件 (roles/manage_routes/vars/main.yml)

点击查看代码
routes:
  - network: "192.168.1.0"
    netmask: "255.255.255.0"
    gateway: "192.168.1.1"
  - network: "10.0.0.0"
    netmask: "255.255.0.0"
    gateway: "10.0.0.1"

Tasks 文件 (roles/manage_routes/tasks/main.yml)

点击查看代码
---
- name: Gather network facts
  setup:
    gather_subset:
      - network

- name: Determine the interface for each route
  set_fact:
    route_interface: "{{ ansible_interfaces | map('regex_replace', '^', 'ansible_') | map('extract', hostvars[inventory_hostname]) | selectattr('ipv4', 'defined') | selectattr('ipv4.address', 'equalto', item.gateway) | map(attribute='interface') | first }}"
  loop: "{{ routes }}"

- name: Add static route in CentOS 6
  command: "route add -net {{ item.network }} netmask {{ item.netmask }} gw {{ item.gateway }} dev {{ route_interface }}"
  when: ansible_distribution == 'CentOS' and ansible_distribution_major_version == '6'
  loop: "{{ routes }}"

- name: Add static route in CentOS 7 or Ubuntu 20
  command: "ip route add {{ item.network }}/24 via {{ item.gateway }} dev {{ route_interface }}"
  when: (ansible_distribution == 'CentOS' and ansible_distribution_major_version == '7') or (ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('20', '='))
  loop: "{{ routes }}"

- name: Add static route in Ubuntu 18
  command: "ip route add {{ item.network }}/24 via {{ item.gateway }} dev {{ route_interface }}"
  when: ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('18', '=')
  loop: "{{ routes }}"

使用 Role

点击查看代码
- hosts: all
  roles:
    - manage_routes

标签:network,静态,route,ansible,item,Ansible,routes,distribution,路由
From: https://www.cnblogs.com/iamxiaofu/p/17831864.html

相关文章

  • 以太网通信控制板-B2-控制板作为多路TCP客户端和电脑TCP服务器通信(连接路由器或者交
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明如果......
  • 以太网通信控制板-B1-控制板作为单路TCP客户端和电脑TCP服务器通信(连接路由器或者交
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/CH579_DTU_PBX/index1.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明这节......
  • 代码静态检查为什么需要对告警去做运营?
    本文分享自华为云社区《代码静态检查为什么需要对告警去做运营?》,作者:gentle_zhou。代码检查SAST技术支持指对代码的风格,质量和安全进行静态的检查,以发现代码中的缺陷和漏洞,提高代码的可读性,可靠性和可维护性。而其中代码检查扫描出来的告警则是指SAST检查工具发现的代码问题,通常......
  • Hash模式基于锚点,以及onhashchange事件 —— 通过锚点的值作为路由地址
    前端路由有两种模式:mode:hash/histroyhash:1.hash的优点是兼容性比较高,可以直接在项目布署上线时使用。2.hash的缺点是#不美观影响url的美感,并且如果移动端分享严格限制,可能会报错history:1.history的优点是不会影响到url的美感,提高了可观赏性2.history的缺点是需要与后端搭配,......
  • Windows系统CMD命令行添加或删除路由
    Windows系统CMD命令行添加或删除路由 原文地址:https://www.cnblogs.com/dianchaozhang/p/16985395.html1,按Win键输入“CMD”,右键“以管理员身份运行” 2,在CMD窗口输入“ipconfig”并按Enter键  3,找到自己的网卡对应的“默认网关”,执行如下命令添加路由: routeadd{......
  • Angular 服务器端渲染的静态 HTML 变为客户端的动态应用的过程
    首先,让我们先了解一下Angular服务器端渲染(SSR)的工作原理。当你的Angular应用启用服务器端渲染后,用户在浏览器中请求页面时,服务器会预先渲染出HTML,并且将其发送到客户端。这样做的优点是可以改善首屏加载时间,提升SEO效果,因为搜索引擎可以抓取到预渲染的HTML内容。那......
  • Vue怎么监听路由参数的变化?
    有两种方法可以监听路由参数的变化,但是只能用在包含<router-view/>的组件内第一种用侦听器监听watch:{ '$route'(to,from){ //在此处监听 },},第二种在路由守卫种监听beforeRouteUpdate(to,from,next){ //这里监听}......
  • ansible性能巡检+定时任务执行shell脚本
    一、ansible_使用ansible+shell脚本进行环境巡检1.编写脚本#用户目录下执行cd~#编辑vicheck.sh实现效果:脚本内容:巡检指标1:cpu使用率大于70,输出unhealth巡检指标2:内存使用率大于70,输出unhealth巡检指标3:/picclife磁盘使用率大于70,输出unhealth#!/bin/bash#cpu巡检sar......
  • [转]route路由表详细解释(整理版)
    routeprint命令可以查看路由表,在dos下面输入routeprint就可以了,如何读懂路由表本机地址:202.256.257.258掩码:255.255.255.0操作系统:w2kserverC:/>routeprintInterfaceList0x1...........................MSTCPLoopbackinterface0x1000003...44e04c10431d......
  • ubuntu arm64 配置静态IP 并实现VNC远程树梅派
    1.设置静态IP完成后ifconfig查看IPpingIP地址测试 ping192.168.10.1592.VNC远程树梅派树梅派VNC是server端,VNC版本是:RealVNC客户端:archubuntu18 一开始用gvncviewer连接,出现秒断开的问题,如下:$gvncviewer192.168.149.1ConnectedtoserverDisconnectedfromser......