iptables控制较复杂案例
场景设定:
管理员:192.168.101.80
公司有三个部门:
工程部:192.168.2.21-192.168.2.20
软件部门:192.168.2.21-192.168.2.30
经理办公室:192.168.2.31-192.168.2.40
上班时间:周一到周五 8点-20点
工程部门:ftp 下班后无限制
软件部门:http 不允许浏览sina,不允许使用迅雷,最大连接数3,不准聊天,不准看图片,不准下载电影,下班后无限制。
经理办公室:http和qq都可以,下班无限制
开始设置iptables表:
环境变量:
adminip=192.168.1.1. timerange="--timestart 08:00 --timestop 20:00"
//下班后的时间范围,因iptables只在00:00-23:59有效,故要分成2段。
timerange1="--timestart 08:01 --timestop 23:59" imerange2="--timestart 00:00 --timestop 07:59"
//工程部门ip范围
iprange1="192.168.2.21-192.168.2.30"
//软件部门ip范围
iprange2="192.168.2.21-192.168.2.30"
//经理办公室ip范围
iprange3="192.168.2.31-192.168.2.40"
1、首先在设置全部禁止之前,要上ssh可以登录,同时设置local回路通过。
iptables -A INPUT -s $adminip -p tcp --dport -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d $adminip -p tcp -sport -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
2、把进,出,转发三链策略设为DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
3、软件部门策略:
1)、首先让软件部门可以上网(通过透明代理服务器),然后再进行限制
iptables -A PREROUTING -m iprange --src-range $iprange2 -m time $timerange -p tcp --dport –j REDIRECT –-to-ports //3128为本防火墙的squid服务端口
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -p tcp --dport -j ACCEPT //可以上网
iptables -p udp --dport -j ACCEPT //可以访问域名服务器
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/ -o eth0 -j MASQUERADE
2)、对迅雷和qq进行控制
iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto qq -j DROP
iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto xunlei -j DROP
4、经理办公室
iptables -t nat -A PREROUTING -m iprange $iprange3 -p tcp --dport -j REDIRECT --to-ports
iptables -A FORWARD -m iprange --src-range $iprange3 -p udp --dport -o eth0 -j ACCEPT
iptables -A FORWARD -m iprange --src-range $iprange3 -m time $timerange -m layer7 --17proto qq -j ACCEPT
5、最后是工程部
iptables -t nat -A POSTROUTING -m iprange $iprange1 -m time $timerange -p tcp --dport -j MASQUERADE
iptables -A FORWARD -m iprange --src-range iprange1 -m time $timerange -p tcp --dport -j ACCEPT
6、下班后控制
iptables -A FORWARD -s 192.168.2.0/ -m time $timerange1 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/ -m time $timerange2 -j ACCEPT
iptables -t nat -A PREROUTING -m time $timerange1 -p tcp --dport -j REDIRECT --to-ports
iptables -t nat -A PREROUTING -m time $timerange2 -p tcp --dport -j REDIRECT --to-ports
iptables -t nat -A POSTROUTING -m time $timerange1 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -m time $timerange2 -o eth0 -j MASQUERADE
7、写DMZ区域的(用远程登陆模拟)
iptables -t nat -A PREROUTING -d 192.168.101.40 -p tcp --dport -j DNAT --to 192.168.3.100
iptables -t filter -A FORWARD -d 192.168.3.100 -p tcp --dport -j ACCEPT
iptables控制较复杂案例的更多相关文章
- iptables filter表小案例
案例1:把80端口,22端口,21端口放行 22端口指定IP访问,其它IP拒绝. shell脚本实现: [root@centos7 ~]# vim /usr/local/sbin/iptables.s ...
- iptables常用语法与案例
常用命令语法: [root@www ~]# iptables [-t tables] [-L] [-nv] 选项与参数: -t :后面接 table ,例如 nat 或 filter ,若省略此项目, ...
- iNeuOS工业互联平台,PLC监测与控制应用过程案例。新闻:.NET 6 RC1 正式发布
目 录 1. 概述... 1 2. 平台演示... 2 3. 应用过程... 2 1. 概述 iNeuOS工业互联网操作系统主要使用.netcore 3. ...
- OAF_开发系列21_实现OAF事物控制TransactionUnitHelper(案例)
20150716 Created By BaoXinjian
- html的textarea控制字数小案例
<h3>设计理念说明(200字以内)</h3> <textarea onkeyup="checkLen(this)"></textarea ...
- 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用
1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则 1.1 关闭firewalld,启动iptables服务 ...
- Linux iptables 应用控制访问SSH服务
Title:Linux iptables 应用控制访问SSH服务 --2012-02-23 17:51 今天用到了以前从来没有用到过的,iptables控制访问,只允许外部访问SSH服务(22号端口 ...
- iptables技术入门
1- 概述 ___ netfilter/iptables: IP 信息包过滤系统,实际由两个组件netfilter和iptable组成.可以对流入和流出服务器的数据包进行很惊喜的控制.主要工作在OSI ...
- iptables防火墙说明即使用
防火墙是架设在公网和私网之间的服务器,隔离公网和私网,保护私网. RHEL7默认使用firewalld作为防火墙. 但firewalld底层还是调用包过滤防火墙iptables #systemctl ...
随机推荐
- IOS开发基础Object-C(12)—单例模式
单例模式的意思就是仅仅有一个实例. 单例模式确保某一个类仅仅有一个实例,并且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类仅仅能有一 ...
- Fusioncharts的导出图片訪问官网问题
Fusioncharts3.5使用自带的导出功能,须要訪问官网 问题描写叙述:使用fusioncharts自带的exportchart方法来导出图片的时候.要訪问export.api3.fusionc ...
- Win7没有防火墙:0x80070422
在"MSDN我告诉你"下载的官方原版Window7 64位,安装后防火墙是这样的: 点击"使用推荐设置",报错:0x80070422,估计是因为使用PE中的工具 ...
- JSTL详解(二)
JSTL详解(二) 在JSTL中,一般用途的标签只要是指具有输出,设置变量,和错误处理等功能的标签,他们在jsp中使用很频繁,它们有: l <c:out> l ...
- Strange Addition
http://codeforces.com/problemset/problem/305/A 这题就是意思没看懂,一开始以为只要个位数只要一个为0就能相加,没想到到CF里面提交第三组就过不了,才发现是 ...
- 从零开始学JavaScript二(基本概念)
基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的 ...
- Oracle体系结构二(学习笔记)
- Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日
public static void main(String[] args) { List<String> list = new ArrayList<String>();//节 ...
- Spring boot发送邮件
最近接到一个需求:分配任务给用户时,发送邮件提醒用户. 后端应该和Andorid一样有现成的api支持,浏览器里搜索了下,果不其然,很轻松就实现了这个功能,现在记录下. 首先添加Maven依赖 < ...
- JDK目录结构和文件作用介绍
要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解了下JDK里的各种可执行程序或工具的用途Java(TM) 有两个平台 JRE 运行平台,包括Java虚拟机, ...