一个经典实用的iptables shell脚本

一个经典实用的iptables shell脚本

分享一段shell脚本,用到设置iptables相关信息。

#!/bin/sh#filename:ipt.sh#by 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-ieth1-pudp-mmultiport–dports53-jACCEPT#允许dns连接iptables-AINPUT-ptcp–dport1723-jACCEPTiptables-AINPUT-pgre-jACCEPT#允许外网vpn连接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-prefixiptables-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#允许vpn客户走vpn网络连接外网iptables-AFORWARD-mstate–stateESTABLISHED,RELATED-jACCEPTiptables-IFORWARD-pudp–dport53-mstring–string-mtime–timestart8:15–timestop12:30–daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的8:00-12:30禁止qq通信iptables-IFORWARD-pudp–dport53-mstring–string-mtime–timestart8:15–timestop12:30–daysMon,Tue,Wed,Thu,Fri,Sat-jDROP#星期一到星期六的8:00-12:30禁止qq通信iptables-IFORWARD-pudp–dport53-mstring–string-mtime–timestart13:30–timestop20:30–daysMon,Tue,Wed,Thu,Fri,Sat-jDROPiptables-IFORWARD-pudp–dport53-mstring–string-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-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-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-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_conntrack_tcp_timeout_established=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自己的机器,当然要放行了。

本文出处参考:

posted on

,有人说,幸福是一种人生的感悟,一种个人的体验。

一个经典实用的iptables shell脚本

相关文章:

你感兴趣的文章:

标签云: