一年总结(一) - idle
一年总结(一)
离职手续正在办理中,第一份工作就要结束了。尽管我很珍惜这份工作,可公司、领导太过分!一年多来先后做了三个项目,现在还是三个项目同时在做。懒人一个,平时没时间、没心情写总结。就要走了闲来无聊,写点东西打发时间。
PTN 传输、WLAN、7750 路由器,一年多来做的都是粗活没什么技术含量。在 WLAN 上面花的时间比较多,总结就从这个开始吧。
WLAN 的基础知识网上很多,就在此不赘述了『其实是避实就虚……』。AC 的配置方法就我接触到的有两种:思科的 IOS 系纯 CLI,如思科,锐捷等;OEM/OMD 的,如上海贝尔、中兴通讯、三元达等,其实是无锡中太代工软件、阿德里亚(Aruba)硬件,在 Linux 底层上加一个业务平台。其中 IOS 系的,只是看别人操作过,我不会。在中太这套方案中有一个很重要的 sqlite3 数据库:icac_cfg.db,所有在 web 界面配置的数据都存储在这个文件里面。也正是因为这样,通过 web 界面配置的自然也可以通过 sqlite3 数据库配置。通过 web 界面配置,如添加热点等,网上也多的是,在此也不赘述。我就说说网上没看到的,通过 sqlite3 数据库如何配置。
该文件位于 /icac/db/icac_cfg/icac_cfg.db,因为 sqlite3 的位置没有在 Linux 的环境变量中,只能通过 /icac/local/sqlite/bin/sqlite3 /icac/db/icac_cfg/icac_cfg.db 打开。现在只要知道数据库的中各表的结构,剩下要配置什么就是 SQL 的事情了。以添加热点为例,这说这个之前先要知道添加热点的流程:
1.新建 AP 分组。导入 AP 的 MAC 地址及其对应的信道、功率,还应包含 AP 名称、所属热点名称等便于后期维护;
2.新建 WLAN 分组并配置该分组的 AP 参数。包含 SSID、VLAN、认证方式等;
3.分组策略关联。选择创建的 AP 分组,在 WLAN 分组中选择需要关联的 WLAN 分组;
4.WLAN-VLAN 关联。
# AP 分组表的结构,无需多解释,看一下创建 AP 分组表的语句就明白了。
CREATE TABLE ApGroup( ApMac varchar(32) not null, GroupName varchar(32) not null, Location varchar(32) default "", ApName varchar(32) default "", Description varchar(128) default "", primary key(ApMac) );
添加记录实例
INSERT INTO ApGroup VALUES('00-17-7b-33-48-57','SXJTJ','松溪交通局','FJNAP-MA-WLAN-AP-SXJTJU-04-001','聚类商业楼宇');
AP 的信道、功率信息是存储在表 ApRadioConfig 中
CREATE TABLE ApRadioConfig( ApMac varchar(32) not null, RadioId int not null, BGChannel int default 0, RateSet int default 0, --0-auto value*10 PowerCfgType int default 0, --0-auto switch 1-% 2-value PowerSet int default 0, -- RadioType int default 5, --1-11b 2-11a 4-11g 8-11n RfSwitch int default 0, --0-enable 1-disable RateSet11n int default 0, --0,1-16 SpatialMultiplexing int default 1, --1-1X1 2-2X2 AMPDU int default 0, --0-disable 1-enable ChannelBandwidth int default 0, --0-20MHz 1-auto 2-40- MHz 3-40+ MHz ShortGI int default 0, --0-Long(800us) 1-Short(400us) GreenfieldMixed int default 0, --0-Mixed 1-Greenfield AMSDU int default 0, --0-disable 1-enable primary key(ApMac,RadioId) );
实例
INSERT INTO ApRadioConfig VALUES('00-17-7b-33-48-57',1,1,0,1,1000,5,0,0,1,0,0,0,0,0);
# 创建 WLAN 分组
表结构
CREATE TABLE WlanGroup( WlanGroupId int not null, WlanGroupName varchar(32) not null, primary key(WlanGroupId) );
实例
INSERT INTO WlanGroup VALUES(3,'SXJTJ');
WLAN 分组配置存储在表 WlanCfg 中
CREATE TABLE WlanCfg( WlanId int not null, WlanGroupId int not null, WlanServiceIfIndex int default 0, MacType int default 0, TunnelMode int default 0, SecurityMode int default 0, SecuConfigIndex int default 0, Ssid varchar(32) default "", HideSsid int default 0, VlanID int default 0, QosLevel int default 0, MaxUserNum int default 0, ConfigFlag int default 0, MacAclPolicy int default 0, --0:open,1:white,2:black MaxTraffic int default 0, --add down traffic UserMaxTraffic int default 0, --add down traffic MaxSsidUpTraffic int default 0, --add, up traffic MaxUserUpTraffic int default 0, --add, up traffic TrafficLimitType int default 0, --流量控制方式 TransmitType int default 1, --接入转发方式 primary key(WlanId, WlanGroupId) );
实例
INSERT INTO WlanCfg VALUES(1,3,0,0,0,1,0,'CMCC',0,3843,0,20,1,0,0,0,0,0,0,0);
# 分组策略关联
表结构
CREATE TABLE GroupPolicy( ApGroupName varchar(32) not null, WlanGroupId int default 0, TimeLimitGrpId int default 0, primary key(ApGroupName) );
注意该表的记录已经在前面的操作中自动创建,所以只需对其中的记录需改。
update GroupPolicy set WlanGroupId='3' where ApGroupName='SXJTJ';
# WLAN-VLAN 关联
表结构
CREATE TABLE WlanPortTable( WlanGroupId int not null, WlanId int not null, VlanId int default 0, Port int default 0, StackVlanId int default 0, Primary key(WlanId, WlanGroupId) );
实例
INSERT INTO WlanPortTable VALUES(3,1,3843,0,0);
至此,热点添加完毕。
有 web 界面为何还要用 CLI 呢?效率!例如,某天运营商说要把每个热点的最大用户数从 32 改成 20 了,这时 web 界面就只能一个个热点去改,而用 CLI 只需一句
update WlanCfg set MaxUserNum='20' where MaxUserNum='32';
当然同样基于效率方面的考虑,新建 AP 分组通过 web 界面导入 csv 表格会快很多。其它的配置只要看一下对应的表结构就可以了,无需多言。下一次写 WLAN 组网方式或者就此不再写了。
2012年4月09日 10:02
下一个工作去哪
2012年4月09日 12:57
@Garfileo: 还没着落。在这里资料都是挤牙膏似的要来的,大部分还是没用的。可以通过数据库操作还是我偶然发现的,生命都消耗发现别人造好的轮子上!
2012年5月08日 23:27
和SQL无两样啊,以后我也得学学网络通信方面的东西。
2012年5月09日 02:20
@towry:就是 SQL 的语法……
2012年12月24日 00:17
怎么样?现在做神马工作了?
2012年12月29日 21:40
@Nob0dy: 转行比想象中的难,运维和网络工程师都去面试过,被刷了,现在在电脑城打杂……不好意思,最近有点忙,不常来看这边
2013年1月04日 21:01
我觉得还是网络比较容易转过去,继续找网络工程师的工作啊,至少你之前做的是和网络相关的,运维要求也是有点高的……
2013年1月05日 20:02
@Nob0dy: 是的,相对来说转网络更容易一些。现在基础太差,不管哪个都得提升一下自己的能力才可以,自学或者参加培训
2014年1月28日 22:23
人的潜力都是被逼出来的,很多知识大学学的没用上,毕了业还是要继续学的。学无止境。
2014年1月29日 09:42
@我为卿狂: 后文是,我居然在电子城一做就是一年多。老板生意惨淡,现状何去何从又是问题了。
2021年6月28日 18:04
What a fantabulous post this has been. Never seen this kind of useful post. I am grateful to you and expect more number of posts like these. Thank you very much. voyance-telephone-gaia.com