一個經典實用的IPtables Shell指令碼 #!/bin/sh#modprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t nat -Fiptables -Xiptables -t nat -X###########################INPUT鍵################################### iptables -P INPUT DROPiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -p tcp -m multiport --dports 110,80,25 -j ACCEPTiptables -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 ACCEPTiptables -A INPUT -p gre -j ACCEPT#允許外網vpn串連iptables -A INPUT -s 192.186.0.0/24 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -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-floodiptables -A INPUT -p tcp --syn -j syn-floodiptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURNiptables -A syn-flood -j REJECT#防止SYN攻擊 輕量#######################FORWARD鏈###########################iptables -P FORWARD DROPiptables -A FORWARD -p tcp -s 192.168.0.0/24 -m multiport --dports 80,110,21,25,1723 -j ACCEPTiptables -A FORWARD -p udp -s 192.168.0.0/24 --dport 53 -j ACCEPTiptables -A FORWARD -p gre -s 192.168.0.0/24 -j ACCEPTiptables -A FORWARD -p icmp -s 192.168.0.0/24 -j ACCEPT#允許 vpn客戶走vpn網路連接外網iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -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 DROPiptables -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 DROPiptables -I FORWARD -d 192.168.0.0/24 -m string --string "寬頻影院" -j DROPiptables -I FORWARD -s 192.168.0.0/24 -m string --string "色情" -j DROPiptables -I FORWARD -p tcp --sport 80 -m string --string "廣告" -j DROP#禁止ay2000.net,寬頻影院,色情,廣告網頁串連 !但中文 不是很理想iptables -A FORWARD -m ipp2p --edk --kazaa --bit -j DROPiptables -A FORWARD -p tcp -m ipp2p --ares -j DROPiptables -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.1.140 -j ACCEPTiptables -I FORWARD -s 192.168.1.140 -j ACCEPT#192.168.1.140是我的機子,全部允許存取!############################完##############################################這個指令碼不錯,很實用,根據實際應用改一下就可以自己用。分享出來,供大家來參考#####