Cisco - 如何配置 IPHelper 以使用多个交换机中继 DHCP?

网络工程 思科 思科-ios
2021-07-25 07:30:09

我正在学习 Cisco Packet Tracer。现在我有一个问题:

- A DHCP Server connect to switch A, with 3 VLAN 1,2,3
- 2 switches B,C connect to switch A, B is VLAN 2 and C is VLAN 3
- Some computer connect to B and C

在此处输入图片说明

如果所有计算机和服务器都连接到1个交换机,我可以使用IP助手来帮助不同VLAN中的计算机联系DHCP服务器,但我不知道在多台交换机的上述场景中如何做到这一点。那我该怎么做呢?一点解释都很棒。

编辑:我的意思是:我应该将 2 个交换机之间的端口设置为中继还是只是访问?我是否应该像主交换机一样设置其他交换机的 IP 地址、IP 助手地址、VLAN 数据库?

编辑:按照 Dougrritzer 和 Teun Vink 的回答,我设置如下:

开关A:

enable
conf t

int fa0/1
switchport trunk encapsulation dot1q
switchport native vlan 2
switchport mode trunk
exit

int fa0/3
switchport access vlan 1
switchport mode access
exit

int vlan 1
ip address 192.168.1.1 255.255.255.0
exit

int vlan 2
ip address 192.168.2.1 255.255.255.0
exit

ip routing
end

开关B:

enable
conf t

int fa0/1
switchport trunk encapsulation dot1q
switchport native vlan 2
switchport mode trunk
exit

int fa0/2
switchport access vlan 2
switchport mode access
exit

int fa0/2
switchport access vlan 2
switchport mode access
exit

int vlan 2
ip helper-address 192.168.1.2
end

端口 fa0/2 上的计算机仍然“DHCP 请求失败”。我在某些方面错了吗?

4个回答

我应该将 2 台交换机之间的端口设置为 Trunk 还是 Access?

在这种情况下真的没有关系。由于 SwB 仅位于 VLAN 2 上,而 SwC 仅位于 VLAN 3 上,因此您可以使用中继/标记端口或访问端口提供访问。但是,如果您希望 SwB 和 SwC 上的管理 SVI 像 SwA 一样位于 VLAN 1 中,它们将需要是中继/标记端口。

我是否应该像主交换机一样设置其他交换机的 IP 地址、IP 助手地址、VLAN 数据库?

IP helper 语句不适用于 L2 VLAN,而是应用于 L3 VLAN SVI(交换机虚拟接口)。他们应该知道他们将被配置为使用的 VLAN,但不需要任何 IP 配置(除了用于管理目的)。

在您的示例中,SwA 用作您的 L3 网关,并且应该为每个 VLAN 分配一个 SVI,并分配了适当的 IP 地址。您可以在 SVI 中为 VLAN 2 和 VLAN 3 配置 IP 帮助程序语句,以引用 DHCP 服务器的 IP 地址。

当站点在 VLAN 上广播出 DHCP 发现帧时,SVI(存在于该 VLAN 上)将听到它。如果它配置了 IP helper 语句,它就会将请求中继/代理到配置的 IP 地址(应该是您的 DHCP 服务器)。

端口 fa0/2 上的计算机仍然“DHCP 请求失败”。我在某些方面错了吗?

是的,您将 IP 帮助程序语句放在 SwB(没有 IP 地址)上的 SVI 上。它应该位于 SwA 上 VLAN 2 的 SVI 上。

请注意,如果您是第一次配置 SVI,默认情况下它是禁用的。要启用 SVI,您需要在配置中添加no shutdown语句,除非您之前已配置并启用了 SVI。

这还假设 DHCP 服务器连接到 SwA 上的 Fa0/3,并且站连接到基于您的上述配置的 SwB 上的 Fa0/2。

编辑:最后要注意的是,您的 DHCP 服务器需要进行配置以了解它正在为多个网络提供服务。如果尚未对其进行配置,则它可能无法提供使设置按您希望的方式工作所需的正确信息。

要使一个 VLAN 中的主机从另一个 VLAN 中的 DHCP 服务器接收 DHCP 信息,您必须配置 VLAN 间路由,无论是单臂路由器配置还是使用第 3 层交换机。

在继续之前,请确保您完全了解第 2 层和第 3 层之间的区别。

当您谈论中继和访问是第 2 层时,我会忽略它,因为您的问题是关于 DHCP。由于 DHCP 中继是第 3 层功能,因此您可以在路由器接口配置它

基本上,您的问题的答案是,您必须在路由器上配置一个 DHCP 中继/IP 助手,以“终止”您想要使用 DHCP 的第 3 层网络。

由于交换机 A 似乎是在所有 3 个网络之间路由的路由器(根据您的绘图),因此连接到交换机 B(vlan 2)的 PC 能够成功执行来自 vlan 中的 DHCP 服务器的 DHCP 请求(并接收答复) 1,您将在接口 vlan 2 上的交换机 A 上配置 DHCP 中继,并将 DHCP 服务器的 IP 地址用作目标,因为它存在于 vlan 1 中。

vlan 2 和 vlan 1 之间的路由器路由会将 DHCP 广播转换为单播,并使用自己的 IP 将其发送到 DHCP 服务器。它还将转换 DHCP 服务器的回复,以便它可以到达 vlan 2 中的请求机器。

交换机和交换机之间的连接应该有中继端口和交换机和主机之间的访问端口。中继端口标有您希望在其上允许的 vlan,这就是原因。访问端口剥离标签,其中的帧默认为本地 vlan(默认为 vlan 1)。要中继端口,假设 fa0/1 是交换机 A 上连接到交换机 B 的端口

SwitchA(config) int fa0/1

SwitchA(config-if)switchport encapsulation dot1q

SwitchA(config-if)switchport mode trunk allowed vlan 2

对使用 vlan 3 连接到 C 的 A 上的端口执行此操作。也在交换机 B 和 C 上执行此操作。这确保交换机仅允许本机 + 标记的 vlan。

此外,在 vlan 1、2 和 3 上添加 IP 地址。使用不同的子网掩码。(这就是 vlan 的作用,单独的 LAN,单独的子网,单独的广播域)

SwitchA(config)#int vlan 1

SwitchA(config-if)#ip address 192.168.10.1 255.255.255.0

Have the ports to the hosts as access ports.

SwitchB(config)#int fa0/10

SwitchB(config-if)# switchport mode access

您的交换机具有第 3 层功能,因此无需在棒上安装路由器。在switchA上开启ip routing。无需在其他人上启用它

SwitchA(config)#ip routing

SwitchA(config)#int vlan 1

SwitchA(config-if)#ip address 192.168.10.1 255.255.255.0

SwitchA(config-if)#int vlan 2

SwitchA(config-if)#ip address 192.168.20.1 255.255.255.0

然后在 switchB 和 C 上,在 vlan 2 和 3上设置 ip helper-address。我假设在这种情况下 dhcp 服务器位于“vlan 1”中,因此地址在其子网中,可能是 .40

SwitchB(config)#int vlan 2

SwitchB(config-if)#ip helper-address 192.168.10.40