转自:http://www.ha97.com/4096.html

#!/bin/sh
#
modprobe ipt_MASQUERADE
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X
###########################INPUT键###################################

iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 110,80,25 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 139 -j ACCEPT
#允许内网samba,smtp,pop3,连接
iptables -A INPUT -i eth1 -p udp -m multiport --dports 53 -j ACCEPT
#允许dns连接
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
#允许外网vpn连接
iptables -A INPUT -s 192.186.0.0/24 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP
#为了防止DOS太多连接进来,那么可以允许最多15个初始连接,超过的丢弃
iptables -A INPUT -s 192.186.0.0/24 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP
#为了防止DOS太多连接进来,那么可以允许最多15个初始连接,超过的丢弃
iptables -A INPUT -p icmp -m limit --limit 3/s -j LOG --log-level INFO --log-prefix "ICMP packet IN: "
iptables -A INPUT -p icmp -j DROP
#禁止icmp通信-ping 不通
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
#内网转发
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
#防止SYN攻击 轻量
#######################FORWARD链###########################
iptables -P FORWARD DROP
iptables -A FORWARD -p tcp -s 192.168.0.0/24 -m multiport --dports 80,110,21,25,1723 -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPT
iptables -A FORWARD -p gre -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -p icmp -s 192.168.0.0/24 -j ACCEPT
#允许 vpn客户走vpn网络连接外网
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
#星期一到星期六的8:00-12:30禁止qq通信
iptables -I FORWARD -p udp --dport 53 -m string --string "TENCENT" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
#星期一到星期六的8:00-12:30禁止qq通信
iptables -I FORWARD -p udp --dport 53 -m string --string "tencent" -m time --timestart 13:30 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
iptables -I FORWARD -p udp --dport 53 -m string --string "TENCENT" -m time --timestart 13:30 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
#星期一到星期六的13:30-20:30禁止QQ通信
iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 8:15 --timestop 12:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
#星期一到星期六的8:00-12:30禁止qq网页
iptables -I FORWARD -s 192.168.0.0/24 -m string --string "qq.com" -m time --timestart 13:00 --timestop 20:30 --days Mon,Tue,Wed,Thu,Fri,Sat  -j DROP
#星期一到星期六的13:30-20:30禁止QQ网页
iptables -I FORWARD -s 192.168.0.0/24 -m string --string "ay2000.net" -j DROP
iptables -I FORWARD -d 192.168.0.0/24 -m string --string "宽频影院" -j DROP
iptables -I FORWARD -s 192.168.0.0/24 -m string --string "色情" -j DROP
iptables -I FORWARD -p tcp --sport 80 -m string --string "广告" -j DROP
#禁止ay2000.net,宽频影院,色情,广告网页连接 !但中文 不是很理想
iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROP
iptables -A FORWARD -p tcp -m ipp2p --ares -j DROP
iptables -A FORWARD -p udp -m ipp2p --kazaa -j DROP
#禁止BT连接
iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 24
#######################################################################
sysctl -w net.ipv4.ip_forward=1 &>/dev/null
#打开转发
#######################################################################
sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null
#打开 syncookie (轻量级预防 DOS 攻击)
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null
#设置默认 TCP 连接痴呆时长为 3800 秒(此选项可以大大降低连接数)
sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null
#设置支持最大连接树为 30W(这个根据你的内存和 iptables 版本来,每个 connection 需要 300 多个字节)
#######################################################################
iptables -I INPUT -s 192.168.0.50 -j ACCEPT
iptables -I FORWARD -s 192.168.0.50 -j ACCEPT
#192.168.0.50是我的机子,全部放行!
############################完#########################################

一个iptables shell脚本相关推荐

  1. 一个用Shell脚本写的猜丁壳游戏

    为什么80%的码农都做不了架构师?>>> 这几天在学习Linux的Shell脚本,写了一个猜丁壳游戏. 游戏规则:每回合玩家和电脑各出石头.剪子.布中的一个,分别以0.1.2表示,规 ...

  2. linux判断没有文件夹建一个,2,shell 脚本, 判断一个文件是否存在, 不存在就创建, 存在就显示其路径...

    2,shell 脚本, 判断一个文件是否存在, 不存在就创建, 存在就显示其路径 关于 shell 脚本: 1, 用 Shell 编程, 判断一文件是不是存在, 如果存在将其拷贝到 /dev 目录下. ...

  3. 复制查到到的文件到另一个目录(shell脚本)

    Test:find ../../res.bak/item/ -type f -name "*.jpg" |xargs -n1 -i echo {}."abc" ...

  4. linux下带.d的文件夹,linux – 如何在shell脚本中包含目录中的所有文件(在本例中为/etc/init.d/iptables)...

    我在不同的ubuntu服务器上有一个/etc/init.d/iptables start | stop | restart脚本(这是一个普通的 shell脚本) 对于每个新服务,我必须编辑并插入一行来 ...

  5. 分享一个有趣的shell脚本--单词及字母去重排序案例

    概述 今天主要分享一个用shell脚本来实现单词及字母去重排序案例,下面一起来看下吧~ 需求 1.按单词出现频率降序排序! 2.按字母出现频率降序排序! 相关文本: the squid project ...

  6. shell脚本初级教学(从基本脚本开始学起)

    shell脚本的意义就在于实现以后的自动化运维,Linux其实也是基于shell脚本的 所以我今天给大家教两个简单的脚本,并且解释. 第一个抽奖脚本: 思路:首先创建一个vim文件 [root@ser ...

  7. 小shell脚本---查找目录下面包含string的文件

    一个小shell脚本 公司使用的论坛是discuz的,经过开发人员修改后变成"私有"的了,其中改动了很多功能. 郁闷的事情发生了.上次公司服务器集体迁移,当bbs服务器按照正常方式 ...

  8. 详解Linux交互式shell脚本中创建对话框实例教程

    详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...

  9. 创建交互式shell脚本对话框

    当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入,比如:RHEL/CentOS自带的setup,对话框的类型有密码箱.检查表.菜单等等.他们可以引导你以一种直观的方式输入必要 ...

最新文章

  1. springboot整合oracle_SpringBoot2.x系列教程67--Spring Boot整合分布式事务简介
  2. .net 调用命令行进行解压缩
  3. [IOI2008]Island
  4. [GYM 100492A] Average Convex Hull 凸包好题
  5. Python:lambda表达式的两种应用场景
  6. 写下thinkphp5和thinkphp3.2的不同
  7. uuid会重复吗_UUID的版本你知道吗
  8. 从自建服务器到选择阿里云 慎重选择
  9. 使用BmFont制作unity可以使用的图集数字
  10. “天池”淘宝用户消费行为分析——sql
  11. 一款免费在线文字识别(OCR)工具
  12. 720vr全景网站平台系统 vr全景图制作系统
  13. [oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点
  14. Selenium本地打开远程浏览器
  15. python如何裁剪图像
  16. Git 报错 error: pathspec ‘XXX‘ did not match any file(s) known to git 报错解决方法
  17. H5移动端禁止长按保存图片
  18. python基础:廖雪峰的官方网站Python(部分)笔记
  19. 2020-01-07
  20. pgsql遇到小问题及小功能记录

热门文章

  1. SQL子查询中SOME、ANY、ALL关键字
  2. java 推箱子游戏 简单例子
  3. 什么?到现在你还不知道什么是 访问修饰限定符吗?
  4. 谷歌安卓系统可兼容linux,与安卓系统兼容的架构 - 车载安卓系统的设计方案和注意事项...
  5. 《高级无线网络—4G技术》——2.4 多载波CDMA
  6. Generative Pre-training
  7. SpringCloud系列——12Spring Cloud实战之统一认证与授权
  8. 【教程】Spire.PDF教程:如何添加、删除PDF页面以及自定义文档属性
  9. 金字塔原理的核心思想
  10. 20170118Capstone训练营