这真是一个奇怪的问题。
我正在尝试安装 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 一起返回,有时只是沉默......