码迷,mamicode.com
首页 > 其他好文 > 详细

Squid

时间:2018-05-20 13:04:23      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:外网   configure   release   路由规则   snmp   iptable   cal   nat   sim   

**************************************************************************************************
◆案例1◆ 编译安装Squid
**************************************************************************************************

1.配置yum源,安装依赖

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum -y install epel-release

yum -y install perl perl-Digest perl-Digest-MD5 libecap libtool-ltdl-devel perl-Compress* perl-DBI gcc gcc-c++ net-snmp net-snmp-utils


2.安装Squid

groupadd squid

useradd -s /sbin/nologin -d /var/spool/squid -g squid squid

wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.gz

tar -xzvf squid-3.5.27.tar.gz

cd squid-3.5.27/

./configure --prefix=/usr/local/squid \
--enable-icmp \
--enable-linux-netfilter \
--enable-arp-acl \
--mandir=/usr/share/man/ \
--enable-default-err-language="Simplify_Chinese" \
--enable-kill-parent-hack \
--enable-cache-digests \
--with-default-user=squid \
--enable-async-io=240 \
--with-large-files \
--enable-dlmalloc \
--enable-gnuregex \
--enable-poll

--------------------------------------------------------------------------------------------------------------
参数解释

--prefix=/usr/local/squid #指定软件安装位置
--sysconfdir=/etc #指定配置文件安装路径
--enable-gnuregex #支持GNU正则表达式
--enable-icmp #支持icmp
--enable-snmp #支持snmp
--enable-default-err-language="Simplify_Chinese" #指定出错语系为中文
--enable-kill-parent-hack #关闭squid时连同其父进程一起关闭
--enable-cache-digests #加快请求时检索缓存内容速度
--enable-underscore #允许解析的URL中出现下划线
--enable-poll #指定使用poll()函数
--enable-async-io=240 #异步I/O用以提升存储性能
--enable-arp-acl #通过客户端的MAC地址进行管理
--enable-delay-pools #开启squid延时池功能
--enable-follow-x-forwarded-for #寻找X-Forwarded发现客户端IP地址
--with-large-files #开启大文件支持
--with-default-user=squid #设置默认用户
--------------------------------------------------------------------------------------------------------------

make && make install


chmod 777 /usr/local/squid/var
chmod 777 /usr/local/squid/var/logs

/usr/local/squid/sbin/squid -z
/usr/local/squid/sbin/squid -k parse #测试配置文件
/usr/local/squid/sbin/squid -k reconfigure #重新配置文件
/usr/local/squid/sbin/squid -k rotate #自动滚动日志
/usr/local/squid/sbin/squid -k shutdown #关闭Squid
/usr/local/squid/sbin/squid -s #后台开启Squid
/usr/local/squid/sbin/squid -N -d1 #前台开启Squid
/usr/local/squid/sbin/squid -k interrupt #关闭Squid
/usr/local/squid/sbin/squid -k kill #杀死Squid


**************************************************************************************************
◆案例2◆ 配置透明代理
**************************************************************************************************

=====================================================================================
实验环境

[主机类型] [IP] [网口] [模式]

WEB(网页服务) 192.168.1.12 eth0 桥接

Squid(网关) 192.168.1.13 eth0 桥接
10.10.10.10 eth1 NAT

客户机(Win) 10.10.10.20 eth0 NAT

=====================================================================================

****************************************************************************
◆配置内网客户机◆
****************************************************************************

route add default gw 192.168.1.1 #添加一条路由记录(指向网关机eth1)

elinks 192.168.1.12

****************************************************************************
◆Squid网关主机◆
****************************************************************************

1.安装squid

yum install -y squid


2.修改主配置文件

vim /etc/squid/squid.conf

http_port 192.168.1.1:3128 transparent #IP地址为网关内网IP
visible_hostname www.lyshark.com


3.启动squid服务

systemctl restart squid


4.开启路由转发

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 #开启路由转发

sysctl -p

5.添加一条防火墙规则

iptables -t nat -A PREROUTING -i eth0(内网网卡) \
-s 192.168.1.0/24 -p tcp --dport 80 \
-j REDIRECT --to-ports 3128 #添加路由规则


****************************************************************************
◆外网Web主机◆
****************************************************************************

1.安装并启动Apache

yum install -y httpd

systemctl restart httpd


**************************************************************************************************
◆案例3◆ 配置反向代理(常用)
**************************************************************************************************

=====================================================================================
实验环境

[主机类型] [IP] [网口] [模式]

客户机(Win) 192.168.22.190 eth0 桥接


Squid(网关) 192.168.22.191 eth0 桥接
10.10.10.10 eth1 Vmnat10

Http(内网) 10.10.10.20 eth0 Vmnat10
Http(内网) 10.10.10.30 eth0 Vmnat10
=====================================================================================

****************************************************************************
◆配置两台Apache◆
****************************************************************************

=====================================================================================
内网IP: apache1: 10.10.10.20 Vmnat10
apache2: 10.10.10.30 Vmnat10
=====================================================================================

1.配置两台内网服务器Apache并启动

yum install -y httpd

echo "web *" >/var/www/html/index.html

systemctl restart httpd


2.两台Apache添加网关,指向网关IP的eth1口,告诉他从哪里可以出去

route add default gw 10.10.10.10

****************************************************************************
◆配置Squid代理服务器◆
****************************************************************************

=====================================================================================
网关IP: eth0 192.168.22.191 桥接
eth1 10.10.10.10 Vmnat10
=====================================================================================

1.安装squid

yum install -y squid


2.开启转发

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 #修改参数

sysctl -p #刷新内核参数


3.编辑Squid主配置文件

编辑配置文件,在相应的区域中加入以下标★语句
--------------------------------------------------------------------------------------------------------------
vim /etc/squid/squid.conf


http_access allow all #允许所有

http_port 192.168.22.191:80 vhost #声明外网口地址

cache_peer 10.10.10.20 parent 80 0 originserver round-robin weight=1 #内网的服务器节点1

cache_peer 10.10.10.30 parent 80 0 originserver round-robin weight=1 #内网的服务器节点2

#上一条语句的解释

cache_peer web服务器地址 web服务器类型 httpd端口 icp端口 [可选项]
--------------------------------------------------------------------------------------------------------------

4.启动代理服务器

systemctl restart squid

 

Squid

标签:外网   configure   release   路由规则   snmp   iptable   cal   nat   sim   

原文地址:https://www.cnblogs.com/LyShark/p/9062852.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!