根据 LLDP 邻居配置子网

根据 LLDP 邻居配置子网

我正在寻求一些帮助来配置路由器之间的子网

  • 请参考图1

图表:
图表

路由器标识来自主机变量文件

例如。

ansible_host: 10.10.10.1
ID: 1

ansible_host: 10.10.10.2
ID: 2

我想在路由器 1 和 2 之间构建一个子网,如下所示 172.16.{12}.1/30 和 172.16.{12}.2/30,如果连接困难,那么 10.{1}.{2}.1 和 10.{1}.{2}.2/30 也可以

我一直在关注这个很棒的博客作为指导

https://nwmichl.net/2020/07/05/fix-your-interface-description-with-ansible-and-cdp-lldp/

所以这个想法是

  1. 找到网上邻居(根据事实)
{
"net_neighbors": {
            "GigabitEthernet2": [
                {
                    "host": "CSR-2.example.com",
                    "port": "GigabitEthernet2"
                }
            ],
            "GigabitEthernet3": [
                {
                    "host": "CSR-2.example.com",
                    "port": "GigabitEthernet3"
                }
            ]
        }
}
net_neighbors:
  GigabitEthernet2:
  - host: CSR-2.example.com
    port: GigabitEthernet2
  GigabitEthernet3:
  - host: CSR-2.example.com
    port: GigabitEthernet3

2、查找邻居的 ID -> nebr_id(来自主机变量)3. 将 IP 约定为 10.{my_id}.{nebr_id}.x 255.255.255.252 4. 如果my_id < nebr_id,x=1,否则 x=2(假设没有多路径)

如果有帮助的话,这是我用来配置环回的代码

- name: ip config for IOSXR
  gather_facts: false
  connection: network_cli
  hosts: xr
  tasks:
  - set_fact:
      ip_addr: "{{ '172.16.0.0/24' | ansible.utils.nthhost(ID) }}"
  - name: ip config for loopback (iosxr)
    cisco.iosxr.iosxr_config:
      lines:
      - description anchor interface
      - ip address {{ ip_addr }} 255.255.255.255
      parents: interface Loopback0

希望这些信息足够了,

桑吉瓦

相关内容