DHCP Snooping
实验拓扑
需求:
1, client获取192.168.20.0/24网段前面地址。
2, 为了防止DHCP欺骗攻击,在交换机开启DHCP snooping。
初始化配置:
SW1配置:
sw1(config)#vlan 2 sw1(config-vlan)#name
sw1(config-vlan)#name SNOOPING sw1(config-vlan)#exit
sw1(config)#int rang fa0/1-3
sw1(config-if-range)#switchport host switchport mode will be set to access spanning-tree portfast will be enabled channel group will be disabled
sw1(config-if-range)#switchport access vlan 2 sw1(config-if-range)#end sw1#
DHCP_SER配置:
DHCP_SER(config)#interface fa0/0
DHCP_SER(config-if)#ip add 192.168.20.254 255.255.255.0 DHCP_SER(config-if)#no shu DHCP_SER(config-if)#exit
DHCP_SER(config)#ip dhcp pool CCIE
DHCP_SER(dhcp-config)#network 192.168.20.0 /24 DHCP_SER(dhcp-config)#default-router 192.168.20.254 DHCP_SER(dhcp-config)#exit
DHCP_SER(config)#ip dhcp excluded-address 192.168.20.200 192.168.20.254 DHCP_SER(config)#
DHCP snooping配置:
SW1配置:
sw1(config)#ip dhcp snooping
sw1(config)#ip dhcp snooping vlan 2 //还须在vlan开启 sw1(config)#interface fa0/3
sw1(config-if)#ip dhcp snooping trust //定义dhcp服务器位置
测试:
Client1(config)#interface fa0/0 Client1(config-if)#no shut
Client1(config-if)#ip address dhcp
*Jan 31 03:08:13.451: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Jan 31 03:08:14.451: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up Client1(config-if)#
可知Client没有拿到地址,在服务器上开启debug查看原因。 DHCP_SER#debug ip dhcp server events DHCP server event debugging is on.
DHCP_SER#debug ip dhcp server packet DHCP server packet debugging is on. DHCP_SER#
*Jan 31 03:03:09.659: DHCPD: inconsistent relay information.
*Jan 31 03:03:09.659: DHCPD: relay information option exists, but giaddr is zero. 根据如上所示为relay information存在,但是自己却不trust。在三层交换机开启DHCP snooping后,默认会插入82 option,但是思科路由器却不trust,有两个解决办法,在SW1关闭option或者DHCP server 接口下trust。 DHCP_SER(config)#int fa0/0
DHCP_SER(config-if)#ip dhcp relay information trusted DHCP_SER(config-if)#end DHCP_SER# Client1#
*Jan 31 03:20:16.843: %SYS-5-CONFIG_I: Configured from console by console
*Jan 31 03:20:20.939: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.20.1, mask 255.255.255.0, hostname Client1 Client1#
Client2通过关掉SW1 option后拿地址:
sw1(config)#no ip dhcp snooping information option DHCP_SER(config)#interface fa0/0
DHCP_SER(config-if)#no ip dhcp relay information trusted Client2(config)#interface fa0/0 Client2(config-if)#no shutdown Client2(config-if)#ip address dhcp
*Jan 31 03:21:54.103: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.20.2, mask 255.255.255.0, hostname Client2 Client2(config-if)#
DHCP snooping扩展
实验拓扑
在原来基础上添加SW2、client3,client3同样属于vlan 2;交换机间起trunk。 需求:
1, client3通过DHCP_SER拿地址。 2, 在SW1、SW2启用DHCP snooping。
初始化配置:
SW1配置:
sw1(config)#interface rang fa0/23-24
sw1(config-if-range)#switchport trunk encapsulation dot1q sw1(config-if-range)#switchport mode trunk sw1(config-if-range)#end sw1#
SW2配置:
SW2(config)#interface rang fa0/23-24
SW2(config-if-range)#switchport trunk encapsulation dot1q SW2(config-if-range)#switchport mode trunk SW2(config-if-range)#exit SW2(config)#vlan 2
SW2(config-vlan)#name SNOOPING SW2(config-vlan)#exit SW2(config)#int fa0/4
SW2(config-if)#switchport host
switchport mode will be set to access spanning-tree portfast will be enabled channel group will be disabled
SW2(config-if)#switchport access vlan 2 SW2(config-if)#exit SW2(config)#
DHCP snooping配置:
DHCP_SER配置:
DHCP_SER(config)#int fa0/0
DHCP_SER(config-if)#ip dhcp relay information trusted DHCP_SER(config-if)#end DHCP_SER# SW1配置:
sw1(config)#ip dhcp snooping
sw1(config)#ip dhcp snooping vlan 2 sw1(config)#interface fa0/3
sw1(config-if)#ip dhcp snooping trust
sw1(config)#ip dhcp snooping information option allow-untrusted 后,默认在untrusted接口上不允许收到82 option。 SW2配置:
Sw2(config)#ip dhcp snooping
Sw2(config)#ip dhcp snooping vlan 2
//启用snooping SW2(config)#int rang fa0/23-24
SW2(config-if-range)#ip dhcp snooping trust
测试:
Client3(config)#interface fa0/1 Client3(config-if)#no shutdown Client3(config-if)#ip address dhcp
*Jan 31 03:25:54.103: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/1 assigned DHCP address 192.168.20.3, mask 255.255.255.0, hostname Client3 Client2(config-if)#
sw1#show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
58:35:D9:B1:36:69 192.168.20.3 85861 dhcp-snooping 2 FastEthernet0/24
Total number of bindings: 1 sw1#
Note:
当连接服务器的交换机不插入82 option,另一台插入option后,不能拿地址;所以比较好的办法为在服务器上定义relay trust option,交换机全部插入option。