LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 635|回复: 4

iptables+squid实际应用中的一些问题请教

[复制链接]
发表于 2005-9-2 16:13:27 | 显示全部楼层 |阅读模式
公司用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都关闭,应该把上面的规则怎么重新设置,
 楼主| 发表于 2005-9-5 08:25:19 | 显示全部楼层
求教!!是否有安全性问题,如何解决,谢谢
回复 支持 反对

使用道具 举报

发表于 2005-9-5 11:46:03 | 显示全部楼层
$IPTABLES -A INPUT -i $WAN -j ACCEPT——表示由$WAN进入的INPUT链
$IPTABLES -A OUTPUT -o $WAN -j ACCEPT——表示由$WAN出去的OUTPUT链
这两句没有安全问题
屏蔽来自外网的访问,如WEB,FTP,MAIL都关闭,要看你的这些服务在哪里运行的,如果是网内的一台机器,没有设置转发的话,外面就是无法访问的
如果是在这台网关上运行,加上
#iptables -A INPUT -i $WAN -p tcp --dport 1:1024 -j DROP
#iptables -A INPUT -i $WAN -p udp --dport 1:1024 -j DROP
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-6 10:12:44 | 显示全部楼层
谢谢老兄!!!!
还有一个问题,我用的是WEBMIN配Squid的,现在只要一段时间以后,看网页就会出现域名解析不了的问题,把squid重新启动又会正常,是不是SQUID代理DNS QUERY的时候配置出现问题,谢谢,请指点
回复 支持 反对

使用道具 举报

发表于 2005-9-7 12:07:54 | 显示全部楼层
我感觉可能是Squid的缓存导致的,把Squid的配置贴出来看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表