一、背景:
UIBE知行楼拥有30间实验室,由教务处统一管理,承载学校所有公共实验课程教学任务。
- 实验室座位有两种,46座和64座。
- 按教室号划分独立Vlan,如402实验室为Vlan402(net:10.1.42.0/24,gateway:10.1.42.254)。
- 计算机IP由DHCP服务器统一分配固定(fixed)IP,如402实验室学生机IP地址范围10.1.42.1 -- 10.1.42.46,教师机IP 10.1.42.80
- 所有实验室老师机7x24小时可连接外网,学生机默认不可连接外网,由上课教师向管理员提出上网需求。
- 实验室管理员按教室、时间段,并按周循环进行外网开放。
- 实验室外网防火墙为CentOS6.5 64位,使用ipfilter进行NAT转发连接外网,内网IP:10.1.1.252,外网IP:219.224.6.252(教育网实IP)。
- 尝试过使用各个发行版自带的Iptables 可视化软件进行该功能实现,基本不适用,还是自己做一个吧。
二、实现方式
原理:按教室进行IP细化分组,使用IPTABLES中的TIME模块进行时间控制,使用单独文件配置iptables 各个表和链,最后生成整体iptables可执行脚本。
iptables.sh 文件
#!/bin/bash
#更改tmp.sh文件为可执行
chmod +x tmp.sh
#导入flush文件
cat flush > tmp.sh
#导入input文件
cat input >> tmp.sh
#forward通用链
cat forward-main >> tmp.sh
#导入always-accept文件
cat always-accept >> tmp.sh
#206实验室
cat 206 >> tmp.sh
#208实验室
cat 208 >> tmp.sh
#402实验室
cat 402 >> tmp.sh
#以下还有其他实验室,不一一列举
#导入nat配置
cat nat >> tmp.sh
#导入save文件
cat save >> tmp.sh
#统一执行
./tmp.sh
转载于:https://blog.51cto.com/liqunsheng/2083273