EX3300:升级到 15.1R6.7 后语音 VLAN 停止工作

网络工程 VLAN 杜松 瞻博网络 网络电话 杜松
2021-07-27 19:31:51

我们有 50 多台瞻博网络 EX3300 交换机,其接入点配置为与dot1x和 一起使用voice vlan

我们还有各种 Yealink T23G、T42G、T26G 和 T48G 手机,当交换机在 JunOS 版本上运行时,它们在我们的配置中完美运行12.3R6.6

升级到 后15.1R6.7voice vlan功能下降。虽然端口仍在为正确的标记 vlan 提供服务,但电话不再尝试通过它进行通信,并且无法获得该地址的 DHCP 回复。

到目前为止,我们没有找到解决这个问题的方法,甚至没有找到一个公平的诊断。

配置

interfaces {
    interface-range access-dot1x {
        member "ge-0/0/[0-47]";
        member "ge-1/0/[0-47]";
        member "ge-2/0/[0-47]";
        description access-dot1x;
        unit 0 {
            family ethernet-switching;
        }
    }
}
protocols {
    dot1x {
        authenticator {
            authentication-profile-name DOT1X-NPS;
            interface {
                access-dot1x {
                    supplicant multiple;
                    retries 2;
                    quiet-period 2;
                    transmit-period 2;
                    mac-radius;
                    reauthentication 32400;
                    supplicant-timeout 2;
                    server-timeout 10;
                    maximum-requests 2;
                    guest-vlan ZEROCONFIG;
                    server-reject-vlan ZEROCONFIG;
                    server-fail use-cache;
                }
            }
        }
    }
    lldp {
        interface all;
    }
    lldp-med {
        interface all;
    }
}
ethernet-switching-options {
    voip {
        interface access-dot1x {
            vlan DEV-VOIP;
            forwarding-class assured-forwarding;
        }
    }
}
ZEROCONFIG {
    vlan-id 2;
}
DEV-VOIP {
    vlan-id 14;
}

诊断

发现问题后,我们额外搭建了一个测试环境,在亿联各种手机上测试两个固件版本。我们没有其他供应商的手机,但在该供应商中,所有手机都受到影响,包括各种固件版本。

相似之处:

两个版本在以下命令中返回相同的输出:

> show ethernet-switching interface ge-0/0/6
Interface    State  VLAN members        Tag   Tagging  Blocking
ge-0/0/6.0   up     ADM-CSI             130   untagged unblocked
                    ZEROCONFIG          2     untagged unblocked
                    default                   untagged unblocked
                    DEV-VOIP            14    tagged   unblocked

也使用此命令,但仅与接口列表有关:

> show lldp detail
Interface      Parent Interface    Vlan-id     Vlan-name
ge-0/0/6.0     -                   130         ADM-CSI
ge-0/0/6.0     -                   14          DEV-VOIP
ge-0/0/6.0     -                   2           ZEROCONFIG

区别:

正确连接12.3R6.6会产生以下输出:

> show ethernet-switching table interface ge-0/0/6
Ethernet-switching table: 3 unicast entries
  VLAN              MAC address       Type         Age Interfaces
  ADM-CSI           *                 Flood          - All-members
  ADM-CSI           98:5a:eb:xx:xx:4d Learn          0 ge-0/0/6.0   # computer connected via phone, dot1x assigned VLAN
  DEV-VOIP          *                 Flood          - All-members
  DEV-VOIP          00:15:65:yy:yy:0d Learn          0 ge-0/0/6.0   # phone after voice-vlan was assigned
  ZEROCONFIG        *                 Flood          - All-members
  ZEROCONFIG        00:15:65:yy:yy:0d Learn         50 ge-0/0/6.0   # phone before voice-vlan was assigned
  default           *                 Flood          - All-members


> show lldp neighbors
Local Interface    Parent Interface    Chassis Id          Port info          System Name
ge-0/0/6.0         -                   10.14.100.2         WAN PORT           SIP-T42G

连接失败会15.1R6.7导致以下输出:

> show ethernet-switching table interface ge-0/0/6
Ethernet-switching table: 3 unicast entries
  VLAN              MAC address       Type         Age Interfaces
  ADM-CSI           *                 Flood          - All-members
  ADM-CSI           98:5a:eb:xx:xx:4d Learn          0 ge-0/0/6.0   # computer connected via phone, dot1x assigned VLAN
  DEV-VOIP          *                 Flood          - All-members
  ZEROCONFIG        *                 Flood          - All-members
  ZEROCONFIG        00:15:65:yy:yy:0d Learn         50 ge-0/0/6.0   # phone before voice-vlan was assigned
  default           *                 Flood          - All-members

> show lldp neighbors
Local Interface    Parent Interface    Chassis Id          Port info          System Name
ge-0/0/6.0         -                   0.0.0.0             WAN PORT           SIP-T42G

但是,通知间隔 ( lldp-configuration-notification-interval) 值有所不同

  • 12.3R6.6的值(默认值)是0s,在可配置的0..3600范围内,
  • 15.1R6.7的值(默认值)是5s,在可配置的5..3600范围。

我希望通知间隔的这种差异将是我们问题的原因,但将值设置为5较早的开关并不会导致它降低功能。

另一个,也许是最显着的差异出现在该党交换的 LLDP 和 EAPOL 包中。

这始于从设备发送到手机的第一个数据包的以下差异:

适当的会话 ( 12.3R6.6):

14:13:50.002710 Out LLDP, length 266
    [...]
    System Description TLV (6), length 89
      Juniper Networks, Inc. ex3300-48t , version 12.3R6.6 Build date: 2014-03-13 07:02:54 UTC
    [...]
    Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
      MAC/PHY configuration/status Subtype (1)
        autonegotiation [supported, enabled] (0x03)
        # ==== HERE =====
        PMD autoneg capability [Sym PAUSE for fdx] (0x0400) 
        MAU type Unknown (0x0000)
    [...]
    Organization specific TLV (127), length 6: OUI Ethernet bridged (0x0080c2)
      Port Vlan-ID Subtype (1)
        # ==== HERE =====
        Vlan Id: 14
    [...]
    Organization specific TLV (127), length 15: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 14
        Vlan Name: DEV-VOIP
    Organization specific TLV (127), length 14: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 0
        Vlan Name: default
    Organization specific TLV (127), length 12: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 14
        Vlan Name: voice
    [...]
    Organization specific TLV (127), length 8: OUI ANSI/TIA (0x0012bb)
      Network policy Subtype (2)
        Application type [voice] (0x01), Flags [Tagged]
        Vlan id 14, L2 priority 0, DSCP value 0
    End TLV (0), length 0

失败的会话 ( 15.1R6.7):

14:04:52.612890 Out LLDP, length 333
    [...]
    System Description TLV (6), length 156
      Juniper Networks, Inc. ex3300-48t Ethernet Switch, kernel JUNOS 15.1R6.7, Build date: 2017-04-23 00:39:39 UTC Copyright (c) 1996-2017 Juniper Networks, Inc.
    [...]
    Organization specific TLV (127), length 9: OUI IEEE 802.3 Private (0x00120f)
      MAC/PHY configuration/status Subtype (1)
        autonegotiation [supported, enabled] (0x03)
        # ==== HERE =====
        PMD autoneg capability [1000BASE-T fdx] (0x0001)
        MAU type Unknown (0x0000)
    [...]   
    Organization specific TLV (127), length 6: OUI Ethernet bridged (0x0080c2)
      Port Vlan-ID Subtype (1)
        # ==== HERE =====
        Vlan Id: 0
    [...]
    Organization specific TLV (127), length 15: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 14 
        Vlan Name: DEV-VOIP
    Organization specific TLV (127), length 14: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 0
        Vlan Name: default
    Organization specific TLV (127), length 12: OUI Ethernet bridged (0x0080c2)
      Vlan Name Subtype (3)
        Vlan Id: 14
        Vlan Name: voice
    [...]
    Organization specific TLV (127), length 8: OUI ANSI/TIA (0x0012bb)
      Network policy Subtype (2)
        Application type [voice] (0x01), Flags [Tagged]
        Vlan id 14, L2 priority 0, DSCP value 0
    End TLV (0), length 0

有任何想法吗?

1个回答

在我们的经销商的暗示下,我发现这篇文章隐藏在瞻博网络文档的深处,其中指出在14.1X53-D40/上面的版本中15.1R4,出于安全考虑,开关行为已经改变。

  • 使用较旧的固件,无论端口上的 802.1x 身份验证状态如何,交换机都将允许访问语音 VLAN。
  • 在新固件中,交换机将阻止对语音 VLAN 的访问:
    • 如果 802.1x 身份验证服务器失败(可以使用配置文件中的server-fail-voip语句覆盖此行为dot1x),或者:
    • 如果 802.1x 身份验证服务器拒绝身份验证(此行为不能被覆盖)。

截至目前,似乎没有选择退出后一种情况,但如果情况发生变化,我会更新此答案。

该问题似乎没有可行的解决方法,除了可能向访客 VLAN 验证未知设备而不是拒绝它们。这可以通过以下任一方式完成:

  • 使用电话 MAC 地址填充身份验证数据库(带有mac-radius),
  • 为 802.1x 身份验证配置电话凭据,或
  • 创建一个严格范围的完成 RADIUS 规则,该规则将接受所有不匹配的设备而无需身份验证并将它们分配给GUEST VLAN.

瞻博网络文章的相关片段

从版本14.1X53-D40和版本15.1R4开始,语音流量支持服务器故障回退要为发送语音流量的 VoIP 客户端配置服务器故障回退操作,请使用该语句。对于所有数据流量,请使用该语句。交换机根据客户端发送的流量类型确定要使用的回退方法。未标记的数据帧受使用 配置的操作的约束,即使它们是由 VoIP 客户端发送的。标记的 VoIP VLAN 帧受配置的操作的约束如果没有配置,语音流量将被丢弃。server-fail-voipserver-failserver-failserver-fail-voipserver-fail-voip

注意:VoIP VLAN 标记流量不支持服务器拒绝回退如果 VoIP 客户端在服务器拒绝回退生效时通过将未标记的数据流量发送到 VLAN 来启动身份验证,则允许 VoIP 客户端访问回退 VLAN。如果同一个客户端随后发送标记的语音流量,则语音流量将被丢弃。如果 VoIP 客户端在服务器拒绝回退生效时通过发送标记的语音流量开始身份验证,则 VoIP 客户端将被拒绝访问回退 VLAN。