Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2147622
  • 博文数量: 227
  • 博客积分: 10521
  • 博客等级: 上将
  • 技术积分: 3452
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-20 14:59
个人简介

低调做人,高调做事!

文章分类

全部博文(227)

文章存档

2013年(4)

2012年(8)

2011年(16)

2010年(24)

2009年(92)

2008年(83)

分类: LINUX

2009-06-01 22:37:19

是这样的,最近公司网络进行改造,要求实现IP和MAC地址的绑定,交换机下的每一个端口对应一个vlan号,这样来实现办公网和开发网的访问权限控制,每一个信息点在交换机上都是逻辑相对应的,这样以后不用去插拔网线,如果员工需要调动,只需要将该端口加入其它vlan即可,这样就需要将信息点的数字转换成交换机上的端口号进行对应。

举个例子,有一个员工对应的信息点是16,那么他的这个信息点在机柜交换机上对应的是1号交换的16端口,那么46这个信息点对应的是2号交换机的22端口。

网络维护人员已经将信息点和内网、外网的对应关系收集起来,我这边需要做的就是在2层交换机上进行端口加入vlan的操作,刚开始比较笨,一个一个计算信息点和交换机上的对应关系,搞了半个小时,比较麻烦,还搞错几个(口算不好),说不定还有漏网之鱼。

想想是不是可以通过程序来解决,于是就用perl写个简单的判断,这样我就直接在交换机vlan上添加端口就可以了,岂不是很方便,脚本如下:


#!/usr/bin/perl -w
use strict;

my $filename = '/opt/test';

open FH, "< $filename" or die "can't open $filename  ..... ($!)";

foreach my $sit () {
    chomp $sit;
    
    if ( $sit >= 1 and $sit <= 24) {
        my $switch = 1;
        my $port = $sit;
        print "$sit\t", "$switch\t", "$port", "\n";
    }

    elsif ( $sit >24  and $sit <= 48) {
        my $switch = 2;
        my $port = $sit - 24;
        print "$sit\t", "$switch\t", "$port", "\n";
    }

        elsif ( $sit >48  and $sit <= 72) {
        my $switch = 3;
        my $port = $sit - 48;
        print "$sit\t", "$switch\t", "$port", "\n";
    }

    elsif ( $sit >72  and $sit <= 96) {
        my $switch = 4;
        my $port = $sit - 72;
        print "$sit\t", "$switch\t", "$port", "\n";
    }

    elsif ( $sit >96  and $sit <= 120) {
        my $switch = 5;
        my $port = $sit - 96;
        print "$sit\t", "$switch\t", "$port", "\n";
    }
}


[root@localhost opt]# more test
40 (信息点)
59
69
43
9

执行结果,还有排序:
[root@localhost opt]# ./port.pl | sort -n
1       1(交换机)        1
22      1                22(端口号)
23      1                23
28      2                4
29      2                5


呵呵,这样一目了然,仅仅需要在对应的vlan上交换机上添加端口就ok了,先将配置写到文件,然后在交换机上粘贴,直接批量执行,还不会出错,活学活用很重要哦,大大减少了工作量。
阅读(1500) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2010-12-13 08:28:44

活学活用很重要哦