Linux上的iptables设置

vim firewall.sh
#!/bin/bash
 
#etho互联网接口
#eth1内网接口
 
#清除规则
iptables -F
iptables -X
iptables -Z
 
 #如果是远程SSH连接过来的话就要加一条次规则,不然会被阻挡在外面
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT    
 
#设置策略
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
#制定各种规则
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -j ACCEPT
 
#iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT  #WWW
#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
 
#开启转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward
 
#SNAT
#所有数据都从eth0这个互联网IP出去
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#假如互联网IP有好几个
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 114.25.35.0-114.25.35.15
#如果使用拨号上网
#iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
 
#DNAT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 172.16.0.3:80
 
service iptables save
 
 
基于时间的iptables
iptables -A INPUT -i eth0 -p tcp --dport 80 -m --timestart 09:00 --timestop 18:00 -j DROP
这个策略是早上9点到晚上6点不能访问本机的80端口,其他时间就可以!

应用:上网时间,浏览的网页,使用的应用
#参考资料:http://www.ibm.com/developerworks/cn/linux/1307_liyang_firewall2/index.html?ca=drs
#                 http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html
 

你可能感兴趣的:(Linux上的iptables设置)