作者:jeson1232 | 来源:互联网 | 2021-10-21 22:50
在一些特定的情况下,我们需要做些代理来设置完成我们的一些目的,大家常见的代理软件为Squid代理软件,目前redhat5.5的linux已经自带了Squid代理软件,但是有的linux系统是没有的,那么下面总结下我在linux下配置Squid代理的具体安装步骤,供大家学习参考
1.如果系统中还没有装squid,按以下顺序输入命令后即可完成安装
# wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE18.tar.gz //下载Squid代理安装包
# tar -zxvf squid-3.0.STABLE18.tar.gz //解压Squid安装包
# cd squid-3.0.STABLE18
# ./configure --prefix=/usr/local/squid --syscOnfdir=/usr/local/squid/etc --bindir=/usr/local/squid/bin --sbindir=/usr/local/squid/sbin --mandir=/usr/local/squid/share/man --enable-gnuregex --enable-carp --enable-async-io=80 --enable-removal-policies=heap,lru --enable-icmp --enable-delay-pools --enable-useragent-log --enable-referer-log --enable-kill-parent-hack --enable-snmp --enable-arp-acl --enable-htcp --enable-cache-digests --enable-default-err-language=Simplify_Chinese --enable-err-languages="Simplify_Chinese" --enable-poll --enable-linux-netfilter --disable-ident-lookups --enable-underscores --enable-auth="basic" --enable-basic-auth-helpers="NCSA" --enable-external-acl-helpers="ip_user" --enable-x-accelerator-vary //配置Squid代理安装路径之类的
# make //编译
# make install //安装Squid代理软件
----------------------------------
2.安装好后配置文件在/usr/local/squid/etc目录中,删除原有的squid.conf配置文件,新建squid.conf文件,只输入以下内容:
http_port 80 transparent
http_access allow all
注意,以上是squid2.6及以后版本的配置,如果是2.6以前版本的squid,配置如下:
http_port 80
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
----------------------------------
3./usr/local/squid/sbin目录下的squid为运行文件。
第一次运行时,先运行squid -z创建缓存文件夹。缓存文件夹在/usr/local/squid/var下创建,因此创建缓存前还需运行chmod 777 /usr/local/squid/var给该文件夹权限。
再运行squid -d 1开启squid即可。
如果要关闭squid,运行squid -k shutdown则是安全关闭。
注意,如果没有将新装的squid配置成环境变量的话,尽量在sbin目录下运行./squid,以免运行了服务器上已有的旧squid。
----------------------------------
4.设置一个DNS服务器,将所有域名解析指向到需要被代理的服务器的IP,例如使用Bind,WinMyDns软件。将squid所在服务器的DNS设置成该DNS服务器。
5.将被代理的服务器所有域名解析到squid所在服务器,这时该服务器即可作为中转。
----------------------------------
可能的问题:
Squid有时候运行时会有报错:
clientNatLookup: NF getsockopt(SO_ORIGINAL_DST) failed: (92) Protocol not available
不过似乎不影响访问