实用的iptables规则脚本怎么写
这篇文章主要介绍“实用的iptables规则脚本怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“实用的iptables规则脚本怎么写”文章能帮助大家解决问题。
iptables是Linux系统自带的防火墙,功能非常强大,可以轻量级的防护DDOS、CC、syn等,还可以做网关服务。
#!/bin/sh#modprobeipt_MASQUERADEmodprobeip_conntrack_ftpmodprobeip_nat_ftpiptables-Fiptables-tnat-Fiptables-Xiptables-tnat-X============================INPUT键===============================iptables-PINPUTDROPiptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPTiptables-AINPUT-ptcp-mmultiport--dports110,80,25-jACCEPTiptables-AINPUT-ptcp-s192.168.0.0/24--dport139-jACCEPT#允许内网samba,smtp,pop3,连接。iptables-AINPUT-ieth2-pudp-mmultiport--dports53-jACCEPT#允许DNS连接。iptables-AINPUT-ptcp--dport1723-jACCEPTiptables-AINPUT-pgre-jACCEPT#允许外网***连接。iptables-AINPUT-s192.186.0.0/24-ptcp-mstate--stateESTABLISHED,RELATED-jACCEPTiptables-AINPUT-ippp0-ptcp--syn-mconnlimit--connlimit-above15-jDROP#为了防止DOS太多连接进来,那么可以允许最多15个初始连接,超过则丢弃。iptables-AINPUT-s192.186.0.0/24-ptcp--syn-mconnlimit--connlimit-above15-jDROP#为了防止DOS太多连接进来,那么可以允许最多15个初始连接,超过则丢弃。iptables-AINPUT-picmp-mlimit--limit3/s-jLOG--log-levelINFO--log-prefix"ICMPpacketIN:"iptables-AINPUT-picmp-jDROP#禁止icmp通信(ping)不通。iptables-tnat-APOSTROUTING-oppp0-s192.168.0.0/24-jMASQUERADE#内网转发iptables-Nsyn-floodiptables-AINPUT-ptcp--syn-jsyn-floodiptables-Isyn-flood-ptcp-mlimit--limit3/s--limit-burst6-jRETURNiptables-Asyn-flood-jREJECT#防止SYN攻击轻量===========================FORWARD链==============================iptables-PFORWARDDROPiptables-AFORWARD-ptcp-s192.168.0.0/24-mmultiport--dports80,110,21,25,1723-jACCEPTiptables-AFORWARD-pudp-s192.168.0.0/24--dport53-jACCEPTiptables-AFORWARD-pgre-s192.168.0.0/24-jACCEPTiptables-AFORWARD-picmp-s192.168.0.0/24-jACCEPT#允许***客户走***网络连接外网iptables-AFORWARD-mstate--stateESTABLISHED,RELATED-jACCEPTiptables-IFORWARD-pudp--dport53-mstring--string"tencent"-mtime--timestart8:15--timestop12:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的8:00-12:30禁止QQ通信iptables-IFORWARD-pudp--dport53-mstring--string"TENCENT"-mtime--timestart8:15--timestop12:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的8:00-12:30禁止QQ通信iptables-IFORWARD-pudp--dport53-mstring--string"tencent"-mtime--timestart13:30--timestop20:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROPiptables-IFORWARD-pudp--dport53-mstring--string"TENCENT"-mtime--timestart13:30--timestop20:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的13:30-20:30禁止QQ通信iptables-IFORWARD-s192.168.0.0/24-mstring--string"qq.com"-mtime--timestart8:15--timestop12:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的8:00-12:30禁止QQ网页iptables-IFORWARD-s192.168.0.0/24-mstring--string"qq.com"-mtime--timestart13:00--timestop20:30--daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的13:30-20:30禁止QQ网页iptables-IFORWARD-s192.168.0.0/24-mstring--string"ay2000.net"-jDROPiptables-IFORWARD-d192.168.0.0/24-mstring--string"宽频影院"-jDROPiptables-IFORWARD-s192.168.0.0/24-mstring--string"***"-jDROPiptables-IFORWARD-ptcp--sport80-mstring--string"广告"-jDROP#禁止ay2000.net,宽频影院,***,广告网页连接!但中文不是很理想iptables-AFORWARD-mipp2p--edk--kazaa--bit-jDROPiptables-AFORWARD-ptcp-mipp2p--ares-jDROPiptables-AFORWARD-pudp-mipp2p--kazaa-jDROP#禁止BT连接iptables-AFORWARD-ptcp--syn--dport80-mconnlimit--connlimit-above15--connlimit-mask24sysctl-wnet.ipv4.ip_forward=1&>/dev/null#打开转发sysctl-wnet.ipv4.tcp_syncookies=1&>/dev/null#打开syncookie(轻量级预防DOS攻击)sysctl-wnet.ipv4,netfilter.ip_conntrach_tcp_timeout_estabilshed=3800&>/dev/null#设置默认TCP连接痴呆时长为3800秒(此选项可以大大降低连接数)sysctl-wnet.ipv4.ip_conntrack_max=300000&>/dev/null#设置支持最大连接树为30W(这个根据你的内存和iptables版本来,每个connection需要300多个字节)iptables-IINPUT-s192.168.0.50-jACCEPTiptables-IFORWARD-s192.168.0.50-jACCEPT#192.168.0.50,全部放行!
关于“实用的iptables规则脚本怎么写”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。