通过snmp协议获取mac地址

14 MAC地址配置
以太网交换机利用MAC地址表的信息在数据链路层对报文进行快速寻址转发,本文是对MAC地址的配置方法进行描述

14.1 理解MAC地址表
14.1.1 概述
通过识别报文的数据链路层信息对报文转发是以太网交换机的主要功能(称为二层转发功能),以太网交换机通过报文所携带的目的MAC地址信息将报文转发到相应的端口,以太网交换机采用MAC地址表存储报文转发时所需要的目的MAC地址与端口信息关系。

以太网交换机的MAC地址表中所有的MAC地址都和VLAN相关联,不同的VLAN允许相同的MAC地址。每个VLAN都维护它自己逻辑上的一份地址表。一个VLAN已学习的MAC地址,对于其他VLAN而言可能是未知的,仍然需要学习。

以太网交换机的MAC地址包含以下信息:


图 1. MAC地址表项构成

n 状态:表示地址表项为动态地址、静态地址或过滤地址。

n VLAN:MAC地址所属的VLAN

n MAC地址:表项的MAC地址信息

n 端口:MAC地址对应的端口信息



以太网交换机的MAC地址表中的表项通过以下两种方式进行更新和维护:

n 动态地址学习

n 手工配置地址



以太网交换机在转发报文时通过报文的目的MAC地址以及报文所属的VLAN ID的信息在MAC地址表中查找相应的转发输出端口,根据查找的结果采取单播、组播或广播的方式转发报文:

n 单播转发:以太网交换机能够在MAC地址表中查到与报文的目的MAC地址和VLAN ID相对应的表项并且表项中的输出端口是唯一的,报文直接从表项对应的端口输出。

n 组播转发:以太网交换机能够在MAC地址表中查到与报文的目的MAC地址和VLAN ID相对应的表项并且表项中对应一组输出端口,报文直接从这组端口输出。

n 广播转发:以太网交换机收到目的地址为ffff.ffff.ffff的报文或者在MAC地址表中查找不到对应的表项时,报文被送到所属的VLAN中除报文输入端口外的其他所有端口输出。




& 说明

本文只涉及动态地址、静态地址与过滤地址的管理,组播地址的管理不在本文内描述,请参看《IGMP Snooping配置》。


14.1.2 动态地址学习
14.1.2.1动态地址
通过以太网交换机的自动地址学习过程产生的MAC地址表项被称为动态地址,只有动态地址才会被地址表的老化机制所删除。

14.1.2.2地址学习过程
通常情况下MAC地址表的维护都是通过动态地址学习的方式进行,其工作原理如下:

1. 以太网交换机的MAC地址表为空的情况下,UserA要与UserB进行通讯,UserA首先发送报文到交换机的端口GigabitEthernet 0/2,此时以太网交换机将UserA的MAC地址学习到MAC地址表

中。
由于地址表中没有UserB的源MAC地址,因此以太网交换机以广播的方式将报文发送到除了UserA以外的所有端口,包括User B与User C的端口,此时UserC能够收到UserA所发出的不属于它的报文。


图 2. 动态地址学习步骤一




图 3. 以太网交换MAC地址表一

2. UserB收到报文后将回应报文通过以太网交换机的端口GigabitEthernet 0/3发送UserA,此时以太网交换机的MAC地址表中已存在UserA的MAC地址,所以报文被以单播的方式转发到GigabitEthernet 0/2端口,同时以太网交换机将学习UserB的MAC地址,与步骤1中所不同的是UserC此时接收不到UserB发送给UserA的报文。




图 4. 动态地址学习步骤二


图 5. 以太网交换机MAC地址表二

3. 通过UserA与UserB的一次交互过程后,以太网交换机学习到了UserA与UserB的源MAC地址,之后UserA与UserB之间的报文交互则采用单播的方式进行转发,此后UserC将不再接收到UserA与UserB之间的交互报文。



14.1.2.3地址老化
以太网交换机的MAC地址表是有容量限制的,以太网交换机采用地址表老化机制进行不活跃的地址表项淘汰。

以太网交换机在学习到一个新的地址的同时启动该地址的老化记时,在达到老化记时前,如果以太网交换机没有再一次收到以该地址为源MAC地址的报文,那该地址在达到老化时间后会从MAC地址表中删除。

14.1.3 过滤地址
手工配置的MAC地址表项,用于在以太网交换机上丢弃以所配置的MAC地址为源地址或目的地址的报文,这类地址只能通过手工配置添加和删除,保存配置后设备重启,过滤地址也不会丢失。

通过手工将网络中的非法接入用户的源MAC地址配置为过滤地址的方式可以实现过滤非法接入用户。




~ 注意

过滤地址对送CPU的报文无效。如:某个ARP报文的二层源MAC为一过滤地址,此时该ARP报文仍然会被送往CPU,但其并不会被转发。




14.1.4 MAC地址变化通知
以太网交换机的MAC地址通知功能通过与网络管理工作站(NMS)的协作为网络管理提供了监控网络以太网交换机下用户变化的机制。




图 6. 地址变化通告

打开MAC地址通知的功能后,当以太网交换机学习到一个新的MAC地址或老化掉一个已学习到的MAC地址时,一个反映MAC地址变化的通知信息就会产生,并以SNMP Trap的方式将通知信息发送给指定的NMS(网络管理工作站)。

当一个MAC地址增加的通知产生,就可以知道一个由此MAC地址标识的新用户开始使用网络,当一个MAC地址删除的通知产生,则表示一个用户在地址老化时间内没有新的报文发送,通常可以认为此用户已经停止使用网络了。

当使用以太网交换

机下接的用户较多时,可能会出现在短时间内会有大量的MAC地址变化产生,导致网络流量增加。为了减轻网络负担,可以设置发送MAC地址通知的时间间隔。在达到配置的时间间隔之后,系统将这个时间内的通知信息封装成多个通知信息,此时在每条地址通知信息中,就包含了若干个MAC地址变化的信息,从而可以会有效地减少网络流量。

当MAC地址通知产生时,通知信息同时会记录到MAC地址通知历史记录表中。此时即便没有配置接收Trap的NMS,管理员也可以通过查看MAC地址通知历史记录表来了解最近MAC地址变化的消息。




& 说明

MAC地址通知仅对动态地址有效,对于配置的静态地址与过滤地址的变化将不会产生通知信息。




14.1.5 IP和MAC地址绑定
14.1.5.1概述
通过手动配置IP和MAC地址绑定功能,可以对输入的报文进行IP地址和MAC地址绑定关系的验证。如果将一个指定的IP地址和一个MAC地址绑定,则设备只接收源IP地址和MAC地址均匹配这个绑定地址的IP报文;否则该IP报文将被丢弃。



利用地址绑定这个特性,可以严格控制设备的输入源的合法性。需要注意的是,通过地址绑定控制交换机的输入,将优先于802.1X、端口安全以及ACL生效。



14.1.5.2地址绑定模式
地址绑定的模式分为:兼容,宽松,严格三种模式,默认模式为严格模式。其相应的转发规则,见下表所示:




模式
IPv4报文转发规则
IPv6报文转发规则


严格
符合IPV4+MAC条件的报文转发
所有IPV6报文均不转发


宽松
符合IPV4+MAC条件的报文转发
所有IPV6报文均可转发


兼容
符合IPV4+MAC条件的报文转发
源MAC为绑定地址的MAC地址的 IPV6报文转发


14.1.5.3地址绑定例外端口
IP地址和MAC地址绑定功能缺省对设备上的所有端口都生效,通过配置例外口的方式可以在使绑定功能在部份端口上不生效。




& 说明

在应用中设备的上链端口的IP报文的绑定关系是不确定的,通常将设备的上链端口配置为例外口,此时上链端口则不进行IP地址与MAC地址的绑定检查。




14.1.6 协议规范
《IEEE Std 802.3TM Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications》

《IEEE Std 802.1QTM Virtual Bridged Local Area Networks》

14.2 缺省配置

功能特性
缺省值


动态地址老化时间
300秒


端口MAC地址学习能力
开启


MAC地址变化通知功能
关闭


地址绑定模式
compatible


14.3 配置动态地址
14.3.1 配置端口MAC地址学习能力

命令
作用


Ruijie(config-if)# no mac-address-learning
关闭端口MAC地址学

习能力,通过show mac-address-learning命令查看端口学习能力配置





~ 注意

MAC地址学习能力缺省开启,如果端口上配置了DOT1X,IP SOURCE GUARD 绑定,端口安全功能,端口的学习能力不能开启;同样,关闭端口学习能力的端口不能开启接入控制功能。




14.3.2 清除动态地址

命令
作用


Ruijie#clear mac-address-table dynamic
删除设备上所有的动态地址


Ruijie#clear mac-address-table dynamic address mac-address vlan vlan-id
删除特定MAC地址



mac-address:指定要删除的MAC地址。

vlan-id:指定要删除的MAC地址所在的VLAN。


Ruijie#clear mac-address-table dynamic interface interface-id [vlan vlan-id]
删除特定物理接口或Aggregate Port上的特定VLAN中的所有动态地址或接口上所有动态地址。



interface-id:指定的物理接口或是Aggregate Port。

vlan-id:指定删除动态地址所属的VLAN。


Ruijie#clear mac-address-table dynamic vlan vlan-id
删除特定VLAN上的所有动态地址



vlan-id:指定所要删除的动态地址所属的VLAN。




下面的例子说明了如何配置删除设备接口GigabitEthernet 0/1下VLAN 1中的所有动态地下。



Ruijie#clear mac-address-table dynamic interface GigabitEthernet 0/1 vlan 1

14.3.3 查看配置
命令
作用

Ruijie#show mac-address-table dynamic
查看设备上所有的动态地址信息。

Ruijie#show mac-address-table dynamic address mac-address [vlan vlan-id]
查看设备上特定动态MAC地址信息。



mac-address:查看的MAC地址。

vlan-id:查看特定的VLAN中的特定MAC地址。

Ruijie#show mac-address-table dynamic interface interface-id [vlan vlan-id]
查看设备上指定物理接口或Aggregate Port下的动态地址信息。



interface-id:指定的物理接口或是Aggregate Port。

vlan-id:查看特定的VLAN中的动态地址。

Ruijie#show mac-address-table dynamic vlan vlan-id
查看设备上指定VLAN下的动态地址信息。



vlan-id:查看特定的VLAN中的动态地址。

Ruijie# show mac-address-table count
查看地址表的统计信息




下面的例子说明了如何查看设备上物理接口GigabitEthernet 0/1下VLAN中的所有动态MAC地址信息。

Ruijie#show mac-address-table dynamic interface gigabitEthernet 0/1 vlan 1

Vlan MAC Address Type Interface

---------- -------------------- -------- -------------------

1 0000.5e00.010c DYNAMIC GigabitEthernet 0/1

1 00d0.f822.33aa DYNAMIC GigabitEthernet 0/1

1 00d0.f822.a219 DYNAMIC GigabitEthernet 0/1

1 00d0.f8a6.5af7 DYNAMIC GigabitEthernet 0/1



下面的例子说明了如何查看设备上的地址表统计信息:

Ruijie# show mac-address-tabl

e count

Dynamic Address Count : 30

Static Address Count : 0

Filtering Address Count: 0

Total Mac Addresses : 30

Total Mac Address Space Available: 8159



14.4 配置动态地址老化时间
n 配置老化时间

n 查看配置

14.4.1 配置老化时间

命令
作用


Ruijie(config)# mac-address-table agint-time [0 |10-1000000]
设置一个地址被学习后将保留在动态地址表中的时间长度,单位是秒,范围是10-1000000秒,缺省为300秒。当你设置这个值为0时,地址老化功能将被关闭,学习到的地址将不会被老化。


Ruijie(config)#on mac-address-table agint-time
恢复地址老化时间为缺少值。




下面的例子说明了如何配置设备的地址老化时间为180秒。

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#mac-address-table aging-time 180

14.4.2 查看配置
命令
作用

Ruijie#show mac-address-table aging-time
查看所有的地址老化配置信息




下面的例子说明了如何查看设备上的地址老化时间配置。

Ruijie#show mac-address-table aging-time

Aging time : 180 seconds

14.5 配置静态地址
n 管理静态地址

n 查看配置

14.5.1 管理静态地址

命令
作用


Ruijie(config)# mac-address-table static mac-address vlan vlan-id interface interface-id
mac-address:指定表项对应的目的MAC地址。

vlan-id:指定该地址所属的VLAN。

interface-id:包将转发到的接口(可以是物理端口或Aggregate Port)。



当设备在vlan-id指定的VLAN上接收到以mac- address为目的地址的报文时,这个报文将被转发到interface-id所指定的接口上。


Ruijie(config)# no mac-address-table static mac-address vlan vlan-id interface interface-id
删除静态地址表项,参数与添加命令一致。




下面的例子说明了如何配置添加一个静态地址00d0.f800.073c,当在VLAN 4中接收到目的地址为该地址的报文时,这个报文将被转发到指定的接口Gigabitethernet 0/3上。

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)# mac-address-table static 00d0.f800.073c vlan 4 interface gigabitethernet 0/3



下面的例子说明了如何配置删除上一例子中添加的静态地址00d0.f800.073c。

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#no mac-address-table static 00d0.f800.073c vlan 4 interface gigabitethernet 0/3

14.5.2 查看配置
命令
作用

Ruijie#show mac-address-table static
查看所有的静态地址信息




下面的例子说明了如何查看设备上的所有静态地址信息。

Vlan MAC Address Type Interface

---------- ------

-------------- -------- -------------------

4 00d0.f800.073c STATIC GigabitEthernet 0/3

14.6 配置过滤地址
n 管理过滤地址

n 查看配置

14.6.1 管理过滤地址

命令
作用


Ruijie(config)# mac-address-table filtering mac-address vlan vlan-id
mac-address:指定表项对应的MAC地址

vlan-id:指定该地址所属的VLAN



当设备在vlan-id指定的VLAN上接收到以mac- address指定的地址为源地址或目的地址的报文将被丢弃。


Ruijie(config)# no mac-address-table filtering mac-address vlan vlan-id
删除过滤地址表项,参数与添加命令一致。




下面的例子说明了如何配置添加一个过滤地址00d0.f800.073c,当在VLAN 4中接受到源地址或目的地址为该地址的报文时,将丢弃此报文。

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#mac-address-table filtering 00d0.f800.073c vlan 4



下面的例子说明了如何配置删除上一例子中的静态地址00d0.f800.073c。

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#no mac-address-table filtering 00d0.f800.073c vlan 4

14.6.2 查看配置
命令
作用

Ruijie#show mac-address-table filtering
查看所有的过滤地址信息




下面的例子说明了如何查看设备上的所有静态地址信息。

Vlan MAC Address Type Interface

---------- -------------------- -------- -------------------

4 00d0.f800.073c FILTER GigabitEthernet 0/3



14.7 配置MAC地址变化通知
n 配置MAC地址变化通知

n 查看配置

14.7.1 配置MAC地址变化通知
缺省情况下,MAC地址的全局开关被关闭,所有接口的MAC地址通知功能也均被关闭。

配置设备MAC地址通知功能:


命令
作用

Step 1
Ruijie(config)# snmp-server host

host-addr traps [version {1|2c |3 [auth | noauth | priv]}] community-string
配置接收MAC地址通知的NMS。



host-addr:指明接收者的IP。

version:指明发送哪种版本的snmp trap报文,对v3版本还可以指定是否认证以及安全等级参数。

Step 2
Ruijie (config)#snmp-server

enable traps
使能设备发送trap功能 。

Step 3
Ruijie(config)#mac-address-table notification
打开MAC地址通知功能开关。

Step 4
Ruijie(config)#mac-address-table notification {interval value | history-size

value}
配置MAC地址通知的时间间隔与历史记录容量。



interval value :设置产生MAC地址通知的时间间隔(可选)。时间间隔的单位为秒,范围为1-3600,缺省为1秒。

history-size value :MAC通知历史记录表中记录的最大个数,范围1-200,缺省为50。

Step 5
Ruijie(config-if)#

snmp trap

mac-notification {added |removed}
打开接口的MAC地址通知功能。



added :当地址增加时通知。

removed: 当地址被删除时通知。




下面的例子说明了如何打开MAC地址通知功能,并以public为认证名向IP地址为192.168.12.54的NMS发送MAC地址变化通知的Trap,产生MAC地址变化通知的间隔时间为40秒,MAC地址通知历史记录表的大小为100,打开接口Gigabitethernet 0/1上当MAC地址增加和减少时进行通知的功能:



Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#snmp-server host 192.168.12.54 traps public

Ruijie(config)#snmp-server enable traps

Ruijie(config)#mac-address-table notification

Ruijie(config)#mac-address-table notification interval 40

Ruijie(config)#mac-address-table notification history-size 100

Ruijie(config)#interface GigabitEthernet 0/1

Ruijie(config-if)#snmp trap mac-notification added

Ruijie(config-if)#snmp trap mac-notification removed



14.7.2 查看配置
在特权模式下,使用下表所列的命令来查看设备的MAC地址表信息:

命令
作用

Ruijie#show mac-address-table notification
查看MAC地址变化通知功能的全局配置信息。

Ruijie#show mac-address-table notification interface
查看接口的MAC地址变化通知的使能状况。

Ruijie#show mac-address-table notification history
查看MAC地址变化通知信息的历史记录表。




下面是查看MAC地址变化通知信息的例子。

查看MAC地址通知功能的全局配置信息:

Ruijie#show mac-address-table notification

MAC Notification Feature : Enabled

Interval(Sec): 2

Maximum History Size : 154

Current History Size : 2

Ruijie# show mac-address-table notification interface

Interface MAC Added Trap MAC Removed Trap

----------------- -------------- ----------------

Gi0/1 Disabled Enabled

Gi0/2 Disabled Disabled

Gi0/3 Enabled Enabled

Gi0/4 Disabled Disabled

Gi0/5 Disabled Disabled

Gi0/6 Disabled Disabled



Ruijie#show mac-address-table notification history

History Index:1

Entry Timestamp: 15091

MAC Changed Message :

Operation VLAN MAC Address Interface

----------- ---- -------------- --------------------

Added 1 00d0.f808.3cc9 Gi0/1

Removed 1 00d0.f808.0c0c Gi0/1

History Index:2

Entry Timestamp: 21891

MAC Changed Message :

Operation VLAN MAC Address Interface

----------- ---- -------------- --------------------

Added 1 00d0.f80d.1083 Gi0/1



14.8 配置IP地址和MAC地址绑定
n 配置MAC地址变化通知

n 查看配置

14.8.1 配置IP地址和MAC地址绑定
在全局模式下

,可以通过以下步骤来设置地址绑定:


命令
作用

Step 1
Ruijie(config)# address-bind ip-address mac-address
配置IP地址和MAC地址的绑定关系

ip-address:绑定的IP地址

mac-address:绑定的MAC地址

Step 2
Ruijie(config)# address-bind install
使IP和MAC地址绑定生效


在全局配置模式下使用no address-bind ip-address mac-address删除一个IP地址和MAC地址的绑定项。

通过no address-bind install命令可关闭绑定功能,使地址绑定配置不生效。



下面是配置IP地址和MAC地址绑定模式的例子:

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#address-bind 192.168.5.1 00d0.f800.0001

Ruijie(config)#address-bind install




~说明

3760E系列产品,全局IP+MAC绑定和端口安全/DOT1X共用时,不管安全通道是否开启,全局IP+MAC绑定地址和端口安全地址/DOT1X认证用户是并集关系,即符合任意安全功能的地址可以通信。




14.8.2 配置地址绑定模式
命令
作用

Ruijie(config)# address-bind ipv6-mode { compatible|loose | strict }
配置地址绑定模式

compatible:兼容模式

loose:宽松模式

strict:严格模式

Ruijie(config)# no adress-bind ipv6-mode
恢复地址绑定模式为缺省值


下面是配置地址绑定模式为严格模式的例子:

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#address-bind ipv6-mode strict




~ 注意

设置IPV6模式对DHCP Snooping的地址绑定,端口安全的MAC+IP等多种MAC+IP绑定功能同时生效。对于某些产品的端口安全等功能支持IPV6的安全地址,IPV6模式下的转发规则,如下表所示:

模式
Ipv4转发规则
IPV6转发规则

严格模式
只允许符合IPV4+MAC条件的报文转发。
只允许符合IPV6安全地址配置的IPV6报文转发。

宽松

模式
只允许符合IPV4+MAC条件的报文转发。
允许所有的IPV6报文转发。

兼容

模式
只允许符合IPV4+MAC条件的报文转发。
只允许源MAC为绑定的MAC地址,或符合IPV6安全地址配置的IPV6报文转发。需要说明的是IPV6兼容模式与端口安全/DOT1X基于端口认证共用时,所有安全地址的IPV6报文都可以通行。

对于S3760E系列产品,IPV6兼容模式与端口安全/DOT1X认证共用时,所有安全地址的IPV6报文都可以通行。








14.8.3 配置地址绑定例外端口
命令
作用

Ruijie(config)#address-bind uplink interface-id
配置地址绑定的例外端口

interface-id:端口或Aggregate Port


通过no address-bind uplink interface-id命令取消指定例外口配置。



下面是配置端口GigabitEthernet 0/1为例外端口的例子:

Ruijie#configure terminal

Enter

configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#address-bind uplink GigabitEthernet 0/1

14.8.4 查看配置
在特权模式下使用下列命令查看设备上的IP地址和MAC地址绑定的相关配置

命令
作用

Ruijie#show address-bind
查看设备上的IP地址与MAC地址绑定配置

Ruijie#show address-bind uplink
查看设备上的例外口信息


下面是查看设备的IP地址和MAC地址绑定配置的例子:

Ruijie#show address-bind

Total Bind Addresses in System : 1



IP Address Binding MAC Addr

--------------- ----------------

192.168.5.1 00d0.f800.0001



14.9 典型配置举例
14.9.1 网络配置
某信息系统组网如下:


图 7. 典型应用模型

数据库服务器通过GigabitEthernet0/1接到以太网交换机,WEB服务服务器通GigabitEthernet 0/2接到以太网交换机,服务器管理员通过GigabitEthernet 0/3接到以太网交换机,其他的一般用户通过以太网交换机的GigabitEthernet 0/10接入访问WEB服务器,所有的数据均在VLAN 1中转发。

为保障WEB服务器与数据库之间交互的信息安全以及管理员与服务器之间交互的信息的安全,通过配置静态地址的方式保证WEB服务器与数据库服务器之间的数据转发采用单播方式,管理员与服务器之间的数据转发也采用单播方式,这样可以有效的避免这些数据被以广播的方式转发到一般用户所使用的网络中。

14.9.2 设备配置
设备配置过程

Ruijie#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

Ruijie(config)#mac-address-table static 00d0.f800.0001 vlan 1 interface GigabitEthernet 0/1

Ruijie(config)#mac-address-table static 00d0.f800.0002 vlan 1 interface GigabitEthernet 0/2

Ruijie(config)#mac-address-table static 00d0.f800.0003 vlan 1 interface GigabitEthernet 0/3



查看设备配置

Ruijie#show mac-address-table static

Vlan MAC Address Type Interface

---------- -------------------- -------- -------------------

1 00d0.f800.0001 STATIC GigabitEthernet 0/1

1 00d0.f800.0002 STATIC GigabitEthernet 0/2

1 00d0.f800.0003 STATIC GigabitEthernet 0/3




















1.方案1——基于端口的MAC地址绑定

思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:
Switch#config terminal
#进入配置模式
Switch(config)# Interface fastethernet 0/1
#进入具体端口配置模式
Switch(config-if)#Switchport port-secruity
#配置端口安全模式
Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址)
#配置该端口要绑定的主机的MAC地址
Switch(config-if )n

o switchport port-security mac-address MAC(主机的MAC地址)
#删除绑定主机的MAC地址

注意:

以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。

注意:

以上功能适用于思科2950、3550、4500、6500系列交换机

2.方案2——基于MAC地址的扩展访问列表

Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config-if )interface Fa0/20
#进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表

此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。

注意:

以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

3.方案3——IP地址的MAC地址绑定

只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。
Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config)Ip access-list extended IP10
#定义一个IP地址访问控制列表并且命名该列表名为IP10
Switch(config)Permit 192.168.0.1 0.0.0.0 any
#定义IP地址为192.168.0.1的主机可以访问任意主机
Permit any 192.168.0.1 0.0.0.0
#定义所有主机可以访问IP地址为192.168.0.1的主机
Switch(config-if )interface Fa0/20
#进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config-if )Ip access-group IP10 in
#在该端口上应用名为IP10的

访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表
Switch(config)no Ip access-group IP10 in
#清除名为IP10的访问列表

上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP与MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。

注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

后注:从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。#p# Ping命令

Ping是最常使用的故障诊断与排除命令。它由一组ICMP回应请求报文组成,如果网络正常运行将返回一组回应应答报文。ICMP消息以IP数据包传输,因此接收到ICMP回应应答消息能够表明第三层以下的连接都工作正常。

Cisco的ping命令不但支持IP协议,而且支持大多数其他的桌面协议,如IPX和AppleTalk协议的ping命令。我们首先看一下支持IP协议的ping命令以用户EXEC方式执行的情况,然后再讨论在特权模式下,扩展的ping命令包含的许多强大功能。

用户执行模式

IP PING 简单的IP ping既可以在用户模式下执行,也可以在特权模式下执行。正常情况下,命令会发送回5个回应请求,5个惊叹号表明所有的请求都成功地接收到了响应。输出中还包括最大、最小和平均往返时间等信息。

每一个“!”表明一个echo响应被成功的接受,如果不是“!”号,则表明echo响应未被接收到的原因:

! 响应成功接收
· 请求超时
U 目的不可达
P 协议不可达
N 网络不可达
Q 源抑制
M 不能分段
? 不可知报文类型

IPX PING IPX ping命令只能在运行IOS v 8.2及其以上版本的路由器上执行。用户模式下的IPX ping通常仅用于测试Cisco路由器接口。在特权模式下,用户可以ping特定的NOVELL工作站,命令的格式为“ping ipx IPX地址”。

APPLETALE PING 该命令使用Apple Echo Protocol(AEP)以确认AppleTalk节点之间的连通性。需要注意的是,目前的Cisco路由器仅对以太 网接口支持Apple Echo Protocol。命令的格式为“ping apple Appletalk地址”。

特权执行模式
 

 
在特权执行模式下,扩展的ping命令适用于任何一种桌面协议。它包含更多的功能属性,因此可以获得更为详细的信息。通过这些信息我们可以分析网络性能下降的原因而不单单是服务丢失的原因。扩展的ping命令的执行方式也是敲入ping。然后路由器提示各种不同的属性。

EXTENDED IP PING 其使用方法如下所示:
YH-Router#ping
Protocol [ip]:
Target IP address: 165.48.183.12
Repeat count [5]: 10
Datagram size [100]: 1600
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 165.48.48.3
Type of service [0]:
Set DF bit in IP header? [no]:
Data pattern [0xABCD]:
Loose, Srict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 1600-byte ICMP Echoes to 165.58.183.12, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 36/39/48 ms

首先我们讨论特权模式下的ping的各种可用属性。每种属性的缺省值在括号中显示。

Protocol 需要测试的协议。

Target address 测试的目标地址。

Repeat count 如果出现间歇性的失败或者响应时间过慢,ping重复的次数。

Datagram size 如果怀疑报文由于延迟过长或者分段失败而丢失,则可以提高报文的大小。例如,我们可以使用1600字节的报文来强制分段。

Timeout 如果怀疑超时是由于响应过慢而不是报文丢失,则可以提高该值。

Extended commands 回答确定以获得扩展属性。

Source address 必须是路由器接口的地址。

Type of service 根据RFC 791 TOS规定的属性,通常缺省值为0。

Set DF bit in IP header? 通过设置DF位禁止分段,即使是报文超过了路由器定义的MTU也禁止分段。

Data pattern [0xABCD] 通过改变数据模式可以测试线路的噪声。

Loose,Strict,Record,Timestamp,Verbose[none] 这些都是IP报文头的属性。一般只使用Record属性和Verbose,其他属性很少被使用。Record可以用来记录报文每一跳的地址,Verbose属性给出每一个回应应答的响应时间。。

Sweep range of sizes [n] 该属性主要用于测试大报文被丢失、处理速度过慢或者分段失败等故障。

EXTEND IPX PING 扩展的IPX ping也允许用户修改参数,比如报文大小和重复次数。对用户模式下ping的另一个增强属性是使用了Novell Standard echo属性。使用这一属性,用户可以ping装载IPX的工作站。如果禁用该属性,Novell IPX设备将不响应ping,因为它们不支持Cisco proprietary IPX ping协议。用户

可以修改设备的属性使它们支持这一特性。

EXTENDED APPLETALK PING 扩展的AppleTalk ping命令是对用户模式下ping的增强,这一点与扩展的IPX ping类似。与IP和IPX扩展ping一样,用户也可以选择Verbose等属性。

trace命令

trace命令提供路由器到目的地址的每一跳的信息。它通过控制IP报文的生存期(TTL)字段来实现。TTL等于1的ICMP回应请求报文将被首先发 送。路径上的第一个路由器将会丢弃该报文并且发送回标识错误消息的报文。错误消息通常是ICMP超时消息,表明报文顺利到达路径的下一跳,或者端口不可达消息,表明报文已经被目的地址接收但是不能向上传送到IP协议栈。

为了获得往返延迟时间的信息,trace发送三个报文并显示平均延迟时间。然后将报文的TTL字段加1并发送3个报文。这些报文将到达路径的第二个路由器上,并返回超时错误或者端口不可达消息。反复使用这一方法,不断增加报文的TTL字段的值,直到接收到目的地址的响应消息。

在有些情况下,使用trace命令可能会导致故障。因为IOS中存在与trace命令相关的bug。这些bug的相关信息可以从CCO得到。另外一个问题是,某些目标站点不响应ICMP端口不可达消息。当命令的输出显示一系列星号(*)时,就可能碰到了此类站点。用户可以使用Ctrl-Shift-6中断命令的执行。

用户执行模式 下面展示了一个简单的在用户执行模式下执行的trace命令的输出。到达目的地的距离是3跳。TTL值为1的3个报文的响应消息是ICMP超时错误,并且返回报文的IP地址有两个。因为路由器1和路由器2在同一个网段中,并且它们到路由器3的距离都是一跳,因此这些路由器都响应该报文。

Router3#trace 171.144.1.39
Type escape sequence to abort.
Tracing the route to Router9 (171.144.1.39)
1 Router2 (165.48.48.2) 0 msec
Router2 (165.48.48.2) 0 msec
Router1 (165.48.48.1) 0 msec
2 165.48.48.129 12 msec
Router6 (165.48.49.129) 12 msec 12 msec
3 Router4 (171.133.1.2) 12 msec 12 msec
Router9 (171.144.1.39) 12 msec 12 msec
Router3

下面列出了IP trace命令的输出中出现的不同字符及其含义:
XY msec 在接收到响应消息之前的往返延迟(以毫秒为单位)
* 报文超时
? 报文类型不能识别
U 端口不可达
P 协议不可达
N 网络不可达
H 主机不可达
Q ICMP 源抑制

特权模式扩展Trace 用于扩展ping命令的许多属性都可以用来扩展trace命令的功能。扩展trace命令的特殊属性有:

Numeric display 在缺省情况下,trace命令的输出中既包括IP地址也包括其对应

的DNS域名。如果用户不需要显示DNS域名,则可以使用该属性。

Probe count 其缺省值为3,用户可以根据需要进行调整。

TTL 该值可以在最大和最小TTL值之间变化。

Port number 这是一个非常有用的属性,它可以使工程技术人员跟踪特定的传输层端口。因此,不但可以确认源端与目的端之间的IP连通性, 而且可以确认高层服务是否可被访问。

与trace命令相关的另外一个问题是,如果存在到达目的地的多条路径,返回报文的源地址可能不相同。在这种情况下,用户需要仔细比较不同返回报文的延迟时间。如果仍不能得到明确的结果,可以远程访问路径上的一个或多个路由器,使用trace命令访问源地址和目的地址。

#p#
二,路由器网络服务安全配置
1,禁止CDP(Cisco Discovery Protocol)。如:
Router(Config)#no cdp run
Router(Config-if)# no cdp enable
2,禁止其他的TCP、UDP Small服务。
Router(Config)# no service tcp-small-servers
Router(Config)# no service udp-samll-servers
3,禁止Finger服务。
Router(Config)# no ip finger
Router(Config)# no service finger
4,建议禁止HTTP服务。
Router(Config)# no ip http server
如果启用了HTTP服务则需要对其进行安全配置:设置用户名和密码;采用访问列表进行控制。如:
Router(Config)# username BluShin privilege 10 G00dPa55w0rd
Router(Config)# ip http auth local
Router(Config)# no access-list 10
Router(Config)# access-list 10 permit 192.168.0.1
Router(Config)# access-list 10 deny any
Router(Config)# ip http access-class 10
Router(Config)# ip http server
Router(Config)# exit
5,禁止BOOTp服务。
Router(Config)# no ip bootp server
禁止从网络启动和自动从网络下载初始配置文件。
Router(Config)# no boot network
Router(Config)# no servic config
6,禁止IP Source Routing。
Router(Config)# no ip source-route
7,建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的。
Router(Config)# no ip proxy-arp
Router(Config-if)# no ip proxy-arp
8,明确的禁止IP Directed Broadcast。
Router(Config)# no ip directed-broadcast
9,禁止IP Classless。
Router(Config)# no ip classless
10,禁止ICMP协议的IP Unreachables,Redirects,Mask Replies。
Router(Config-if)# no ip unreacheables
Router(Config-if)# no ip redirects
Router(Config-if)# no ip mask-reply
11,建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。或者需要访问列表来过滤。如:
Router(Config)# no snmp-server community public Ro
Router(Config)# no snmp-server community admin RW
Router(Config)# no access-list 70
Router(Config)# access-list 70 deny any
Router(Config)# snmp-server community MoreHardPublic Ro 70
Router(Config)# no snmp-server enable traps
Router(Config)# no snmp-server system-shutdown
Router(Config)# no snmp-server

trap-anth
Router(Config)# no snmp-server
Router(Config)# end
12,如果没必要则禁止WINS和DNS服务。
Router(Config)# no ip domain-lookup
如果需要则需要配置:
Router(Config)# hostname Router
Router(Config)# ip name-server 202.102.134.96
13,明确禁止不使用的端口。
Router(Config)# interface eth0/3
Router(Config)# shutdown


#p#
三,路由器路由协议安全配置
1,首先禁止默认启用的ARP-Proxy,它容易引起路由表的混乱。
Router(Config)# no ip proxy-arp 或者
Router(Config-if)# no ip proxy-arp
2,启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的,建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。
Router(Config)# router ospf 100
Router(Config-router)# network 192.168.100.0 0.0.0.255 area 100
! 启用MD5认证。
! area area-id authentication 启用认证,是明文密码认证。
!area area-id authentication message-digest
Router(Config-router)# area 100 authentication message-digest
Router(Config)# exit
Router(Config)# interface eth0/1
!启用MD5密钥Key为routerospfkey。
!ip ospf authentication-key key 启用认证密钥,但会是明文传输。
!ip ospf message-digest-key key-id(1-255) md5 key
Router(Config-if)# ip ospf message-digest-key 1 md5 routerospfkey
3,RIP协议的认证。只有RIP-V2支持,RIP-1不支持。建议启用RIP-V2。并且采用MD5认证。普通认证同样是明文传输的。
Router(Config)# config terminal
! 启用设置密钥链
Router(Config)# key chain mykeychainname
Router(Config-keychain)# key 1
!设置密钥字串
Router(Config-leychain-key)# key-string MyFirstKeyString
Router(Config-keyschain)# key 2
Router(Config-keychain-key)# key-string MySecondKeyString
!启用RIP-V2
Router(Config)# router rip
Router(Config-router)# version 2
Router(Config-router)# network 192.168.100.0
Router(Config)# interface eth0/1
! 采用MD5模式认证,并选择已配置的密钥链
Router(Config-if)# ip rip authentication mode md5
Router(Config-if)# ip rip anthentication key-chain mykeychainname
4,启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口,启用passive-interface。但是,在RIP协议是只是禁止转发路由信息,并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。
! Rip中,禁止端口0/3转发路由信息
Router(Config)# router Rip
Router(Config-router)# passive-interface eth0/3
!OSPF中,禁止端口0/3接收和转发路由信息
Router(Config)# router ospf 100
Router(Config-router)# passive-interface eth0/3
5,启用访问列表过滤一些垃圾和恶意路由信息,控制网络的垃圾信息流。
Router(Config)# access-list 10 deny 192.168.1.0 0.0.0.255
Router(Config)# access-list 10 permit any
! 禁止路由器接收更新192.168.1.0网络的路由信息
Router(Config)# router ospf 100
Router(Con

fig-router)# distribute-list 10 in
!禁止路由器转发传播192.168.1.0网络的路由信息
Router(Config)# router ospf 100
Router(Config-router)# distribute-list 10 out
6,建议启用IP Unicast Reverse-Path Verification。它能够检查源IP地址的准确性,从而可以防止一定的IP Spooling。但是它只能在启用CEF(Cisco Express Forwarding)的路由器上使用。
Router# config t
! 启用CEF
Router(Config)# ip cef
!启用Unicast Reverse-Path Verification
Router(Config)# interface eth0/1
Router(Config)# ip verify unicast reverse-path



#p#四,路由器其他安全配置
1,及时的升级IOS软件,并且要迅速的为IOS安装补丁。
2,要严格认真的为IOS作安全备份。
3,要为路由器的配置文件作安全备份。
4,购买UPS设备,或者至少要有冗余电源。
5,要有完备的路由器的安全访问和维护记录日志。
6,要严格设置登录Banner。必须包含非授权用户禁止登录的字样。
7,IP欺骗得简单防护。如过滤非公有地址访问内部网络。过滤自己内部网络地址;回环地址(127.0.0.0/8);RFC1918私有地址;DHCP自定义地址(169.254.0.0/16);科学文档作者测试用地址(192.0.2.0/24);不用的组播地址(224.0.0.0/4);SUN公司的古老的测试地址(20.20.20.0/24;204.152.64.0/23);全网络地址(0.0.0.0/8)。
Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 127.0.0.0 0.255.255.255 any log
Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.255.255 any log
Router(Config)# access-list 100 deny ip 172.16.0.0 0.15.255.255 any log
Router(Config)# access-list 100 deny ip 10.0.0.0 0.255.255.255 any log
Router(Config)# access-list 100 deny ip 169.254.0.0 0.0.255.255 any log
Router(Config)# access-list 100 deny ip 192.0.2.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 224.0.0.0 15.255.255.255 any
Router(Config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 204.152.64.0 0.0.2.255 any log
Router(Config)# access-list 100 deny ip 0.0.0.0 0.255.255.255 any log
8,建议采用访问列表控制流出内部网络的地址必须是属于内部网络的。如:
Router(Config)# no access-list 101
Router(Config)# access-list 101 permit ip 192.168.0.0 0.0.0.255 any
Router(Config)# access-list 101 deny ip any any log
Router(Config)# interface eth 0/1
Router(Config-if)# description "internet Ethernet"
Router(Config-if)# ip address 192.168.0.254 255.255.255.0
Router(Config-if)# ip access-group 101 in
9,TCP SYN的防范。如:
A: 通过访问列表防范。
Router(Config)# no access-list 106
Router(Config)# access-list 106 permit tcp any 192.168.0.0 0.0.0.255 established
Router(Config)# access-list 106 deny ip any any log
Router(Config)# interface eth 0/2
Router(Config-if)# description "external Ethernet"
Router(Config-if)# ip address 192.168.1.254 255.255.255.0
Router(Config

-if)# ip access-group 106 in
B:通过TCP截获防范。(这会给路由器产生一定负载)
Router(Config)# ip tcp intercept list 107
Router(Config)# access-list 107 permit tcp any 192.168.0.0 0.0.0.255
Router(Config)# access-list 107 deny ip any any log
Router(Config)# interface eth0
Router(Config)# ip access-group 107 in
10,LAND.C 进攻的防范。
Router(Config)# access-list 107 deny ip host 192.168.1.254 host 192.168.1.254 log
Router(Config)# access-list permit ip any any
Router(Config)# interface eth 0/2
Router(Config-if)# ip address 192.168.1.254 255.255.255.0
Router(Config-if)# ip access-group 107 in
11,Smurf进攻的防范。
Router(Config)# access-list 108 deny ip any host 192.168.1.255 log
Router(Config)# access-list 108 deny ip any host 192.168.1.0 log
12,ICMP协议的安全配置。对于进入ICMP流,我们要禁止ICMP协议的ECHO、Redirect、Mask request。也需要禁止TraceRoute命令的探测。对于流出的ICMP流,我们可以允许ECHO、Parameter Problem、Packet too big。还有TraceRoute命令的使用。
! outbound ICMP Control
Router(Config)# access-list 110 deny icmp any any echo log
Router(Config)# access-list 110 deny icmp any any redirect log
Router(Config)# access-list 110 deny icmp any any mask-request log
Router(Config)# access-list 110 permit icmp any any
! Inbound ICMP Control
Router(Config)# access-list 111 permit icmp any any echo
Router(Config)# access-list 111 permit icmp any any Parameter-problem
Router(Config)# access-list 111 permit icmp any any packet-too-big
Router(Config)# access-list 111 permit icmp any any source-quench
Router(Config)# access-list 111 deny icmp any any log
! Outbound TraceRoute Control
Router(Config)# access-list 112 deny udp any any range 33400 34400
! Inbound TraceRoute Control
Router(Config)# access-list 112 permit udp any any range 33400 34400
13,DDoS(Distributed Denial of Service)的防范。
! The TRINOO DDoS system
Router(Config)# access-list 113 deny tcp any any eq 27665 log
Router(Config)# access-list 113 deny udp any any eq 31335 log
Router(Config)# access-list 113 deny udp any any eq 27444 log
! The Stacheldtraht DDoS system
Router(Config)# access-list 113 deny tcp any any eq 16660 log
Router(Config)# access-list 113 deny tcp any any eq 65000 log
! The TrinityV3 System
Router(Config)# access-list 113 deny tcp any any eq 33270 log
Router(Config)# access-list 113 deny tcp any any eq 39168 log
! The SubSeven DDoS system and some Variants
Router(Config)# access-list 113 deny tcp any any range 6711 6712 log
Router(Config)# access-list 113 deny tcp any any eq 6776 log
Router(Config)# access-list 113 deny tcp any any eq 6669 log
Router(Config)# access-list 113 deny tcp any any eq 2222 log
Router(Config)# access-list 113 deny tcp any any eq 7000 log
13,建议启用SSH,废弃掉Telnet。但只有支持并带有IPSec特征集的IOS才支持SSH。并且IOS12.0-IOS12.2仅支持SSH-V1。如下配置SSH服务的例子


Router(Config)# config t
Router(Config)# no access-list 22
Router(Config)# access-list 22 permit 192.168.0.22
Router(Config)# access-list deny any
Router(Config)# username BluShin privilege 10 G00dPa55w0rd
! 设置SSH的超时间隔和尝试登录次数
Router(Config)# ip ssh timeout 90
Router(Config)# ip ssh anthentication-retries 2
Router(Config)# line vty 0 4
Router(Config-line)# access-class 22 in
Router(Config-line)# transport input ssh
Router(Config-line)# login local
Router(Config-line)# exit
!启用SSH服务,生成RSA密钥对。
Router(Config)# crypto key generate rsa
The name for the keys will be: https://www.360docs.net/doc/db4313442.html,
Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys .Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus[512]: 2048
Generating RSA Keys...

相关文档
最新文档