LinuxSir.cn,穿越时空的Linuxsir!

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

请问:如何用squid+ipchains做外部http代理?

[复制链接]
发表于 2003-7-17 20:36:45 | 显示全部楼层 |阅读模式
我现在想用squid+ipchains做一个http代理,但我做这个不是为局域网提供上网,而是为学校外面的IP访问图书馆资源作代理。
因是初手,所以试了两天都没成功,希望在这方面有经验的朋友能帮我一下。我先谢各位了。
因为试了n次也没成功,所以我现在的ipchains和squid都是最简单的配置:
内部IP:192.168.2.*
外部IP:202.111.111.*
DNS:202.111.0.*

ipchanis.rules

echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward

/sbin/ipchains -A input -i lo -j ACCEPT
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 -d ! 202.111.111.* 80 -j REDIRECT 3128   
/sbin/ipchains -A forward -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQ
说明:因为这台机器要提供web服务,所以用 -d ! 202.111.111.*

squid.conf

http_port 80
cache_mem 32 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB  
cache_dir /var/spool/squid 4096 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
dns_nameservers 202.111.0.*
unlinkd_program /usr/lib/squid/unlinkd
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 202.111.111.*/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow all
icp_access allow all
cache_effective_user squid
cache_effective_group squid

这上面其实有一些我还不是很明白,其中,下面的这段我加进去,//cache_dns_program /usr/lib/squid/dnsserver 用
squid -k check ,就会报错,好像是/usr/lib/squid目录下根本没这个文件,我也不知道怎么生成这个文件。但去掉它squid就可以正常启动了。
用  ps -A | grep squid  就会看到:
1125 ?        00:00:00 squid
1128 ?        00:00:00 squid

可以用将别的机器的代理设成202.111.111.*  port:3128
却不能上网。

希望高手能指点一二,本人将感激不尽。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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