我们现在在公司里经常会遇到这样的要求,那就是
在公司的网络中,各部门经理之间能通信,员工之间是不
能的,但是内网的所有机器都能访问外网, ( PC1 和 PC2 是
财务部的成员,划分在 VLAN10 里, PC1 是财务部经理,
PC2 是财务部的员工, PC3 和 PC4 是业务部的成员,划分
在 VLAN20 里, PC3 是业务部经理, PC4 是业务部员工。 )
有些人会问,这不是矛盾吗,不让他们通信了,但是经理
之间还能通,这可能实现吗?
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
不用急,接下来我为大家解析一下:
实验拓扑如下:
我们要达到要求,只需要做三步就够了:
1、 划分 VLAN 。
2、 添加子接口,实现不同 VLAN 之间的通讯。
3、 利用访问列表达到我们所要的目的。经理之间通
讯,员工之间不能通讯 。
1、 我们首先来划分 VLAN 实现各部门之间不能通讯 。
Switch>
Switch>en
Switch#conf t
Switch(config)#host sw1
sw1(config)#vlan 10
sw1(config-vlan)#name caiwubu
sw1(config-vlan)#exit
sw1(config)#vlan 20
sw1(config-vlan)#name yewubu
sw1(config-vlan)#exit
把成员添加到 VLAN 里 :
sw1(config)#int range f0/2 - 3 (有人会问,为什么不用 int
f0/2 这条命令来添加 vlan 成员呢,你想一下,如果一个 vlan
里要添加几十个或是几百个成员,这岂不是一个很重的任
务,所以我们在这里用的命令是一次添加多个成员的,但
是前提是多个成员必须是连续的。比如: 1-4 )
sw1(config-if-range)#switchport access vlan 10
sw1(config-if-range)#exit
sw1(config)#int range f0/4 - 5
sw1(config-if-range)#switchport access vlan 20
sw1(config-if-range)#exit
划分好VLAN添加成员之后,创建TRUNK链路:
sw1(config)#int f0/1
sw1(config-if)#switchport mode trunk
接下来我们给 PC 机配上 IP 地址,测试一下看看。
第一步我们完成了,接下来我们实现第二部,不同 VLAN
之间互通。
1、 添加子接口,实现不同 VLAN 之间的互通。
在 R1 上配置:
Router>en
Router#conf t
Router(config)#host r1
r1(config)#int s0/0
r1(config-if)#ip addr 172.16.1.1 255.255.255.0
r1(config-if)#clock rate 64000
r1(config-if)#no shut
r1(config-if)#exit
接下来我们来激活接口 f0/0 以及划分子接口
r1(config)#int f0/0
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f0/0.1
r1(config-subif)#encapsulation dot1Q 10 (封装子接口)
r1(config-subif)#ip addr 192.168.1.1 255.255.255.0
r1(config-subif)#exit
r1(config)#int f0/0.2
r1(config-subif)#encapsulation dot1Q 20
r1(config-subif)#ip addr 192.168.2.1 255.255.255.0
r1(config-subif)#exit
实验一下不同 VLAN 之间的的通信:
我们也实现了不同 VLAN 之间的通讯,接下来利用防控列
表实现经理之间的通讯,员工之间不能通讯。
1、 利用访控列表实现经理之间的通讯,员工之间不能
通讯。
r1(config)#access-list 10 permit host 192.168.1.2
r1(config)#access-list 10 deny 192.168.1.0 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.0.0.255
r1(config)#access-list 10 permit any
作用到接口上:(根据标准防控列表的规则,应该
绑定 到靠近目的的 IP 的路由器接口上)
r1(con fig)#int f0/0.2
r1(config-subif)#ip access-group 10 out
r1(config-subif)#exit
r1(config)#access-list 20 permit host 192.168.2.2
r1(config)#access-list 20 deny 192.168.2.0 0.0.0.255
r1(config)#access-list 20 permit any
r1(config)#int f0/0.1
r1(config-subif)#ip access-group 20 out
r1(config-subif)#exit
配置好访控列表,我们在来实验一下:
如图,我们的目的达到了,但是我们还得保证所有的机器
都能访问外网。
要想能访问外网,我们必须有路由协议,那我们接下
来就给路由器配上路由协议:
在 R1 上配置路由协议:
r1(config)#router rip
r1(config-router)#network 172.16.1.0
r1(config-router)#network 192.168.1.0
r1(config-router)#network 192.168.2.0
r1(config-router)#exit
我们的配置都配好了,现在只要所有的机器能访问外网,
那么我们的实验就成功了 :
那我们就来实验一下:
PC1:
PC2:
PC3
PC4
如图:我们的实验成功了!