示例:防范地址欺骗和第 2 层 DoS 攻击
您可以在交换机的接入接口上配置 DHCP 侦听、动态 ARP 检查 (DAI) 和 MAC 限制,以保护交换机和以太网 LAN 免受地址欺骗和第 2 层拒绝服务 (DoS) 攻击。要获取这些功能的基本设置,您可以使用交换机的默认配置实现端口安全,配置 MAC 限制,并在 VLAN 上启用 DHCP 侦听和 DAI。当 DHCP 服务器连接到与 DHCP 客户端(网络设备)相连的交换机不同时,您可以配置这些功能。
此示例介绍如何在主机从连接到第二台交换机的 DHCP 服务器获取 IP 地址和租赁时间的交换机上配置端口安全功能:
要求
此示例使用以下硬件和软件组件:
此示例中的一台 EX 系列交换机或 QFX3500 交换机 — 交换机 1 。
此示例中还有一台 EX 系列交换机或 QFX3500 交换机 — 交换机 2 。第二台交换机上未配置端口安全。
EX 系列交换机的 Junos OS 9.0 或更高版本或 QFX 系列的 Junos OS 12.1 或更高版本。
连接到交换机 2 的 DHCP 服务器。您可使用服务器向连接到交换机 1 的网络设备提供 IP 地址。
至少两个网络设备(主机),它们连接到交换机 1 上的接入接口。这些设备是 DHCP 客户端。
在配置 DHCP 侦听、DAI 和 MAC 限制端口安全功能之前,请确保您具有:
将 DHCP 服务器连接到交换机 2。
在交换机 1 上配置 VLAN。请参阅平台的任务:
示例:为 QFX 系列设置与多个 VLAN 的桥接
概述和拓扑
以太网 LAN 容易应对网络设备上的欺骗和 DoS 攻击。为了保护设备免遭此类攻击,您可以配置:
DHCP 侦听以验证 DHCP 服务器消息
DAI,抵御 ARP 欺骗
MAC 限制,以限制交换机的 MAC 地址数量,这会增加其 MAC 地址缓存
此示例说明如何在交换机 1 上配置这些端口安全功能。交换机 1 连接到另一台交换机 (Switch 2),该交换机未配置端口安全功能。交换机 2 连接到 DHCP 服务器(请参阅 图 1。)连接到交换机 1 的网络设备(主机)发送 IP 地址请求(这些网络设备为 DHCP 客户端)。这些请求将从交换机 1 传输到交换机 2,然后传输到连接到交换机 2 的 DHCP 服务器。对请求的响应沿着请求后面的反向路径传输。
此示例的设置包括两个交换机上的 VLAN employee-vlan
。
图 1 显示了该示例的网络拓扑。
拓扑
此示例的拓扑组件如 表 1 所示。
属性 | 设置 |
---|---|
交换机硬件 |
一台 EX 系列交换机或一台 QFX3500 交换机(交换机 1),另外一台 EX 系列交换机或 QFX3500 交换机(交换机 2) |
VLAN 名称和 ID |
|
VLAN 子网 |
|
两台交换机上的中继接口 |
ge-0/0/11 |
交换机 1 上的接入接口 |
ge-0/0/1、ge-0/0/2 和 ge-0/0/3 |
交换机 2 上的接入接口 |
ge-0/0/1 |
DHCP 服务器接口 |
交换机 2 上的 ge-0/0/1 |
交换机 1 最初配置为默认端口安全设置。在交换机上的默认配置中:
交换机上将激活安全端口访问。
交换机不会丢弃任何数据包,即默认设置。
所有 VLAN 上均禁用 DHCP 侦听和 DAI。
所有接入接口均不受信任,中继接口可信;这些是默认设置
在本示例的配置任务中,您可在两个交换机上配置一个 VLAN。
除了配置 VLAN,您还可在交换机 1 上启用 DHCP 侦听。在此示例中,您还启用了交换机 1 的 5
DAI 和 MAC 限制。
由于将交换机 2 连接到交换机 1 的接口是中继接口,因此无需将此接口配置为可信接口。如上文所述,中继接口是自动信任的,因此从 DHCP 服务器发送到交换机 2,然后发送到交换机 1 的 DHCP 消息值得信赖。
在交换机 1 上配置 VLAN、接口和端口安全功能
程序
CLI 快速配置
要快速配置 VLAN、接口和端口安全功能,请复制以下命令并将其粘贴到交换机终端窗口中:
[edit] set vlans employee-vlan vlan-id 20 set interfaces ge-0/0/11 unit 0 family ethernet-switching port-mode trunk set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members 20 set interfaces ge-0/0/2 unit 0 family ethernet-switching vlan members 20 set interfaces ge-0/0/3 unit 0 family ethernet-switching vlan members 20 set interfaces ge-0/0/11 unit 0 family ethernet-switching vlan members 20 set ethernet-switching-options secure-access-port interface ge-0/0/1 mac-limit 5 action drop set ethernet-switching-options secure-access-port vlan employee-vlan arp-inspection set ethernet-switching-options secure-access-port vlan employee-vlan examine-dhcp clear ethernet-switching table interface ge-0/0/1
逐步过程
要在交换机 1 上配置 MAC 限制、VLAN 和接口,并在 VLAN 上启用 DAI 和 DHCP:
使用 VLAN ID
20
配置 VLANemployee-vlan
:[edit vlans] user@switch1# set employee-vlan vlan-id 20
将交换机 1 上的接口配置为中继接口:
[edit interfaces] user@switch1# set ge-0/0/11 unit 0 family ethernet-switching port-mode trunk
将 VLAN 与接口 ge-0/0/1、ge-0/0/2、ge-0/0/3 和 ge-0/0/11 相关联:
[edit interfaces] user@switch1# set ge-0/0/1 unit 0 family ethernet-switching vlan members 20 user@switch1# set ge-0/0/2 unit 0 family ethernet-switching vlan members 20 user@switch1# set ge-0/0/3 unit 0 family ethernet-switching vlan members 20 user@switch1# set ge-0/0/11 unit 0 family ethernet-switching vlan members 20
在 VLAN 上启用 DHCP 侦听:
[edit ethernet-switching-options secure-access-port] user@switch1# set vlan employee-vlan examine-dhcp
在 VLAN 上启用 DAI:
[edit ethernet-switching-options secure-access-port] user@switch1# set vlan employee-vlan arp-inspection
在 ge-0/0/1 上配置 MAC 限制
5
并使用默认操作(drop
如果超过限制,将丢弃具有新地址的数据包):[edit ethernet-switching-options secure-access-port] user@switch1# set interface ge-0/0/1 mac-limit 5 drop
从接口 ge-0/0/1 中清除现有 MAC 地址表条目:
user@switch1# clear ethernet-switching table interface ge-0/0/1
结果
显示配置的结果:
[edit] user@switch1# show ethernet-switching-options { secure-access-port { interface ge-0/0/1.0{ mac-limit 5 action drop; } vlan employee-vlan { arp-inspection; examine-dhcp; } } } interfaces { ge-0/0/1 { unit 0 { family ethernet-switching { vlan { members 20; } } } } ge-0/0/2 { unit 0 { family ethernet-switching { vlan { members 20; } } } } ge-0/0/3 { unit 0 { family ethernet-switching { vlan { port-mode trunk; members 20; } } } } ge-0/0/11 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members 20; } } } } } vlans { employee-vlan { vlan-id 20; } }
在交换机 2 上配置 VLAN 和接口
要在交换机 2 上配置 VLAN 和接口:
程序
CLI 快速配置
要快速配置交换机 2 上的 VLAN 和接口,请复制以下命令并将其粘贴到交换机终端窗口中:
[edit] set vlans employee-vlan vlan-id 20 set interfaces ge-0/0/11 unit 0 family ethernet-switching port-mode trunk set interfaces ge-0/0/11 unit 0 family ethernet-switching vlan members 20 set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members 20
逐步过程
要在交换机 2 上配置 VLAN 和接口:
使用 VLAN ID
20
配置 VLANemployee-vlan
:[edit vlans] user@switch1# set employee-vlan vlan-id 20
将交换机 2 上的接口配置为中继接口:
[edit interfaces] user@switch2# set ge-0/0/11 unit 0 ethernet-switching port-mode trunk
将 VLAN 与接口 ge-0/0/1 和 ge-0/0/11 相关联:
[edit interfaces] user@switch2# set ge-0/0/1 unit 0 family ethernet-switching vlan members 20 user@switch2# set ge-0/0/11 unit 0 family ethernet-switching vlan members 20
结果
显示配置的结果:
[edit] user@switch2# show interfaces { ge-0/0/1 { unit 0 { family ethernet-switching { vlan { members 20; } } } } ge-0/0/11 { unit 0 { family ethernet-switching { port-mode trunk; vlan { members 20; } } } } } vlans { employee-vlan { vlan-id 20; } }
验证
要确认配置工作正常。
验证 DHCP 侦听是否在交换机 1 上正常工作
目的
验证 DHCP 侦听是否在交换机 1 上工作。
行动
从连接到交换机的网络设备(此处为 DHCP 客户端)发送一些 DHCP 请求。
当交换机 2 通过的接口向连接到交换机 1 的客户端发送 DHCP 服务器回复时,发出操作模式命令 show dhcp snooping binding 将显示 DHCP 侦听信息。服务器已提供 IP 地址和租赁:
user@switch1> show dhcp snooping binding DHCP Snooping Information: MAC Address IP Address Lease Type VLAN Interface ----------------- ---------- ----- ---- ---- --------- 00:05:85:3A:82:77 192.0.2.17 600 dynamic employee—vlan ge-0/0/1.0 00:05:85:3A:82:79 192.0.2.18 653 dynamic employee—vlan ge-0/0/1.0 00:05:85:3A:82:80 192.0.2.19 720 dynamic employee—vlan ge-0/0/1.0 00:05:85:3A:82:81 192.0.2.20 932 dynamic employee—vlan ge-0/0/1.0 00:05:85:3A:82:83 192.0.2.21 1230 dynamic employee—vlan ge-0/0/1.0 00:05:85:3A:82:90 192.0.2.20 932 dynamic employee—vlan ge-0/0/2.0 00:05:85:3A:82:91 192.0.2.21 1230 dynamic employee—vlan ge-0/0/3.0
意义
输出显示,对于每个 MAC 地址,分配的 IP 地址和租赁时间,即租赁到期前剩余时间(以秒为时)。
验证 DAI 是否在交换机 1 上正常工作
目的
验证 DAI 是否在交换机 1 上工作。
行动
从连接到交换机的网络设备发送一些 ARP 请求。
发出操作模式命令 show arp inspection statistics 以显示 DAI 信息:
user@switch1> show arp inspection statistics ARP inspection statistics: Interface Packets received ARP inspection pass ARP inspection failed ---------- –-------------–- ------------------- --------------------- ge-0/0/1.0 7 5 2 ge-0/0/2.0 10 10 0 ge-0/0/3.0 18 15 3
意义
输出显示每个接口接收和检查的 ARP 数据包数,其中列出了经过的数据包数量和每个接口上的检查失败数。交换机将 ARP 请求和回复与 DHCP 侦听数据库中的条目进行比较。如果 ARP 数据包中的 MAC 地址或 IP 地址与数据库中的有效条目不匹配,则数据包将被丢弃。
验证 MAC 限制是否在交换机 1 上正常工作
目的
验证 MAC 限制是否对交换机 1 有效。
行动
发出操作模式命令 show ethernet-switching table 以显示从 ge-0/0/1 上的主机发送 DHCP 请求时学习的 MAC 地址:
user@switch1> show ethernet-switching table
Ethernet-switching table: 6 entries, 5 learned VLAN MAC address Type Age Interfaces employee-vlan 00:05:85:3A:82:77 Learn 0 ge-0/0/1.0 employee-vlan 00:05:85:3A:82:79 Learn 0 ge-0/0/1.0 employee-vlan 00:05:85:3A:82:80 Learn 0 ge-0/0/1.0 employee-vlan 00:05:85:3A:82:81 Learn 0 ge-0/0/1.0 employee-vlan 00:05:85:3A:82:83 Learn 0 ge-0/0/1.0 employee-vlan * Flood - ge-0/0/1.0
意义
输出显示,已为接口学习了五个 MAC 地址,这些接口 ge-0/0/1
对应于配置中设置的 5
MAC 限制。输出的最后一行显示已丢弃第六个 MAC 地址请求,如列中的 MAC address
星号 (*) 所示。