Linux做代理

来源:互联网 发布:下载格式化工厂软件 编辑:程序博客网 时间:2024/05/17 01:34

环境:Linux ADV3.0

代理软件:Squid 2.5.6

主机:Proxy01    IP:132.147.165.235   端口:81/1080

实现目标:用户端使用合法的用户名和密码登入

 

步聚:

1、  下载最稳定、最新的Squid软件:squid-2.5.STABLE6.tar.gz,解压:

tar xzvf squid-2.5.STABLE6.tar.gz

2、  编辑:

make

make install

3、  确认ncsa_auth此程序是否存在,正常情况下会存在于/usr/lib/squid/目录下,将此文件Copy/usr/bin 目录中(此种做法的意义在于已加入到了启动搜索的Path中)

4、  配置/etc/squid/squid.conf文件,

先将原文件做好备份,再做编辑

cp squid.conf squid.conf.bak

vi squid.conf

 

主要要修改的参数如下:

auth_param basic program /usr/bin/ncsa_auth /usr/bin/passwd

--指定使用此程序来进行用户认证的方式,在/usr/bin/passwd中,Passwd文件必须可以被普通用户能够读、执行,通行如下实现:

chmod 755 passwd

 

http_port 132.147.16             132.147.165.235:81  --设定Squid的代理端口,加上IP地址,Squid就不会监听外部的网络端口

 

cache_mgr cp_mis_wub@cpmail.lkm.com  --配置管理员的E_mail

 

cache_access_log /var/log/squid/access.log   --设定Client User访问代理的详细记录,包括用户名,IP地址,访问的网址等。

 

dns_nameservers 202.96.134.133 132.147.160.2  --设定DNS

 

visible_hostname  proxy01  --设定标志的主机名称,也就是做代理的主机名称,必选

 

httpd_accel_with_proxy  on     --打开使用Squid代理本地的Web服务

 

cache_mem    20 MB   --指定Squid可以使用的RAM

 

maximum_object_size  2048 KB   --指定缓存文件的最大值

 

minimum_object_size   0 KB     --指定缓存文件的最小值

 

cache_swap_low  85

cache_swap_high  90   --设定进行空间交换的空占比

 

cache_dir ufs /var/spool/squid 1000 16 256  --设定磁盘缓存目录

以上建缓存在磁盘上,如要建立高速缓存目录,可如下操作

mkdir /dev/shm/tmp

chmod 1777 /dev/shm/tmp

mount –bind /dev/shm/tmp /var/spool/squid  --Mount的目录为刚建立的磁盘缓存目录

 

 

http_access deny all更改为http_access allow all

再加入如下语句:

acl our_network src 132.147.165.0/24 132.147.166.0/24 132.147.164.0/24 132.147.163.0/24

--建立规则,这个规则包括这么上些内容

acl our_user proxy_auth REQUIRED

--建用户认证的规则,所有合法的用户都可以通过认证

httpd_access allow our_network

--应用这个规则

httpd_access allow our_user

--应用这个规则

 

5、  最后一步,添加用户:

使用Apache中的一个程序来实现对用户添加,以配合ncsa_auth程序验证

htpasswd –c /usr/bin/passwd mis_wub

以上语句的意思为在Passwd文件建立一个Mis_wub的用户名,并保存它的密码。

6、  重启Squid或重起机器,以便得Squid生效

squid –k reconfigure    

or

shutdown –rf now

 

 

日常工作维护:

1、  用户添加:htpasswd –c /usr/bin/passwd user_name

2、  查看日志:more /var/log/squid/access.log

3、  备份:/etc/squid/squid.conf

 /usr/bin/passwd

 /var/log/squid/access.log

4、  日志管理:

/var/log/squid 下所有

5、  用户管理:

A、 添加用户:htpasswd –b /usr/bin/passwd user_name user_passwd

B、  删除用户:htpasswd –D /usr/bin/passwd user_name

C、  更改密码:htpasswd –b /usr/bin/passwd user_name user_passwd

 

Socks5代理:

1、  安装

tar xvzf socks5-v1.0r11.tar.gz

cd socks5-v1.011

./configure

make

make install

2、  将配置文件Copy/etc目录下,并改名

cd samples

cp  socks5.conf.singlehomed socks5.conf

3、  默认情况下是对所有开放1080端口

4、  socks5 –t –运行Socks5的服务

原创粉丝点击