|
我现在想用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
却不能上网。
希望高手能指点一二,本人将感激不尽。 |
|