iptables高手请进!squid与iptables不相容!

由 太阳风 在 02-09-2004 18:21 发表:

iptables高手请进!squid与iptables不相容!

小弟的环境是redhat9+adsl+squid+iptables,初步实现了透明网关。想具体加强一下iptables。所以参照网上脚本,写出来firewall如下:

#!/bin/sh

Enabling IP Forwarding......"

echo "Enabling IP Forwarding........"

echo 1 > /proc/sys/net/ipv4/ip_forward

echo 1 > /proc/sys/net/ipv4/ip_dynaddr

Enabling iptables rules

Internet Configuration.

EXT_IF="eth0"

LAN_IF="eth1"

LAN_IP="192.168.0.1"

LAN_IP_RANGE="192.168.0.0/24"

Localhost Configuration.

LO_IF="lo"

LO_IP="127.0.0.1"

Module loading.

echo "modprobe modules"

modprobe ip_tables

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

Set policies

echo "Enabling iptables rules"

iptables -F

iptables -F -t nat

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

Allow loopback access

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A OUTPUT -o lo -p all -j ACCEPT

iptables -A INPUT -p ALL -i $LAN_IF -s $LAN_IP_RANGE -j ACCEPT

iptables -A INPUT -p ALL -i $LO_IF -s $LO_IP -j ACCEPT

iptables -A INPUT -p ALL -i $LO_IF -s $LAN_IP -j ACCEPT

iptables -A OUTPUT -p ALL -s $LO_IP -j ACCEPT

iptables -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT

iptables -A OUTPUT -p ALL -o $EXT_IF -j ACCEPT

iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i $LAN_IF -j ACCEPT

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -s 192.168.0.0/24 -i eth1 -p tcp --dport 3128 -j ACCEPT

allow UDP

iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

#以上两行就是实现透明网关的关键。

iptables END

echo "Enabling Squid"

/usr/local/squid/sbin/squid

echo "Enabling ADSL"

adsl-start

但是现在的问题是udp访问正常,ping也正常。就是无法访问网页。如果去掉iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128这句,网页就能正常浏览。这样的话就无法使用Squid了。有没有高人能给指点一下。需要怎么样才能将3128的数据正常的传送!


由 大熊宝宝 在 02-09-2004 18:57 发表:


你SQUID配置成功了吗 先测试一下


请兄弟们正确发贴,把问题发到相关版块 发贴标题请简明扼要 谢谢大家配合.

新会员发贴前请学会搜索论坛 有可能你的问题已经有答案了


由 EvilSeed 在 02-10-2004 01:55 发表:


关注ing,我的squid成功了的.直接在ie里面填入代理服务器能够正常使用squid,但是加了iptalbles自动转到代理端口,结果ie显示错误,提示是squid给的,好像说的是网络地址无法访问.看squid的日志文件是访问了网站但是得不到任何数据.


由 太阳风 在 02-10-2004 08:44 发表:


如果firewall中只有以下两行

iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

网络访问正常,squid运行正常。因为squid的access.log文件在增长。

<br

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus