瞻博网络 SRX - 17 分钟后无流量

网络工程 思科 瞻博网络 回复
2021-07-06 01:21:49

这真是一个奇怪的问题。

我正在尝试安装 Juniper SRX 220H 作为网关,以替换我测试网络环境中的旧 Cisco 路由器。下面列出了简化的拓扑:

    ISP ----- ONT ----- SRX ----- Other devices (Routers, switches, client computers...)

ISP 到 SRX 的链路是 802.1Q 中继链路,包含两个 VLAN(VLAN 35 用于 Internet 访问,IP 地址由 DHCP 分配,租用 20 分钟。VLAN 34 用于 IPTV,此处未使用)。

SRX 首先可以从 ISP 获取 IP 地址。12 到 17 分钟后(第一次 DHCP 租约更新后和第二次更新前),SRX 失去 Internet 访问(无法 ping 网关)。系统日志或系统状态中没有什么特别的,甚至没有任何通知。“显示界面”说一切正常。但是在 ge-0/0/0 中根本没有流量。如果我拔掉电缆或重新启动 SRX,它会再工作 12 到 17 分钟,然后所有流量再次停止。

在我安装此 SRX 之前,具有相同配置的旧 Cisco 路由器可以正常工作。

有什么线索吗?

SRX的部分配置如下:

interfaces {
    ge-0/0/0 {
        unit 0 {
            family ethernet-switching {
                port-mode trunk;
                vlan {
                    members vlan-internet;
                }
            }
        }
    }
    ge-0/0/1 {
        unit 0 {
            family ethernet-switching {
                vlan {
                    members vlan-trust;
                }
            }
        }
    vlan {
        mac xx:xx:xx:xx:xx:xx;
        unit 0 {
            family inet {
                address 192.168.99.254/24;
            }
        }
        unit 35 {
            family inet {
                dhcp;
            }
        }
    }
    }                                   

vlans {
    vlan-internet {
        vlan-id 35;
        l3-interface vlan.35;
    }
    vlan-trust {
        vlan-id 3;
        l3-interface vlan.0;
    }
}

对应的思科配置:

interface GigabitEthernet0/0
 description WAN
 mac-address xxxx.xxxx.xxxx
 no ip address
 duplex auto
 speed auto
 media-type rj45
 no negotiation auto
!
interface GigabitEthernet0/0.35
 description FibreOP-Internet
 encapsulation dot1Q 35
 ip address dhcp
 ip nat outside
 ip virtual-reassembly in
!

编辑:

我更换了连接 ISP 和 SRX ge-0/0/0 的电缆。没什么好的。

编辑2:

我配置了一个备用 Cisco 交换机来模拟我的 ISP 环境。设置了 VLAN 中继和相同的 DHCP 租用期限。然后我将 SRX 的 ge-0/0/0 连接到该交换机。SRX 的配置被保留。在本次实验中,SRX 行为正常。这让我真的很困惑。

编辑3:

@ryanklein 请求的输出

root@Firewall> show dhcp client statistics                   
warning: dhcp-service subsystem not running - not needed by configuration.

root@Firewall> show dhcp client binding 
warning: dhcp-service subsystem not running - not needed by configuration.

编辑4:

@ryanklein 请求的输出

root@Firewall> show system services dhcp statistics 
Packets dropped:
    Total                      0

Messages received:
    BOOTREQUEST                0
    DHCPDECLINE                0
    DHCPDISCOVER               0
    DHCPINFORM                 0
    DHCPRELEASE                0
    DHCPREQUEST                0

Messages sent:
    BOOTREPLY                  0
    DHCPOFFER                  0
    DHCPACK                    0
    DHCPNAK                    0

root@Firewall> show system services dhcp client 

 Logical Interface name         vlan.35
        Hardware address        xx:xx:xx:xx:xx:xx
        Client status           bound
        Address obtained        142.xxx.xxx.xxx
        Update server           disabled
        Lease obtained at       2015-01-18 03:35:47 NST
        Lease expires at        2015-01-18 03:55:47 NST

DHCP options:
    Code: 1, Type: ip-address, Value: 255.255.252.0
    Name: server-identifier, Value: 142.yyy.yyy.yyy
    Name: router, Value: [ 142.xxx.xxx.1 ]
    Name: name-server, Value: [ 47.55.55.55, 142.166.166.166 ]

root@Firewall> 

编辑5:

我捕获了 SRX 和 ISP 之间的数据,发现有些东西可能有用。

拓扑图已更新(在 SRX 和 ISP 之间添加了缺失的 ONT 设备)。

  • 当 Internet 消失时,ONT 和 SRX 之间的第 2 层通信仍处于活动状态。ONT 似乎一直在向我的 ISP 分配给 SRX 的 IP 地址发送 ARP 查询请求。Internet 消失后,我仍然可以看到那些 ARP 请求和响应。我认为这种行为表明 ONT 不是这个问题的根源。

  • 当 Internet 消失时,DHCP 请求数据包将不会像其他流量一样得到响应。互联网消失后,我尝试在 SRX 上更新我的 IP 地址,但失败了。捕获的数据显示远程端没有响应。

  • Internet 正常时,DHCP 更新成功。当我发出“请求系统服务 dhcp 客户端更新 vlan.35”时,我可以看到 DHCP 请求和相应的 DHCP ACK。

  • (不正确。请参阅下一项)当 Internet 消失时,释放当前的 DHCP 租约并请求一个新的租约将恢复连接。我试图释放当前的 DHCP 租约并更新它,然后 SRX 获得了一个新的 IP 地址,互联网又回来了。捕获的数据显示,虽然单个 DHCP 请求数据包没有得到响应(见上文),但 DHCP 释放数据包会导致DHCP NAK响应。之后,发出 DHCP 发现并获得正确的 DHCP 提议。然后互联网又回来了。然而,当我试图重复这个结果时,没有什么好处:DHCP 释放和 DHCP 发现都没有得到响应。我在更新命令之后发出了发布和更新命令。我不确定无响应行为是否是由于发送这些数据包太快引起的。

  • Internet 消失后,发出 DHCP 发现请求并作为第一次请求进行处理,将恢复 Internet 连接。捕获的数据显示,当 Internet 消失时,发出 DHCP 请求数据包将导致 DHCP NAK 响应。结合上一项的结果,发出 DHCP 请求和 DHCP 释放都会导致 DHCP NAK。但是,好像是第一次从 DHCP 服务器请求 IP 地址(发送 DHCP 发现然后 DHCP 请求)的过程将得到肯定的结果并恢复 Internet 访问。更新:似乎 NAK 并不总是发送......有时 DHCP 请求/释放与 DHCP NAK 一起返回,有时只是沉默......

2个回答

我终于解决了这个问题。通过捕获和比较 JunOS 和 Cisco 发送的 DHCP Discover 数据包,我发现 Cisco 默认发送 Option 64 Client Identifier 和 Option 12 Host Name。但是,JunOS 不会在没有明确指示的情况下发送它们。

我认为我的 ISP 在他们这边设置了过滤器或其他东西。以上两个选项是必须的。当我配置我的 SRX 来发送它们时,一切都通过了。

您可能想要确认的一件事是 SRX 正在使用正确的 DHCPREQUEST 来更新地址,而不是另一个 DHCPDISCOVER。

这是启用调试的方法。

http://kb.juniper.net/InfoCenter/index?page=content&id=KB26748#DHCP_Client

我对瞻博网络的经验有限,但我见过至少有一个主要操作系统在系统时钟不正确时执行此操作。

至少,您想看看更新发生了什么。