这个iptables脚本不错,很实用,根据实际应用改一下就可以自己用。分享出来,供大家来参考。原作者佚名。源代码如下:

#!/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 #允许外网***连接 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 #允许 ***客户走***网络连接外网 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是我的机子,全部放行!

转载于:https://blog.51cto.com/navyaijm/816634

一个经典实用的iptables shell脚本相关推荐

  1. php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...

    一个经典实用的PHP图像处理类分享 本图像处理类可以完成对图片的缩放.加水印和裁剪的功能,支持多种图片类型的处理,缩放时进行优化等. /** file: image.class.php 类名为Imag ...

  2. 100个实用的 Linux Shell 脚本经典案例,收藏备用~

    点击关注公众号,利用碎片时间学习 1)编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2)通过位 ...

  3. 一个iptables shell脚本

    转自:http://www.ha97.com/4096.html #!/bin/sh # modprobe ipt_MASQUERADE modprobe ip_conntrack_ftp modpr ...

  4. linux脚本攻击,一个防DDOS攻击的SHELL脚本

    当遇到DDOS的攻击时,可以考虑封IP来源来暂时解决,但IP源变化多端,光靠手工添加不现实,所以写了个脚本,以实现自动添加.有需要的朋友,参考下吧. 1,防范ddos攻击的脚本 mkdir /root ...

  5. 如何让一个停不下来的shell脚本在规定时间内停下来?

    1. 直接上命令:timeout  10  bash  run.sh 之句话的意思是:让bash  run.sh这个脚本最多跑10秒钟 2. 举个例子,写一个while循环脚本,让它输出1-10000 ...

  6. mysql 脚本 linux_MySQL的一些功能实用的Linux shell脚本分享

    Memcached启动脚本 # vim /etc/init.d/memcached #!/bin/bash #============================================= ...

  7. 一个很牛的 linux shell脚本编写的俄罗斯方块游戏实例代码,非常牛逼

    本文转载:https://www.qiansw.com/shell-tetris-game.html 可以将下面代码直接保存为sh文件. #!/bin/bash   # Tetris Game # 1 ...

  8. mysql shell命令和作用_MySQL的一些功能实用的Linux shell脚本分享

    #!/bin/bash#=======================================================================================# ...

  9. linux脚本简介,Linux Shell脚本简介

    Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...

  10. linux连接oracle的日志,linux shell脚本连接oracle查询数据插入文件和日志文件中

    #!/bin/sh sqlplus "用户名/密码@数据库"< sqlplus "用户名/密码"< sqlplus -S "用户名/密码& ...

最新文章

  1. 解决Wireshark 服务运行于非默认端口问题
  2. Specification使用in
  3. python求正方体体积_「高中数学」简单几何体的面积与体积相关知识点整理+例题...
  4. Java面试题详解二:java中的关键字
  5. 结构体符号重载(简单版+手动扩栈方法)
  6. html ui 下拉列表,html - 如何给样式Material-ui选择字段下拉菜单?
  7. 韩顺平oracle教学笔记,韩顺平 - 玩转oracle教程笔记(转)
  8. Pycharm汉化后设置无法打开解决办法
  9. 网易云ncm文件转mp3
  10. 停止内耗:过一个不累的人生-读书笔记
  11. 窥尽大数据背后被遮掩起来的财富
  12. 使用D3D8实现2D图形显示技术
  13. 安装配置群晖 DS918+ NAS及常用技巧
  14. JavaScript和CSS实现详情图片显示大图特效
  15. A20 Plus(esp8266与A6C)拍照传输图片
  16. 视频编解码中的temporal id和layer id(x265,HM,VTM)
  17. android手机 u盘 启动不起来,安卓手机不识别U盘、不能连接PC的处理方法
  18. 基于matlab的三体运动模拟
  19. 计算机方向学术入门经验,EI、SCI、顶级会议、期刊详解(转)
  20. 线路子区段划分示意图

热门文章

  1. 普通平键的主要尺寸有_你还在为怎样选择床上用品尺寸而烦恼吗?床品尺寸大解析帮到你!...
  2. oracle如何查找谁删除了数据_一文看懂Oracle是如何闪回数据库的?
  3. Java学习之路 之 容易混淆篇
  4. L1-032 Left-pad (20 分)—团体程序设计天梯赛
  5. 仿XP系统的任务栏菜单
  6. 816D.Karen and Test 杨辉三角 规律 组合
  7. 新浪微博客户端(26)-添加转发评论工具条
  8. 递归装饰器正则运算模块
  9. Jmeter参数化HTTP request中Send Files With The Request的文件路径和文件名
  10. pl/sql中添加 shortcuts插件