|
|
公司用iptables+squid做透明代理,我在实际使用中尝试了很多遍,终于用下面这个简单的脚本成功了,但是,还有一些安全性的问题要请教一下各位高手!!
脚本:
#1-ip set
WAN_IP="X.X.X.X"
WAN="eth0"
LAN_IP="172.16.0.7"
LAN="eth1"
LO_IP="127.0.0.1"
LO="lo"
IPTABLES="/sbin/iptables"
echo 1 > /proc/sys/net/ipv4/ip_forward
#2-mod loading
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
#3-clear last set
$IPTABLES -F
$IPTABLES -X
$IPTABLES -F -t nat
$IPTABLES -X -t nat
$IPTABLES -F -t mangle
$IPTABLES -X -t mangle
#4-filter table set
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#5-set LO
$IPTABLES -A INPUT -i $LO -j ACCEPT
$IPTABLES -A OUTPUT -o $LO -j ACCEPT
#6-set LAN WAN policy
$IPTABLES -A INPUT -i $LAN -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN -j ACCEPT
$IPTABLES -A FORWARD -i $LAN -j ACCEPT
$IPTABLES -A FORWARD -o $LAN -j ACCEPT
$IPTABLES -A INPUT -i $WAN -j ACCEPT
$IPTABLES -A OUTPUT -o $WAN -j ACCEPT
#$IPTABLES -A FORWARD -i $WAN -j ACCEPT
#$IPTABLES -A FORWARD -o $WAN -j ACCEPT
#7-set WAN ping
$IPTABLES -A OUTPUT -o $WAN -p ICMP -j ACCEPT
$IPTABLES -A INPUT -i $WAN -p ICMP --icmp-type ECHO-REPLY -j ACCEPT
$IPTABLES -A INPUT -i $WAN -p ICMP --icmp-type ECHO-REQUEST -j DROP
#8-test WAN
$IPTABLES -t nat -A POSTROUTING -o $WAN -s 172.16.100.0/24 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE
$IPTABLES -t nat -A PREROUTING -i $WAN -p TCP -m tcp --dport 80 -j REDIRECT --to-port 8080
其中,我必须把
$IPTABLES -A INPUT -i $WAN -j ACCEPT
$IPTABLES -A OUTPUT -o $WAN -j ACCEPT
启用才能够让NAT生效,不知道这句话的代表了什么样的设置,是不是有安全性的问题,谢谢!
而且,我需要屏蔽来自外网的访问,如WEB,FTP,MAIL都关闭,应该把上面的规则怎么重新设置, |
|