我在 HP Procurve 2920 上设置工作 VLAN 和 DHCP 服务器时遇到了问题。我的问题是,我甚至无法在具有静态 IP 地址的 VLAN 之间 ping 通计算机。
winXP pc on VLAN101 with 192.168.1.1 static IP default gateway 192.168.1.2 win2008 server on VLAN100 with 192.168.0.1 and gateway 192.168.0.2
问题是,我甚至无法在 VLAN 之间 ping 客户端,即使禁用了 Windows 防火墙,甚至启用了 ICMPv4 协议允许规则。我可以从两台机器(192.168.0.2 和 192.168.1.2)ping 交换机端口。
DHCP 服务器位于 VLAN100 上,应获取 IP 地址的客户端位于其他 VLAN 上,到目前为止,我只创建了 2 个 VLAN 用于测试目的(但我们不关注 DHCP,因为我甚至无法与启用 IP 路由的客户端通信)。我对交换机进行了出厂重置。下面您可以看到我所做的,我认为这就足够了。
hostname "HP-2920-24G"
module 1 type j9726a
ip routing
snmp-server community "public" unrestricted
oobm
ip address dhcp-bootp
exit
vlan 1
name "DEFAULT_VLAN"
no untagged 1-2,20,24
untagged 3-19,21-23,A1-A2,B1-B2
ip address dhcp-bootp
exit
vlan 100
name "DHCP"
untagged 20,24
ip address 192.168.0.2 255.255.255.0
exit
vlan 101
name "Assy bench #1"
untagged 1
ip address 192.168.1.2 255.255.255.0
ip helper-address 192.168.0.1
exit
vlan 102
name "Assy bench #2"
untagged 2
ip address 192.168.2.2 255.255.255.0
ip helper-address 192.168.0.1
exit
对于此配置,我尝试了很多东西,添加 ip default-gateway 192.168.0.1(尽管从论坛上我发现的情况来看,如果启用 ip 路由就不需要这样做);添加路由 0.0.0.0/0 192.168.0.1;添加 primary-vlan 100;添加 spanning-tree enabled;添加路由 192.168.0.0/24 192.168.0.1 等等...我觉得我已经在交换机端尝试了所有能尝试的方法。我开始觉得 DHCP 服务器有点问题,但我认为至少 ping 在这种设置下可以正常工作。当 PC 连接到 DHCP vlan 时,DHCP 可以工作(这就是我为了测试目的将第二个端口添加到 VLAN 的原因)实际上,有趣的是,在我尝试恢复出厂设置的前一天,DHCP 在客户端上分配了 IP,但只分配了一次,我们不知道为什么,而且这种情况没有再发生。
如果有人能提供一些有用的见解,我将不胜感激。我感到很迷茫,因为我没想到这么简单的设置会有什么大障碍。
编辑#1:
HP-2920-24G(config)# show ip route
IP Route Entries
Destination Gateway VLAN Type Sub-Type Metric Dist.
------------------ --------------- ---- --------- ---------- ---------- -----
127.0.0.0/8 reject static 0 0
127.0.0.1/32 lo0 connected 1 0
192.168.0.0/24 DHCP 100 connected 1 0
192.168.1.0/24 Assy bench #1 101 connected 1 0
显示IP:
HP-2920-24G(vlan-101)# show ip
Internet (IP) Service
IP Routing : Enabled
Default TTL : 64
Arp Age : 20
Domain Suffix :
DNS server :
| Proxy ARP
VLAN | IP Config IP Address Subnet Mask Std Local
-------------------- + ---------- --------------- --------------- ----------
DEFAULT_VLAN | DHCP/Bootp
DHCP | Manual 192.168.0.2 255.255.255.0 No No
Assy bench #1 | Manual 192.168.1.2 255.255.255.0 No No
Assy bench #2 | Manual 192.168.2.2 255.255.255.0 No No
ping:
HP-2920-24G(config)# ping 192.168.0.1
192.168.0.1 is alive, time = 3 ms
HP-2920-24G(config)# ping 192.168.0.2
192.168.0.2 is alive, time = 1 ms
HP-2920-24G(config)# ping 192.168.1.2
192.168.1.2 is alive, time = 1 ms
HP-2920-24G(config)# ping 192.168.1.1
192.168.1.1 is alive, time = 2 ms
图表:- 蓝色为控制台电缆
编辑#2: 服务器可能有问题,我可能应该重新安装它。所以现在我有 VLAN100(dhcp windows server 2008)和 VLAN 101、102。连接在 101 和 102 上的 XP 计算机可以互相 ping 通,可以 ping 通交换机上的所有活动端口,但无法 ping 通服务器计算机。服务器计算机可以 ping 通交换机上的端口(不同的 VLAN),但无法 ping 通 XP 计算机。我绝望了,花了 2 天时间尝试了所有方法,却没有想到这一点。如果需要更多帮助,我会通知您。
编辑#3: 我现在已经全部正常工作了,不知道为什么会这样,但是 DHCP 服务器实际上不会联系其他 VLAN 上的计算机,除非在路由表中添加到它们的静态路由。
ROUTE -p ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.2
ROUTE -p ADD 192.168.2.0 MASK 255.255.255.0 192.168.0.2
此后,一切都运行正常。但仍然感到困惑,甚至尝试删除默认网关和路由,但毫无效果。再次添加路由,BAM!又恢复正常。这么简单的事情竟然如此痛苦。
干杯!
答案1
因此从您的设置来看,您正在使用 HP 2920 作为路由器。为此,您需要在 2920 上添加静态路由,以允许 VLAN 之间进行通信。如果您将以下内容添加到您的配置中,它应该可以修复它。将通往外部世界的路由设置为您的默认路由 - 为了便于说明,我将其设置为 1.1.1.1,将其替换为您需要的任何内容(最有可能是防火墙的 IP,如果您有防火墙的话)
ip route 0.0.0.0 0.0.0.0 1.1.1.1
ip route 192.168.0.0 255.255.255.0 192.168.0.3
ip route 192.168.1.0 255.255.255.0 192.168.1.3
ip route 192.168.2.0 255.255.255.0 192.168.2.3
第一个 IP 代表网络,第二个 IP 代表网关后的下一跳地址。传统上,当这样做时,您会将交换机上的 vlan 接口设置为第一个 IP,并将其用作默认网关,下一跳地址将是 .2。我从未见过将接口设置为 .2,所以我假设下一跳将设置为 .3,但这里可能有人纠正我。无论如何,您都需要路由 - 试一试。
编辑:进一步说明,每当您希望流量从一个 vlan(或子网)流向另一个 vlan 时,都必须对其进行路由。您可以从交换机 ping 不同的 vlan,因为流量永远不必离开该 vlan。从 192.168.0.1 到 192.168.1.1 失败,因为它们位于两个不同的子网中,并且没有路由告诉流量如何到达另一个网络。
答案2
默认行为似乎发生了变化:HP 问答
启用路由后,任何配置了 IP 地址的 VLAN 都是路由 VLAN。如果您不希望在特定 VLAN 上路由流量,请不要在该 VLAN 上配置 IP 地址。
这当然是当前边缘交换机在这里的设置方式。