打开楼层交换机,发现端口处的配置如下。第一、二都没有问题,第三条是指绑定这个IP地址,那么第四条是什么意思呢?

interface GigabitEthernet1/0/1
port link-mode bridge
port access vlan 1301
ip source binding ip-address 10.19.77.79
ip verify source ip-address mac-address
#
interface GigabitEthernet1/0/2
port link-mode bridge
port access vlan 1301
ip source binding ip-address 10.19.77.3
ip verify source ip-address mac-address
#
interface GigabitEthernet1/0/3
port link-mode bridge
port access vlan 1301
ip source binding ip-address 10.19.77.4
ip verify source ip-address mac-address
#

翻了下H3C文档,说明如下:

1.1.5 ip verify source

【命令】
ip verify source { ip-address | ip-address mac-address | mac-address }
undo ip verify source
【视图】
二层以太网端口视图/VLAN接口视图/端口组视图
【缺省级别】
2:系统级
【参数】
ip-address:表示绑定源IP地址。
ip-address mac-address:表示绑定源IP地址和MAC地址。
mac-address:表示绑定源MAC地址。
【描述】
ip verify source命令用来配置IPv4动态绑定功能。undo ip verify source命令用来恢复缺省情况。
缺省情况下,端口的IPv4动态绑定功能处于关闭状态。

需要注意的是:
·本命令中指定的绑定参数,仅对动态生成的绑定表项有效,是端口使用动态绑定表项过滤报文时关心的报文特征项。如果仅使用静态绑定表项来过滤端口的报文,则本命令仅用于控制是否开启端口的报文过滤功能,端口依据配置的静态绑定表项参数来过滤报文,而不关心本命令中指定的参数。
·端口如果加入聚合组或者加入业务环回组,则不能配置端口的动态绑定功能。

相关配置可参考命令display ip source binding。

【举例】
# 在二层以太网端口GigabitEthernet1/0/1上配置对报文的源IP和MAC地址的IPv4动态绑定功能,获取端口上动态生成的DHCP Snooping表项对端口转发的报文进行过滤。
system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] ip verify source ip-address mac-address
# 在Vlan-interface100上配置对报文的源IP和MAC地址的IPv4动态绑定功能,获取端口上动态生成的DHCP Relay表项对端口转发的报文进行过滤。
system-view
[Sysname] interface vlan-interface 100
[Sysname-Vlan-interface100] ip verify source ip-address mac-address

写得有点模糊,也就是说 ip verify source ip-address mac-address 这条命令的作用,只是在对动态绑定的时候有效;如果前面有了静态绑定,那么它只是用于控制是否开启端口的报文过滤功能,并不进行绑定操作。我做了个小实验,我当前办公室电脑的端口配置如下:

interface GigabitEthernet1/0/47
port link-mode bridge
port access vlan 1301
ip source binding ip-address 10.19.77.69
ip verify source ip-address mac-address

此时把它网线拔了,插到我的笔记本电脑上,同样配个 10.19.77.69,结果是通的。说明MAC地址根本没有绑,只是绑了IP地址,如果要把MAC也绑上,那么应该是如下这样的:
ip source bind ip-address 10.19.77.69 mac-address xxx

后面的 ip verify source ip-address mac-address 在前面启用了静态绑定后,不进行绑定操作,只是报文过滤。

那么问题来了,绑定和过滤区别是什么?绑定了不就是将非法报文过滤了吗?查下资料再写。

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

  终于搞懂了!!!ip verify source ip-address mac-address 这句话的意思就是承接上一句用来过滤的,上一句是“绑定”,而这一句就是“过滤”,这两句在一起才能真正做到绑定(并过滤)。我刚刚把 ip verify source ip-address mac-address 删除,只留下 ip source binding ip-address 10.19.77.69 这么一句,结果发现我把台式机电脑 IP 从 10.19.77.69 改 10.19.77.111 照样可以上网,也就是说 ip source binding ip-address 10.19.77.69 单独这句就没有效果了。

  把 ip verify source ip-address mac-address 重新加上之后,我的网就断了,必须修改回 10.19.77.69,这样就很清楚了。