一、背景:
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