以下是一个脚本,用来做基本的权限控制。包括的内容有:禁止被访问的IP,特权用户的设置,开启平常要用的端口,封锁某个人的MAC,NAT转发等。
注:此脚本是以MAC地址为管理基础的,如果客户端更改了MAC地址,那么所做的设置就无效了。
#!/bin/sh
/etc/init.d/iptables restart
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
############################## Net Admin ################################
#网管员的MAC地址,没有任何限制
/sbin/iptables -t nat -A PREROUTING -m mac --mac-source $MAC -j ACCEPT
/sbin/iptables -A INPUT -m mac --mac-source $MAC -j ACCEPT
/sbin/iptables -A FORWARD -m mac --mac-source $MAC -j ACCEPT
############################## Deny URL #################################
#要禁止访问的地址,下面两个分别是veryCD和互联星空的IP
/sbin/iptables -t nat -A PREROUTING --dst 218.30.64.121 -j DROP
/sbin/iptables -t nat -A PREROUTING --dst 58.218.179.162 -j DROP
############################## Manager #################################
#老板,特权用户
/sbin/iptables -t nat -A PREROUTING -m mac --mac-source $MAC -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m mac --mac-source $MAC -j ACCEPT
/sbin/iptables -A FORWARD -m mac --mac-source $MAC -j ACCEPT
############################ open port ################################
#允许访问的端口
#没有Squid做代理的话,下面一句需要启用。
#/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 1863 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 8008 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp -m tcp --dport 3000 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
##############################attack######################################
#内网中攻击或中毒的机器,先封掉他,不能上网,他会来找你的。
#/sbin/iptables -A INPUT -m mac --mac-source $MAC -j DROP
#/sbin/iptables -A FORWARD -m mac --mac-source $MAC -j DROP
################################ NAT #####################################
#做个转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8989 -j DNAT --to-destination 10.10.0.X:80
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/22 -d 10.10.0.X -p tcp -m tcp --dport 8989 -j SNAT --to-source 10.10.0.1
############################### Internet ################################
#把其他包DROP掉
/sbin/iptables -A INPUT -s 10.10.0.0/22 -j DROP
#将内网的http请求转给squid
/sbin/iptables -t nat -A PREROUTING -s 10.10.0.0/22 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
#完成转发
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/22 -o ppp0 -j MASQUERADE
阅读(2731) | 评论(0) | 转发(0) |