简单的一个服务器脚本,限制上网
etho :外网网卡
eth1 :内网网卡
所在网段:192.168.0.1/24 (192.168.0.1-192.168.0.255)
用了Squid加速
在脚本目录新建了两个文件夹, 一个open, 一个stop
open里为允许的IP和MAC地址,
stop里为禁止的IP段和MAC地址,
目前只用Open里的IP文本 , 其他的留了以后扩展, 呵呵 !
IP文本很简单:
#zhangsan
192.168.0.10
#Aid
192.168.0.35
.......
脚本如下:
#!/bin/bash
echo "Enable IP Forwarding ...."
#打开转发
echo 1 >/proc/sys/net/ipv4/ip_forward
echo "Starting Iptables ...."
#加载模块
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#清除表
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -F -t nat
#设置默认全部为ACCEPT
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
#---------------------->
for open_ip in $(cat open/ip|grep -v "#")
do
/sbin/iptables -A FORWARD -s $open_ip -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s $open_ip -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
done
/sbin/iptables -A FORWARD -s 192.168.0.1/24 -j DROP
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |