|
贴一篇文章给lz看看
此文章由 zsustar 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 zsustar 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谈了这么多PVLAN应用的优点,也知道了PVLAN是一种特殊的VLAN,那么它又是怎样的一种结构呢?PVLAN其实就是定义若干个VLAN,将其中一个VLAN定义为Primary VLAN即主VLAN,其它几个VLAN为Secondary VLAN即辅助VLAN,辅助VLAN与主VLAN建立关联,成为主VLAN的成员,各个辅助VLAN共享主VLAN的地址资源,包括IP地址、网关等,而在PVLAN外部,所有的辅助VLAN都被看成是一个VLAN,即主VLAN,其结构如图3所示:
图3
如图3的示例,我们一共定义了5个VLAN,其中VLAN100、VLAN110、VLAN120被定义在同一个PVLAN中,VLAN100为主VLAN,VLAN110和VLAN120为辅助VLAN,VLAN110、VLAN120和VLAN100建立关联,整个 PVLAN使用192.168.100.0/24地址空间,各个辅助VLAN中的计算机也都使用该网段的IP地址;VLAN200和VLAN220则为普通的VLAN,VLAN200使用192.168.200.0/24网段,VLAN220使用192.168.220.0/24网段。VLAN之间通过配置ACL实现VLAN的安全,PVLAN则是通过将辅助VLAN定义为不同类型的VLAN来实现VLAN内部的安全。相信通过上图我们对PVLAN的结构有了一个大概的了解,下面再让我们来熟悉PVLAN所特有的几个概念:
Promiscuous端口——中文意思为混杂模式端口,处于此种模式下的端口可与所有的端口进行通信;
Isolated端口——中文意思为隔离端口,顾名思义,处于此种模式下的端口是被隔离的,互相之间不能访问,只能与Promiscuous端口和TRUNK端口通信;
Community端口——中文意思为公共端口,在这种模式下的端口就像是组成了一个社团,社团内的端口可以互相通信,但不同社团之间的端口是不能通信的,所有社团的端口都可以与Promiscuous端口和TRUNK端口通信;
以上是PVLAN中的几种端口类型,再看一下PVLAN中所特有的VLAN类型:
Primary VLAN——中文意思为“主VLAN”,每个PVLAN中有且只能有一个主VLAN,PVLAN中各种类型的端口都是Primary VLAN的成员;
Isolated VLAN——中文意思为“隔离VLAN”,每个PVLAN中只能有一个隔离VLAN,隔离VLAN中的端口就是处于Isolated端口模式下,只能与混杂模式的端口和TRUNK端口通信,隔离端口之间也不能互相通信,具有Isolated端口的特征;
Community VLAN——中文意思为“公共VLAN”,每个PVLAN中可以配置多个公共VLAN,Community VLAN中的端口就处于Community端口模式下,具有Community端口的特征。
熟悉了这几个概念之后,再结合图3,PVLAN的结构就很容易理解了。PVLAN在逻辑上我们可以将它看成是一个层次结构,那么图3中的PVLAN又如图4所示:
图4
在这个PVLAN中,Isolated VLAN即VLAN110中的计算机和Community VLAN即VLAN120中的计算机是不可以互相通信的,仅仅只有VLAN120中的计算机可以互相通信,但VLAN110和VLAN120又共享同一个地址空间(即VLAN100的地址空间——192.168.100.0/24),也共享VLAN100的网关,并且都可以和网关通信,可以通过网关访问这个网段即VLAN100以外的资源。通过对PVLAN的合理配置,既实现了VLAN内部的安全,又不影响VLAN内计算机对VLAN内外各种资源的使用。
三、 PVLAN应用示例
由于PVLAN的这种特性,我们可以发现对于前面所提到的两种应用场景,PVLAN就是最佳的解决方案。例如,对应用场景1可以采取如图5的方式
图5
在某ISP服务商处,先划分一个VLAN并将这个VLAN定义为Primary VLAN,然后为所有的托管服务器分别划分VLAN,再将这每个客户的VLAN定义为相应的Comunnity VLAN,在如图5的示例中,24位掩码的IP地址空间中除去一个作为网关地址外,最多可以有253个服务器,如果每个客户托管一台服务器,这一个网段就可以为253个客户提供服务。每个客户的服务器都使用192.168.100.0/24网段的地址,但由于在不同的Community VLAN中,各个客户虽然在同一个网段当中,但是却不能互相访问,这就解决了安全问题,而且如果同一个客户如果有多台托管的服务器,只需要将这个客户的服务器都划分在同一个Community VLAN中,就可以实现同一个客户的服务器的互访,网络结构也不需要做大的更改,具有很好的扩展性。同时由于所有客户在同一个PVLAN中,不需要为每个客户建立不同的子网,所以IP地址也得到了有效的利用,管理起来也就更加简单了;
而对于场景二中,完全可以采用如图3所示的方案,通过建立PVLAN,将能够访问互联网的计算机划到Isolated VLAN中,即隔离VLAN中,这样即使这台计算机安装了代理软件,由隔离VLAN的特性我们知道,在这个PVLAN中其它的计算机因为无法访问这台代理服务器,因此也就无法通过它来访问互联网了,可以说从根本上杜绝了员工私设的代理服务器,而且并不影响那台具有访问互联网权限的计算机的正常应用。
下面就让我们以一台Cisco WS-C3560-24TS为例来看看PVLAN的具体配置过程。首先对将要配置的VLAN规划一下:建立四个VLAN,VLAN号分别为100、110、120、130,将VLAN 100作为Primary VLAN,VLAN 110 作为Isolated VLAN,VLAN 120和VLAN 130作为Community VLAN。交换机的9和10号端口划到Isolated VLAN——VLAN 110中,14号和15号端口划到VLAN 120中,17号端口和18号端口划分到VLAN 130中,16号端口作为混杂模式端口,主VLAN的地址段为192.168.100.0/24,网络拓扑如图6所示:
图6
规划好后,下面就开始配置过程。
第一步:登陆到交换机,进入到特权模式:
3560TS>en
Password:
3560TS#config t
Enter configuration commands, one per line. End with CNTL/Z.
3560TS(config)#
顺便说一下,在3560交换机中,VLAN的配置已不建议在VLAN Database配置模式下,而是统一到全局配置模式下来配置VLAN。
第二步:接下来增加预先规划的四个VLAN:
3560TS(config)#vlan 100
3560TS(config-vlan)#exit
3560TS(config)#vlan 110
3560TS(config-vlan)#exit
3560TS(config)#vlan 120
3560TS(config-vlan)#exit
3560TS(config)#vlan 130
3560TS(config-vlan)#exit
3560TS(config)#
第三步:分别将四个VLAN划分到不同模式的PVLAN中,并建立关联:
将VLAN 100划分到PrimaryVLAN中:
3560TS(config)#vlan 100
3560TS(config-vlan)#private-vlan primary
3560TS(config-vlan)#exit
3560TS(config)#
将VLAN 110划分到Isolated VLAN中:
3560TS(config)#vlan 110
3560TS(config-vlan)#private-vlan isolated
3560TS(config-vlan)#exit
3560TS(config)#
将VLAN 120和130划分到Community VLAN中:
3560TS(config)#vlan 120
3560TS(config-vlan)#private-vlan community
3560TS(config-vlan)#exit
3560TS(config)#vlan 130
3560TS(config-vlan)#private-vlan community
3560TS(config-vlan)#exit
3560TS(config)#exit
3560TS#
然后将VLAN110,VLAN120,VLAN130关联到主VLAN中:
3560TS(config)#vlan 100
3560TS(config-vlan)#private-vlan association 110,120,130
3560TS(config-vlan)#end
完成以上命令后,用sh runn命令查看配置:
vlan 100
private-vlan primary
!
vlan 110
private-vlan isolated
!
vlan 120
private-vlan community
!
vlan 130
private-vlan community
再执行sh vlan private-vlan命令:
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
100 110 isolated
100 120 community
100 130 community
我们可以发现,各个VLAN已按照我们的要求配置到相应的PVLAN中去了,并且各Secondary VLAN也已关联到主VLAN中。
第四步:接下来再按照计划将各端口关联到各辅助VLAN中:
3560TS(config)#int range fa0/9-10
3560TS(config-if-range)#switchport mode private-vlan host //将端口配置为PVLAN的主机模式
3560TS(config-if-range)#switchport private-vlan host-association 100 110 //将端口关联到Primary VLAN为100,Secondary VLAN为110的PVLAN中
3560TS(config)#exit
3560TS(config)#int range fa0/14-15
3560TS(config-if-range)#switchport mode private-vlan host
3560TS(config-if-range)#switchport private-vlan host-association 100 120 //将端口关联到Primary VLAN为100,Secondary VLAN为120的PVLAN中
3560TS(config-if-range)#exit
3560TS(config)#int range fa0/17-18
3560TS(config-if-range)#switchport mode private-vlan host
3560TS(config-if-range)#switchport private-vlan host-association 100 130 //将端口关联到Primary VLAN为100,Secondary VLAN为130的PVLAN中
3560TS(config-if-range)#exit
3560TS(config)#int fa0/16
3560TS(config-if)#switchport mode private-vlan promiscuous //将端口配置为PVLAN的混杂模式
3560TS(config-if)#switchport private-vlan mapping 100 110,120,130 //将端口映射到Primary VLAN 100中,并且选择混杂模式端口允许通过的Secondary VLAN
以上的命令分别将9、10号端口划分到了Isolated VLAN(即VLAN 110)中,14、15号端口划分到了Community VLAN(即VLAN 120)中,17、18号端口划分到了Community VLAN(即VLAN 130)中。16号端口划分为混杂模式端口,并且允许各Isolated VLAN、Community VLAN都能够和16号端口通信。用sh vlan private-vlan查看:
3560TS#sh vlan private-vlan
Primary Secondary Type Ports
------- --------- ----------------- ------------------------------------------
100 110 isolated Fa0/9, Fa0/10, Fa0/16
100 120 community Fa0/14, Fa0/15, Fa0/16
100 130 community Fa0/16, Fa0/17, Fa0/18
由显示结果可以发现已经达到了预期的配置目的,特别注意的是Fa0/16号端口,在每个Secondary VLAN中都显示有该端口,即表示每个Secondary VLAN都能够和16号端口的计算机通信。端口配置完成后,还有重要一点重要的配置,这也是我在学习PVLAN时被忽视的一个配置,但偏偏是非常重要的一点,导致我在配置后发现VLAN不能通讯,直到仔细检查配置后才发现必须要配置如下的命令。
第五步:最后的配置
3560TS(config)#int vlan 100
3560TS(config-if)#ip address 192.168.100.1 255.255.255.0
3560TS(config-if)#ip helper-address 192.168.24.10
3560TS(config-if)#private-vlan mapping 110,120,130 //将Secondary VLAN映射到3层接口
3560TS(config-if)#end
以上命令首先是将Primary VLAN配置上IP地址,那么在这个PVLAN中的PC都属于192.168.100.0/24的地址空间中,并且将110、120、130三个Secondary VLAN都映射到Primary VLAN中,这样就允许了三个Secondary VLAN在三层的交换,配置中的IP地址192.168.24.10为DHCP服务器的地址,到此PVLAN的配置才能算是全部完成。 |
|