linux下使用squid设置代理成功,但有些问题希望高手帮忙解决一下

由 ai_2 在 11-20-2002 19:51 发表:

linux下使用squid设置代理成功,但有些问题希望高手帮忙解决一下

linux下使用squid设置代理成功,但有些问题希望高手帮忙解决一下

我下载了squid的2.5版本,然后安装设置完成

启动后客户机能通过3128端口代理上网,但现在还是不能实现透明代理

我的squid.conf文件配置如下:

http_port 3128

acl rule1 url_regex sex

acl rule2 url_regex game

http_access deny rule1

http_access deny rule2

http_access allow all

启用透明代理

http_accel_host virtual

http_accel_port 80

http_accel_with_proxy on

http_accel_uses_host_header on

网络配置为双网卡eth0为adsl固定ip网关和dns.ip均为电信提供的,eth1为局域网网卡,ip192.168.0.1

firewall文件内容为:

#!/bin/sh

echo "Enable IP Forwarding...."

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

echo "Starting iptables rules..."

/sbin/modprobe iptable_filter

/sbin/modprobe ip_tables

/sbin/modprobe iptable_nat

#Refresh all chains

/sbin/iptables -F -t nat

iptables -P INPUT DROP

iptables -P FORWARD DROP

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 eth0 -j SNAT --to a.b.c.d

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

为何不能实现nat透明代理??????????


由 ai_2 在 11-20-2002 20:24 发表:


我输入以下命令后出现错误,这是什么意思呢??

[root@localhost root]# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24

-j MSQUERADE

iptables v1.2.6a: Couldn't load target `MSQUERADE':/lib/iptables/libipt_MSQUERADE.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.


由 小红帽 在 11-20-2002 20:31 发表:


应该是你的iptables还少一句转发规则

iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT


由 ai_2 在 11-20-2002 21:29 发表:


还是不行,运行firewall后连自己都上不了网了~~~


由 solaris 在 11-21-2002 09:40 发表:


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

iptables -A POSTROUTING -o eth0 -j MASQUERADE -t nat

这样写试试看


由 ai_2 在 11-21-2002 19:51 发表:


问题暂时用其他的软件解决,用squid+iptables只能慢慢研究了,现在我用BBIagent做完全nat代理了~管理功能上差点,但应用上没问题!

谢谢各位能回复我的问题,感谢!!

“用ntsysv看看chainps和iptables是不是同时启动了”

我用setup设置一下,把chains和ip6……都关了,只剩一个iptables还是不行~

因最近时间太紧张了,忙着28号的知识竞赛,还有由于我老在公司通宵,办公室主任找我说了好几次了~现在只好用别的软件先把上网的问题弄好,剩下的只能慢慢来了~………………


由 笨猪猎人 在 12-19-2002 15:36 发表:


#!/bin/sh

echo "Enable IP Forwarding...."

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

echo "Starting iptables rules..."

/sbin/modprobe iptable_filter

/sbin/modprobe ip_tables

/sbin/modprobe iptable_nat

#Refresh all chains

/sbin/iptables -F -t nat

iptables -P INPUT DROP

iptables -P FORWARD DROP

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

iptables -A FORWARD -o eth0 -s 192.168.0.0/24 -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 eth0 -j SNAT --to a.b.c.d

另外 目标MASQUERADE 第二个字母A,不要漏写。

上面是我的一些看法,只希望对你有帮助。可能会有失误,尽请原谅。


由 jamlee800 在 12-26-2002 16:35 发表:


不知道你不用代理(squid)时能不能上网,我觉得你的INPUT语句不够。我现在使用下面的配置,没用代理可以正常上网:

echo "Enable IP Forwarding..."

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

echo "Starting iptables rules..."

/sbin/modprobe iptable_filter

/sbin/modprobe ip_tables

/sbin/modprobe iptable_nat

iptables -F INPUT

iptables -F FORWARD

iptables -F OUTPUT

iptables -F POSTROUTING -t nat

iptables -F PREROUTING -t nat

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT(*)

iptables -A INPUT -i eth1 -j ACCEPT

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

iptables -A FORWARD -s 192.168.0.192/26 -j ACCEPT

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

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.192/26 -j MASQUERADE

其中(*)一句很重要,因为我的DNS装在本地,没有这个,DNS不能正常工作。另外,在DNS中最好加上“转发”功能。


由 jamlee800 在 12-27-2002 12:37 发表:


我的SQUID已安装调试好,最后的iptables是这样,运行很正常

echo "Enable IP Forwarding..."

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

echo "Starting iptables rules..."

/sbin/modprobe iptable_filter

/sbin/modprobe ip_tables

/sbin/modprobe iptable_nat

iptables -F INPUT

iptables -F FORWARD

iptables -F OUTPUT

iptables -F POSTROUTING -t nat

iptables -F PREROUTING -t nat

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -i eth1 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 --syn -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 --syn -j ACCEPT

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

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

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

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.192/26

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