配置R1为DHCPServer,R2、R4为DHCPClient,R3为静态IP地址:
R1(config)#intf0/0
R1(config-if)#ipadd172.16.1.1255.255.255.0
R1(config-if)#nosh
R1(config)#servicedhcp
R1(config)#ipdhcppoolDHCP_POOL
R1(config-config)#network172.16.1.0255.255.255.0
R1(config)#ipdhcpexcluded-address172.16.1.1172.16.1.1
R1(config)#ipdhcpexcluded-address172.16.1.3172.16.1.3
R2(config)#intf0/0
R2(config-if)#ipadddhcp
R2(config-if)#nosh
R3(config)#intf0/0
R3(config-if)#ipadd172.16.1.3255.255.255.0
R3(config-if)#nosh
R4(config)#intf0/0
R4(config-if)#ipadddhcp
R4(config-if)#nosh
SW1(config)#intport-channel1
SW1(config)#intrangef0/11-12
SW1(config-if)#switchportencapsulationdot1q
SW1(config-if)#switchportmodetrunk
SW1(config-if)#channel-group1modeon
SW2(config)#intport-channel1
SW2(config)#intrangef0/11-12
SW2(config-if)#switchportencapsulationdot1q
SW2(config-if)#switchportmodetrunk
SW2(config-if)#channel-group1modeon
配置DHCPSNOOPING
SW1(config)#ipdhcpsnooping//启用DHCP监听功能
SW1(config)#ipdhcpsnoopingvlan1//配置SW1监听Vlan1的DHCP数据包
SW1(config)#ipdhcpsnoopinginformationoptionallow-untrusted
//配置SW1能从非信任端口接收带Option82的DHCP报文
SW1(config)#ipdhcpsnoopingverifymac-address//检测非信任端口CHADDR字段与源MAC是否相同
SW1(config)#ipdhcpsnoopingdatabaseflash:dhcp_snooping.db//DHCP监听绑定表保存在Flash中
SW1(config)#ipdhcpsnoopingdatabasewrite-delay15//DHCP监听绑定表更新后等待15秒再保存
SW1(config)#ipdhcpsnoopingdatabasetimeout15//DHCP监听绑定表保存失败后,只重新尝试15秒
SW1#ipdhcpsnoopingbinding0023.04e5.b221vlan1172.16.1.3intf0/3expiry4294967295//手工添加绑定,因为静态IP地址不会自动生成DHCP监听绑定条目,它也是DAI和IPSG的基础
SW1(config)#intf0/1
SW1(config-if)#ipdhcpsnoopingtrust//配置本端口为信任端口
SW1(config)#intrangef0/11-12
SW1(config-if)#ipdhcpsnoopinglimitrate20//限制非信任端口每秒钟能接受的DHCP数据包为20个
SW2(config)#ipdhcpsnooping
SW2(config)#ipdhcpsnoopingvlan1
SW2(config)#ipdhcpsnoopingverifymac-address
SW2(config)#ipdhcpsnoopingdatabaseflash:dhcp_snooping.db
SW2(config)#ipdhcpsnoopingdatabasewrite-delay15
SW2(config)#ipdhcpsnoopingdatabasetimeout15
SW1#ipdhcpsnoopingbinding0023.04e5.b221vlan1172.16.1.3intf0/3expiry42967295
SW2(config)#intrangef0/11-12
SW2(config-if)#ipdhcpsnoopingtrust
SW2(config)#intrangef0/3-4
SW2(config-if)#ipdhcpsnoopinglimitrate10
R1(config)#ipdhcprelayinformationtrust-all//配置DHCPServer能接收Option82为0的DHCP报文
实验调试
SW1#showipdhcpsnoopingbinding//查看监听绑定表
配置DAI:
DAI根据DHCP监听绑定表来工作;DAI也分为信任端口和非信任端口,默认所有端口都为非信任端口;DAI检查所有非信任端口请求和响应的ARP数据包,对不符合DHCP监听绑定表要求的ARP数据包丢弃。所以交换机中必须要有所有非信任端口主机的监听绑定条目,否则该主机将不能通信。这将使所有主机都被迫采用DHCP获取IP地址(或管理员指定的IP地址),因为DHCP监听绑定表已经对其进行了绑定,可以有效地防止用户私自更改指定IP地址。
SW1(config)#iparpinspectionvlan1//在Vlan1启用DAI
SW1(config)#iparpinspectionvalidatesrc-macdst-macip//检查ARP(请求和响应)报文
中的源MAC地址、目的MAC地址、源IP地址和DHCPSnooping绑定中的信息是否一致
SW1(config)#intf0/1
SW1(config-if)#iparpinspectiontrust//配置本接口为信任接口
SW1(config)#intrangef0/11-12
SW1(config-if)#iparpinspectionlimitnone//取消ARP包的限制,默认15个包/秒
SW2(config)#iparpinspectionvlan1
SW2(config)#iparpinspectionvalidatesrc-macdst-macip
SW2(config)#intrangef0/11-12
SW2(config-if)#iparpinspectiontrust
SW2(config)#intrangef0/3-4
SW2(config-if)#iparpinspectionlimit10
实验调试
SW1#showiparpinspection//查看DAI信息
SW1#showiparpinspectioninterfaces//查看DAI接口状态和ARP包的数量限制
配置IPSG:
默认时,IPSG不检查所有接口的数据包,因此IPSG只需要在不信任接口上进行配置即可。
SW1(config)#intf0/2
SW1(config-if)#ipverifysourceport-security//在本接口启用IPSG功能
SW2(config)#intrangef0/3-4
SW2(config-if)#ipverifysourceport-security
SW2#ipsourcebinding0023.04e5.b221vlan1172.16.1.3intf0/3//手工在IP源绑定表中添加静态IP地址记录
说明:使用“ipdhcpsnoopingbinding”命令手工创建DHCP监听绑定条目时,会自动在IP源绑定表中创建记录;然而使用“ipsoucebinding”命令手工创建IP源绑定条目时,则不会在DHCP监听绑定表中创建记录。
配置端口安全特性:
由于试验中开启了“源IP地址和源MAC过滤”,所以同时要配置端口安全功能。
SW1(config)#intf0/2
SW1(config-if)#switchportmodeaccess
SW1(config-if)#switchportport-security
SW1(config-if)#switchportport-securitymax-mac-address1
SW1(config-if)#switchportport-securitymac-addresssticky
SW1(config-if)#switchportport-securityviolationshutdown
SW2(config)#intrangef0/3-4
SW2(config-if)#switchportmodeaccess
SW2(config-if)#switchportport-security
SW2(config-if)#switchportport-securitymax-mac-address1
SW2(config-if)#switchportport-securitymac-addresssticky
SW2(config-if)#switchportport-securityviolationshutdown
IPSG的2种过滤类型:
1.源IP地址过滤:根据源IP地址对IP流量进行过滤,只有当源IP地址与源绑定条目匹配时IP流量才允许通过。
①接口下“ipverifysource”命令,表示只开启“源IP地址过滤”模式;
②当交换机只使用“源IP地址过滤”时,IP源防护功能与端口安全功能是相互独立的关系。
2.源IP和源MAC地址过滤:根据源IP地址和源MAC地址对IP流量进行过滤,只有当源IP地址和源MAC地址都与IP源绑
定条目匹配时IP流量才允许通过。
①接口下“ipverifysourceport-security”命令,表示开启“源IP地址和源MAC过滤”模式;
②当交换机使用“源IP地址和源MAC地址过滤”时,IP源防护功能与端口安全功能是“集成”关系,即需要同
时开启端口安全功能才能完成源IP地址和源MAC地址过滤;
③当以源IP和源MAC地址作为过滤时,为了确保DHCP协议能够正常的工作,还必须启用DHCP监听选项82功能。
对于没有选项82的数据,交换机不能确定用于转发DHCP服务器响应的客户端主机端口,DHCP服务器响应将被丢弃,客户端也不能获得IP地址。
实验调试
SW1#showipverifysource
SW1#showipsourcebinding//查看IP源绑定表