使用Centos下的iptables實現實驗室按教室、按時間進行上網控制(一)

一、背景:
UIBE知行樓擁有30間實驗室,由教務處統一管理,承載學校所有公共實驗課程教學任務。

  1. 實驗室座位有兩種,46座和64座。
  2. 按教室號劃分獨立Vlan,如402實驗室爲Vlan402(net:10.1.42.0/24,gateway:10.1.42.254)。
  3. 計算機IP由DHCP服務器統一分配固定(fixed)IP,如402實驗室學生機IP地址範圍10.1.42.1 -- 10.1.42.46,教師機IP 10.1.42.80
  4. 所有實驗室老師機7x24小時可連接外網,學生機默認不可連接外網,由上課教師向管理員提出上網需求。
  5. 實驗室管理員按教室、時間段,並按周循環進行外網開放。
  6. 實驗室外網防火牆爲CentOS6.5 64位,使用ipfilter進行NAT轉發連接外網,內網IP:10.1.1.252,外網IP:219.224.6.252(教育網實IP)。
  7. 嘗試過使用各個發行版自帶的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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章