猝然临之而不惊,无故加之而不怒。
分类: 系统运维
2010-09-07 16:27:08
前面有不少人问起过VLAN的用法,在这里先抛砖引玉吧
以下是ROS VLAN的设置通用法则,其他交换机可以采用类似的思路是一样的,并且在华为和SSR等名牌设备上都做通了
1、设置交换机:
1、1 添加相应VLAN
set vlan 111 name office type ethernet mtu 1500 said 100111 state active
set vlan 112 name factory type ethernet mtu 1500 said 100112 state active
set vlan 113 name school type ethernet mtu 1500 said 100113 state active
set vlan 114 name cnc type ethernet mtu 1500 said 100114 state active
//以上是设置了111-114 VLAN的名字等参数。
1、2 将111-114的VLAN分配各个相应端口
set vlan 111 2/7
set vlan 112 2/9
set vlan 113 2/11
set vlan 114 2/13
//接网线:111(2/7)接办公楼;112(2/9)接集团工厂车间;113(2/11)接集团子弟学校;114(2/13)接网通出口
//好象没有ROS什么事呀?先别急,等一会再说
1、3 配置VLAN干线
clear trunk 2/5 2-110,115-1005
//以上也许可以省略,目的是将其他与ROS无关的VLAN抛开
set trunk 2/5 on dot1q 1,111-114
//将2/5设置为TRUNK口,vlan的封装类型一定要用dot1q,因为ROS仅支持标准802.1q的vlan,因此采购其他的交换机也要支持802.1q的交换机,有些市面交换机只支持私有的VLAN协议
//同样,如果选CISCO的交换机,也要注意不能配置成ISL的VLAN,如果MIKROTIK购买CISCO的协议,ROS就不会那么便宜了!
//这个口子就插ROS的ether1
//ether1是外口还是内口?都是!
//晕了?继续向下看--->
2、设置ROS
其实很简单:
2、1 创建VLAN并加入到ether1
/ interface vlan
add name="office" mtu=1500 arp=enabled vlan-id=111 interface=ether1 disabled=no
add name="factory" mtu=1500 arp=enabled vlan-id=112 interface=ether1 disabled=no
add name="school" mtu=1500 arp=enabled vlan-id=113 interface=ether1 disabled=no
add name="cnc" mtu=1500 arp=enabled vlan-id=114 interface=ether1 disabled=no
//虽然语法和CISCO不一样,但道理是一样的
//注意要点,这里的VLAN ID与前面交换机的要一一对应,VLAN名称有些交换机可以不对应,但有些交换机要求较严格,不对应不通
2、2 使用VLAN,VLAN的使用非常简单,把它们象普通网卡那样对待就可以了
/ ip address
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=office comment="" disabled=no
add address=192.168.1.1/30 network=192.168.1.0 broadcast=192.168.1.255 interface=factory comment="" disabled=no
add address=192.168.2.1/24 network=192.168.2.0 broadcast=192.168.2.255 interface=school comment="" disabled=no
add address=221.38.156.42/30 network=221.38.156.40 broadcast=221.38.156.43 interface=cnc comment="" disabled=no
//以上是给各个vlan设置地址
2、3 做其他必要设置
/ ip route
add dst-address=0.0.0.0/0 preferred-source=0.0.0.0 gateway=221.38.156.41 distance=1 comment="added by setup" disabled=no
//添加缺省路由
/ ip firewall src-nat
add src-address=192.168.0.0/16 out-interface=cnc action=masquerade comment="" disabled=yes
//配置NAT转发
//好了,现在可以上网了,ROS只用了单网卡,并且各个VLAN间可以互访了
3、一句话总结:
创建设置VLAN并一一对应====>将端口分配VLAN=====>建立VLAN干线=====>象普通网卡那样使用VLAN
4、相关话题:TRUNK不也是要求一一对应的吗?
没错,不过ROS自动识别,不需要特别建立,但需要注意硬件兼容性:8139和INTEL网卡是支持VLAN的,但其他网卡未经测试,不敢保证能通。
怪我没说清,VLAN既然可以全在一个网卡上,当然也就可以随意组合,比如有的网卡没VLAN,有的网卡有3个VLAN,有的网卡有2个VLAN
VLAN,在ROS中,的确用处不太大,只是有人问,而且好长时间没见人解答,我才随便讲一下的,具体到实际应用的意义,我想大致如下:
1:vlan的本来意义,主要在于提供末端用户的隔离,减少广播,加强安全性,比如有人也用不同地址段做隔离,但稍微懂一些的人就会私设地址来对付管理员,如果管理员绑定MAC,"罪犯"也同样可以盗用MAC,甚至管理员PPPOE,"罪犯"可以盗密码,而VLAN的隔离是相对安全的,因为只要锁没被破坏,那就是安全的.
2:如果用ROS来负载多个行政单元,管理员需要不断给ROS添加网卡,虽然一个ROS上可以插几十块网卡,但那看起来毕竟有些滑稽,并且每次加网卡,就要断网,不利于网络运行,而用ROS+交换机的方式,增加vlan只是增加几条配置语句而已,必要的话还可以加交换机,中间不需要断网,这对需要连续运行的网络来说还是很重要的,如果只是一般网吧,VLAN?还是免了吧?!
3:逆向思维:有ROS的特性决定的,如果一个网卡只一个VLAN,则VLAN根本无任何必要,直接使用接口就行了,而ROS的另一特性是,多个端口不能属于同一VLAN ID,这导致了,ROS不能将端口分组,我还是那句话,ROS不是交换机,而是路由器.
宗上所述,VLAN在ROS中的使用,仅仅用于一个网卡带多个vlan的情况,并且,所有VLAN的总带宽是他们所属的trunk端口的带宽.
另外.也请大家注意,并不是ROS中的所有功能对你都是有用的,具体情况需要具体分析.