最近一直在看squid,也认识到它的强大,特别增加一个笔记,以后会不断添加的!
squid是linux上的开源项目,通常用它进行WEB加速和代理上网。至于代理,听说可以正向代理
也可以反向代理,另外它集成了访问控制ACL,因此可以进行认证和保护内网的服务器的安全。
基本命令:squid -z
squid -s
杀掉squid:sudo kill -9 `ps aux | grep squid | grep -v grep | awk '{print $2}'`
网上有人建议:在服务器上开一个crontab,定时kill/开启squid,因为squid一段时间后会变慢,大家可以试一试!
#########################################################################################
透明代理:只要在内网里面指定了网关,不需要在浏览器或者应用程序里面再进行Proxy代理设置即可上网,
当多个用户访问时,代理服务器可以明显加快网络的访问。
配置:
配置iptables: sudo iptables -t nat -A PREROUTING -i em1 -p tcp --dport 80 -j REDIRECT 3128
修改/etc/squid/squid.conf: http_port 3128 transparent
#########################################################################################
使用squid自带的模块进行认证:
/etc/squid/squid.conf:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
注意:
ncsa_users 是一个认证模块,一般情况下可以在/usr/lib/squid/ncsa_auth找到.对于passwd文件,
使用htpasswd来修改和创建,具体可以请看man(如果文件不存在可以自己创建一个)
例:htpasswd /etc/squid/passwd xiaoming
#########################################################################################