linux搭建代理服务器

 首先有一台能上外网的服务器,20.1.200.106linux系统下,其他工作机用不了外网。用此机器搭建代理服务器。*不要相信所见到的,我这个是测试通过了的。

.如果系统中还没有装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
visible_hostname webfree
注意,以上是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为运行文件。
第一次运行时,先运行/usr/local/squid/sbin/squid -z创建缓存文件夹。缓存文件夹在/usr/local/squid/var下创建,因此创建缓存前还需运行chmod 777 /usr/local/squid/var给该文件夹权限。
再运行/usr/local/squid/sbin/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
不过似乎不影响访问

猜你喜欢

转载自ronbay.iteye.com/blog/2096671