You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ansible nmcli模块为Bond接口配置VLAN标签遇阻求助

问题诊断与解决方案

从你的配置输出可以看到,bond0.10 VLAN连接已创建但未激活(DEVICE列显示--),同时原Playbook的VLAN配置存在参数错误,导致无法正常工作。

核心问题点

  1. vlandev参数配置错误:该参数应指定VLAN的父接口bond0,而非vlan10
  2. 未激活VLAN接口:仅设置state: present只会创建连接,不会激活接口
  3. 缺少VLAN接口IP配置:若需要该接口提供网络连通性,需补充IP地址配置
  4. 模块名不规范:应使用完整的community.general.nmcli模块名,避免兼容性问题
  5. Bond接口子网掩码异常:原配置中bond0的IP为10.0.2.40/32,这会导致同网段通信故障,建议修正为合理的子网(如/24)

修正后的Playbook

tasks:

  - name: 创建Bond接口并配置IP
    community.general.nmcli:
      type: bond
      conn_name: "{{ item.conn_name }}"
      ip4: "{{ item.ip4 }}"
      gw4: "{{ item.gw4 }}"
      mode: "{{ item.mode }}"
      state: present
    with_items:
      - "{{ nmcli_bond }}"

  - name: 添加Bond从接口
    community.general.nmcli:
      type: bond-slave
      conn_name: "{{ item.conn_name }}"
      ifname: "{{ item.ifname }}"
      master: "{{ item.master }}"
      state: present
    with_items:
      - "{{ nmcli_bond_slave }}"

  # 配置Bond0上的VLAN10接口
  - name: 配置bond0.10 VLAN接口
    community.general.nmcli:
      type: vlan
      conn_name: bond0.10
      ifname: bond0.10
      vlandev: bond0
      vlanid: 10
      ip4: "192.168.10.20/24"  # 根据你的网络规划调整IP
      gw4: "192.168.10.1"      # 可选:配置网关
      state: up  # 创建并激活接口

变量配置建议

确保nmcli_bond变量的子网掩码正确,示例:

nmcli_bond:
  - conn_name: bond0
    ip4: "10.0.2.40/24"
    gw4: "10.0.2.1"
    mode: active-backup  # 或其他Bond模式(如802.3ad)

验证命令

执行Playbook后,通过以下命令确认配置生效:

  • 查看连接状态:nmcli connection show,确认bond0.10的DEVICE列显示bond0.10
  • 查看接口详情:ip a show bond0.10,确认接口处于UP状态并配置了正确的IP
  • 测试连通性:ping 192.168.10.1(根据你的IP配置调整)

内容的提问来源于stack exchange,提问作者Tomer Shachaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:13:29