当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-05-11 16:58 

注册: 2011-02-08 19:49
帖子: 525
送出感谢: 0 次
接收感谢: 1
前几天由于工作需要,需要配置一台透明代理,以前在windows2003上配置过,最近玩ubuntu,改在ubuntu上实现了一下,把实现过程记录一下,方便初学者:
服务器一定要两块网卡,eth0连接外网,ip10.0.2.15,eth1连接内网,ip192.168.0.254
1、安装ubuntu11.04 server版,下载相应的iso文件,刻盘安装即可,不多言,最好单独分配一个分区,80G左右吧,用作squid cache文件存放;
2、安装squid,命令: sudo apt-get install squid,默认安装的是2.7版本;
3、配置squid参数,sudo vi /etc/squid/squid.conf,内容如下:
代码:
http_port 192.168.0.254:3128 transparent
visible_hostname UProxySvr

cache_mgr 网管email地址

cache_mem 128 MB
cache_swap_low 90
cache_swap_high 95

maximum_object_size 4096 KB
maximum_object_size_in_memory 128 KB
cache_dir ufs /squid/cache 70000 12 256
cache_access_log none
cache_log none
cache_store_log none

dns_nameservers 192.168.0.254

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp:      1440   20%   10080
refresh_pattern ^gopher:   1440   0%   1440
refresh_pattern -i (/cgi-bin/|\?) 0   0%   0
refresh_pattern (Release|Packages(.gz)*)$   0   20%   2880
refresh_pattern .      0   20%   4320

coredump_dir /var/spool/squid

acl all src 0.0.0.0/0
acl localnet src 192.168.0.0/24
http_access allow localnet
http_access deny all

4、安装dns服务,sudo apt-get install dnsmasq
5、安装squidclient,sudo apt-get install squidclient
6、创建squid启动脚本文件squidstart.sh,内容如下:其中10.0.2.15是服务器的外网连接ip地址
代码:
/usr/sbin/squid -s
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.0.2.15

7、赋予脚本执行权限,chmod 777 squicstart.sh
8、squid初始化,/usr/sbin/squid -z
9、把启动脚本加入rc.local,开机自动执行
sudo vi /etc/rc.local
在exit0之前加入一行:/home/username/squidstart.sh
10、优化服务器:
sudo vi /etc/sysctl.conf
在最后添加:
代码:
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established =900
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.conf.all.proxy_arp = 1
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000

使设置生效:sudo /sbin/sysctl -p

透明代理安装完毕。

客户端网络配置,可配置在DHCP服务器里面:
网关:192.168.0.254
DNS:192.168.0.254

实现效果:浏览器80端口走squid透明代理服务器,其他端口直通,非常便捷,可大大加快网络的访问速度。
查看squid代理运行状态命令:
代码:
/usr/bin/squidclient -h 192.168.0.254 -p 3128 mgr:info


最后由 zhongjia 编辑于 2011-05-17 22:03,总共编辑了 5 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-05-11 17:03 

注册: 2011-02-08 19:49
帖子: 525
送出感谢: 0 次
接收感谢: 1
怎么让squidstart.sh脚本在服务器启动的时候自动执行,我还搞不定,希望高手指点一二,谢谢。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-05-11 20:24 

注册: 2011-02-08 19:49
帖子: 525
送出感谢: 0 次
接收感谢: 1
附加配合使用的dhcp服务器配置:
1、安装dhcp服务,sudo apt-get install dhcp3-server
2、编辑:sudo vi /etc/default/isc-dhcp-server
代码:
INTERFACES="eth1"

3、编辑:sudo vi /etc/dhcp/dhcpd.conf
代码:
ddns-update-style none;

option domain-name "example.org";
option domain-name-servers 192.168.0.254,8.8.8.8;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.0.2 192.168.0.100;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.254;
}


安装完毕,reboot一下即可。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-05-11 21:35 

注册: 2011-02-08 19:49
帖子: 525
送出感谢: 0 次
接收感谢: 1
zhongjia 写道:
怎么让squidstart.sh脚本在服务器启动的时候自动执行,我还搞不定,希望高手指点一二,谢谢。


看来论坛上关心服务器配置的人很少,没人解答,只好自己搞定了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-06-17 17:03 

注册: 2010-10-07 2:43
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
为什么不是用最新的squid3呢,还有就是,你直接使用透明代理,你的主要作用是什么,这点我不太明白的,可以说一下吗,就是squid和apache的80端口么?还是,这个我不太明白。
还有我想问下的是那个自启动的shell脚本,squid在安装的时候不是已经自启动了么?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2011-06-17 17:12 

注册: 2011-02-08 19:49
帖子: 525
送出感谢: 0 次
接收感谢: 1
晓晓风的故事 写道:
为什么不是用最新的squid3呢,还有就是,你直接使用透明代理,你的主要作用是什么,这点我不太明白的,可以说一下吗,就是squid和apache的80端口么?还是,这个我不太明白。
还有我想问下的是那个自启动的shell脚本,squid在安装的时候不是已经自启动了么?


设置透明代理主要的作用在于提高网络访问速度,在总带宽不足的情况下非常管用,打开网页的速度体验提高很多。squid3的稳定性不如2.7,服务器讲究的就是稳定。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2012-02-21 15:58 
头像

注册: 2010-05-16 23:17
帖子: 61
送出感谢: 0 次
接收感谢: 0 次
7、赋予脚本执行权限,chmod 777 squicstart.sh 这行的squicstart.sh应该改成squidstart.sh

另外希望LZ把配置语句 分组说明一下


_________________
伊吹风子的邻居常说:那孩子是个普通的地球人


页首
 用户资料  
 
8 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2012-02-25 14:51 
头像

注册: 2011-03-16 20:10
帖子: 24
送出感谢: 0 次
接收感谢: 0 次
我在ubuntu server10.04上按照楼主的介绍配置,依旧需要在浏览器里设置代理,而且速度也不是很快。求助


页首
 用户资料  
 
9 楼 
 文章标题 : Re: ubuntu11.04实战squid透明代理配置
帖子发表于 : 2012-02-25 21:11 

注册: 2010-10-07 2:43
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
syjml 写道:
我在ubuntu server10.04上按照楼主的介绍配置,依旧需要在浏览器里设置代理,而且速度也不是很快。求助

这些很简单的慢慢来,看英文文档


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译