一、针对于目前ARP病毒肆虐,利用ARP协议进行欺骗的网络问题也日渐严重。在防范过程中除了VLAN的划分来抑制问题的扩散,如果将MAC地址与端口绑定配合起来会达到最佳的防范效果。
下面在Cisco交换机上实现简单的端口绑定,举Cisco 3550为例:
3550#config terminal
//进入通用配置模式
3550(config)# Interface fastethernet 0/1
//进入需要配置的具体端口配置模式
3550(config-if)#switchport mode access
//设置交换机的端口模式为access模式,注意缺省是dynamic
//dynamic模式下是不能使用Port-security功能的
3550(config-if)#switchport port-secruity
//启用端口安全模式
3550(config-if )switchport port-security mac-address <后面写上主机的MAC地址>
//配置该端口要绑定的主机的MAC地址
switch(config-if)#switchport port-security maximum 1
//其实缺省就是1个
switch(config-if)#switchport port-security violation shutdown
//设置违反端口安全规则,缺省是shutdown
这个配置只可以一个端口绑定一个MAC地址,那么要绑定多个IP地址与MAC地址应该如何处理呢?
看看下面的配置:
1.先建立两个访问控制列表,一个是关于MAC地址的,一个是关于IP地址的。
3550(config)#mac access-list extended mac-n
//配置一个命名的MAC地址访问控制列表,命名为mac-n
3550(config-ext-macl)#permit host 0001.a1db.f987 any
//源MAC地址为0001.a1db.f987的主机可以访问任意主机
3550(config-ext-macl)#permit any host 0001.a1db.f987
//所有主机可以访问目的MAC地址为0001.a1db.f987的主机
3550(config)#ip access-list extended ip-n
//配置命名的IP地址访问控制列表,命名为ip-n
3550(config-ext-nacl)#permit  ip  172.0.0.1 0.0.0.0 any
//允许172.0.0.1地址在网内工作
2.将建立好的访问控制列表加入需要配置的端口
3550(config-if )#interface fa0/1
//进入配置具体端口的模式
3550(config-if )#mac access-group mac-n  in
3550(config-if )#ip access-group ip-n in
 
PS:上面的配置是静态可靠的MAC地址和端口的绑定,命令格式:Switch(config-if)#switchport port-security mac-address Mac地址
企业中如何快速将MAC地址与交换机端口绑定呢?在实际的运用中常用黏性可靠的MAC地址绑定:举CISCO 2950为例
2950 (config)#int rang fa0/1 - 48
2950 (config-if-range)#switchport mode Access
2950 (config-if-range)#switchport port-security
2950 (config-if-range)#switchport port-security mac-address violation restrict
2950 (config-if-range)#switchport port-security mac-address sticky
这样交换机的48个端口都绑定了,注意:在实际运用中要求把连在交换机上的PC机都打开,这样才能学到MAC地址,并且要在学到MAC地址后保存配置文件,这样下次就不用再学习MAC地址了,然后用show port-security address查看绑定的端口,确认配置正确。
 
二、在cisco交换机中为了防止ip被盗用或员工乱改ip,可以做以下措施,既ip与mac地址的绑定,和ip与交换机端口的绑定。
ip与mac地址的绑定,这种绑定可以简单有效的防止ip被盗用,别人将ip改成了你绑定了mac地址的ip后,其网络不通,(tcp/udp协议不通,但netbios网络共项可以访问),具体做法:
 
cisco(config)#arp 10.138.208.81 0000.e268.9980 ARPA
这样就将10.138.208.81 与mac:0000.e268.9980 ARPA绑定在一起了。
 
ip与交换机端口的绑定,此种方法绑定后的端口只有此ip能用,改为别的ip后立即断网。有效的防止了乱改ip。
cisco(config)#   interface FastEthernet0/17
cisco(config-if)# ip access-group 6 in       
cisco(config)#access-list 6 permit 10.138.208.81
 这样就将交换机的FastEthernet0/17端口与ip:10.138.208.81绑定了。
 
补:我们也可以通过MAC地址来限制端口流量,此配置允许一TRUNK口最多通过100个MAC地址,超过100时,但来自新的主机的数据帧将丢失。
3550-1#conf t
3550-1(config)#int f0/1
3550-1(config-if)#switchport trunk encapsulation dot1q
3550-1(config-if)#switchport mode trunk /配置端口模式为TRUNK。
3550-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大MAC地址数目为100。
3550-1(config-if)#switchport port-security violation protect /当主机MAC地址数目超过100时,交换机继续工作,但来自新的主机的数据帧将丢失。
上面的配置根据MAC地址来允许流量,下面的配置则是根据MAC地址来拒绝流量。
此配置在Catalyst交换机中只能对单播流量进行过滤,对于多播流量则无效。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 drop /在相应的Vlan丢弃流量。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 int f0/1 /在相应的接口丢弃流量。