如一楼所说,可以使用Vlan访问控制策略(Vlan-Filter)来实现Vlan间的访问控制。
而根据你的应用,因为限制的是双向的通信,例如Vlan3与Vlan8不能互访,所以单纯使用ACL就可以了,并且配置简单;
如果是单向的控制,例如Vlan3可访问Vlan8,而Vlan8不能访问Vlan3,此时就可以用到Vlan-Filter。
以下方法是单纯地利用ACL来实现VLAN间的访问控制,配置如下:
假设VLAN地址划分如下:
Vlan2:192.168.2.1/24
Vlan3:192.168.3.1/24
Vlan4:192.168.4.1/24
Vlan5:192.168.5.1/24
Vlan6:192.168.6.1/24
Vlan7:192.168.7.1/24
Vlan8:192.168.8.1/24
第一步:VLAN间路由
3560(config)#ip routing
//使得VLAN间互访,若不制定,就不能实现Vlan2与其他Vlan的互访
第二步:ACL制定
ip access-list standard V3 //制定ACL命名为"V3"
permit 192.168.2.0 0.0.0.255 //允许192.168.2.0/24网段,其他网段则默认禁止
ip access-list standard V4
permit 192.168.2.0 0.0.0.255
ip access-list standard V5
permit 192.168.2.0 0.0.0.255
ip access-list standard V6
permit 192.168.2.0 0.0.0.255
ip access-list standard V7
permit 192.168.2.0 0.0.0.255
ip access-list standard V8
permit 192.168.2.0 0.0.0.255
//V3、V4...V8策略分别要应用于Vlan3、Vlan4...Vlan8中,Vlan2的访问没有限制
//ACL策略一旦应用了,未注明的都是默认禁止的,所以这里只写出允许Vlan2的地址段,其他地址段的通信都是默认禁止的
第三步:ACL应用到Vlan中
interface Vlan2
ip address 192.168.2.1 255.255.255.0 //Vlan2没有ACL策略
!
interface Vlan3
ip address 192.168.3.1 255.255.255.0
ip access-group V3 out //将访问控制列表“V3”应用到Vlan3中,针对的是来自Vlan3以外的通信,所以选择“out”
!
interface Vlan4
ip address 192.168.4.1 255.255.255.0
ip access-group V4 out
!
interface Vlan5
ip address 192.168.5.1 255.255.255.0
ip access-group V5 out
!
interface Vlan6
ip address 192.168.6.1 255.255.255.0
ip access-group V6 out
!
interface Vlan7
ip address 192.168.7.1 255.255.255.0
ip access-group V7 out
!
interface Vlan8
ip address 192.168.8.1 255.255.255.0
ip access-group V8 out
做私有vlan
给你一个参考配置
R1可以和PC1、PC2、PC3、PC4互访,PC1可以和PC2互访;PC3、PC4不能互访、VLAN501和VLAN502不可以互访
1、必须将VTP的模式设置成为transparent模式
sw1(config)#vtp mode transparent
2、创建vlan
在私有vlan中vlan有两种一个是primary vlan,另一个是secondary vlan,而再secondary vlan中又有两种模式,community(此类型中的vlan内的PC可以相互通讯)、isolated(此类型的vlan内的PC不能相互通讯)
sw1(config)#vlan 20
sw1(config-vlan)#private-vlan primary
sw1(config)#vlan 501
sw1(config-vlan)#private-vlan community
sw1(config)#vlan 502
sw1(config-vlan)#private-vlan isolated
3、将创建好的secondary vlan和primary vlan关联
sw1(config)#vlan 20
sw1(config-vlan)#private-vlan association 501,502
4、将端口划入相应的vlan
sw1(config)#int f0/1(交换机上联路由器的接口)
sw1(config-if)#switchport mode private-vlan promiscuous(混杂模式,可以接受任何vlan上来的数据包)
sw1(config-if)#switchport private-vlan mapping 20 501-502(关联可以在主vlan中能够访问什么子vlan)
sw1(config)#int range f0/2 – 3 (同时设置所有的接口)
sw1(config-if)#switchport mode private-vlan host (主机模式,如果再community中则可以访问501中的所有设备,如果在isolated中则同在502内照样无法访问)
sw1(config-if)#switchport private-vlan host-association 20 501 (关联主vlan和自己的子vlan)
sw1(config)#int range f0/4 – 5 (同时设置所有的接口)
sw1(config-if)#switchport mode private-vlan host
sw1(config-if)#switchport private-vlan host-association 20 502 (关联主vlan和自己的子vlan)
注意如果是混杂模式promiscuous一定要对应mapping;如果是主机模式host就一定要对应host-association
由于我是一级所以不能够贴图上去
如果看不懂可以给我发邮件
可以试试用Private Vlan
三种端口类型:
host隔离端口---属于隔离VLAN
host联盟端口---属于联盟VLAN
promiscuous混杂端口---可以和其它端口通信,不属于任何一个子VLAN,也可以和其他外部VLAN
1、设置主VLAN
SW1(config)#vlan 2
private-vlan primary
2、设置二级子VLAN
SW1(config)#vlan 3
private-vlan community #community的意思是: 子vlan3下所有的主机能够互访也能访问Vlan2,但是不能访问vlan4,5,6,7,8里的主机
SW1(config)#vlan 4
private-vlan community
vlan 5
private-vlan community
。。。。
3、将子VLAN划入主VLAN中,建立一个联系
SW1(config)#vlan 2
private-vlan association 3-8
4、将端口设定一个模式,并划入相应的VLAN中
int fe0/1
switchport mode private-vlan host 设置端口的模式,根据子VLAN的类型成为相应的端口
switchport private-vlan host-association 2 3-----将端口划入VLAN2中的子VLAN3
int fe0/2
switchport mode private-vlan promiscuous 设置混杂端口
switchport private-vlan mapping 2 3-8 设定混杂端口所能管理的子VLAN
5、给予特权(正常情况下,子VLAN中的成员是不能访问外部端口的,混杂端口除外)
int vlan 2
private-valn mapping 3-8 设置给予哪几个子VLAN特权,允许这几个子VLAN下的端口访问外部的VLAN
show interfaces private-vlan mapping
可以用基于vlan的控制访问列表