squid透明代理+LVS(NAT)模式,防火墙放行读取日志

squid(透明)+LVS(NAT)+httpd

基础环境

主机IP地址网段其他备注
client10.0.0.1/810.0.0.254CIP
squidens33:10.0.0.254/8ens37:172.16.0.254/16
lvsens33:192.168.10.4/24ens37:172.16.0.254ens37:172.16.0.2/16-VIP
httpd-1192.168.10.3:8080192.168.10.4RS1
httpd-2192.168.10.9:80192.168.10.4RS2

DNS:192.168.10.9 可以不用DNS服务器

拓扑图如下:
在这里插入图片描述

ipvsadm 命令

管理集群服务:增、删、改

1.增加,修改LVS集群

​ ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p timeout]

2.删除LVS集群

​ ipvsadm -D -t|u|f service-address

service-address:
	-t|u|f
-t:采用TCP协议的端口,VIP:TCP-port
-u:采用UDP协议的端口,VIP:UDP-port
-f:filewall MARK 标记一个数字

[-s scheduler]:指定集群的调度算法,默认为wlc 
3.增加.修改LVS集群节点

ipvsadm -a|e -t|u|f service-address -r server-address [-g|i|m] [-w weight]

4.删除LVS集群节点

ipvsadm -d -t|u|f service-address -r server-address

server-address:
	rip:port 

[ -g|i|m ]:
	-g: gateway  dr类型
	-i:  tun类型
	-m:masquerade,nat类型
[-w weight]:权重
5.清空LVS集群所有配置信息

ipvsadm -C

一、部署squid服务器

1.配置两块网卡

ens33指向客户机网段的网关,ens37指定LVS-VIP网段的网关
在这里插入图片描述
在这里插入图片描述

2.修改squid配置文件

vim /etc/squid.conf
在这里插入图片描述
赋予权限,nobody用来完成特定的任务,相当于匿名用户
[root@localhost ~]# chown nobody:nobody /usr/local/squid/var/cache/squid/

创建缓存目录
[root@localhost ~]# squid -z

3.配置路由转发

[root@localhost ~]# echo ‘net.ipv4.ip_forward = 1’ >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p

4.开启squid服务

[root@localhost ~]# systemctl start squid
[root@localhost ~]# netstat -anpt | grep squid

[root@localhost ~]# sysctl -p

点这里查看:squid透明代理详细步骤

二、后端web服务器

web1:
yum -y install httpd
echo 'lvs 192.168.10.3' > /var/www/html/index.html
vim /etc/httpd/conf/httpd.conf
-
Listen 8080
systemctl restart httpd

在这里插入图片描述

web2:
yum -y install httpd
echo 'lvs 192.168.10.9' > /var/www/html/index.html
vim /etc/httpd/conf/httpd.conf
-
Listen 80
systemctl restart httpd

在这里插入图片描述

三、LVS调度器部署

1.路由转发

[root@localhost ~]# vim /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1

2.从内核中加载 LVS调度器

[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# modprobe ip_vs

3.配置后端web集群

生成集群
[root@localhost ~]# ipvsadm -A -t 172.16.0.2:80 -s rr

[root@localhost ~]# ipvsadm -A -t 172.16.0.2:80 -s rr

-A 添加一个新的集群
-t 使用tcp协议,后面加指定的IP(squid网关IP地址)
-s 调度算法 rr轮询

添加集群节点

[root@localhost ~]# ipvsadm -a -t 192.168.10.3:8080 -r 192.168.10.3:80 -m -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.10.9:80 -r 192.168.10.55:80 -m -w 1

-a 添加真实节点
-r 真实节点ip
-m 使用nat模式
-w 权重值

保存 LVS配置信息

[root@localhost ~]# ipvsadm -S 保存

-A -t localhost.localdomain:http -s rr
-a -t localhost.localdomain:http -r apache.shm.com:webcache -m -w 1
-a -t localhost.localdomain:http -r dns1.shm.com:http -m -w 1

[root@localhost ~]# ipvsadm -ln 查看lvs信息

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.16.0.2:80 rr
  -> 192.168.10.3:8080            Masq    1      0          0         
  -> 192.168.10.9:80              Masq    1      0          0          
4.永久生效 ipvsadm

生效文件:/etc/sysconfig/ipvsadm 此文件需要手动生成

[root@localhost ~]# ipvsadm -S > /etc/sysconfig/ipvsadm
[root@localhost ~]# systemctl start ipvsadm

只能开启,不能停止。停止代表清空所有ipvsadm配置项

四、客户机

ENS33网卡:

在这里插入图片描述

验证:

一、初步验证

关闭所有防火墙,Seliunx不需要关闭,在客户机上进行访问
由于关闭了防火墙,看似是三个不同的网段,实际上形成了一个局域网,
所以squid的代理功能失效,需要开启防火墙才能看到效果

web1/web2服务器开启阻断日志
在这里插入图片描述

二、防火墙放行端口验证:

开启所有的防火墙进行配置

1.客户机开启防火墙即可,不需要任何配置

2.squid服务firewalld

ens33:10.0.0.0/8 external
ens37:172.16.0.0/16  dmz

firewall-cmd --change-interface=ens33 --zone=external --permanent
firewall-cmd --change-interface=ens37 --zone=dmz --permanent

firewall-cmd --zone=external --add-port=80/tcp --permanent
firewall-cmd --zone=external --add-port=8080/tcp --
permanent

firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=8080/tcp --permanent

firewall-cmd --reload

3.LVS服务firewalld
ens33:192.168.10.0/24  trusted
ens37:172.16.0.0/16   dmz

firewall-cmd --change-interface=ens33 --zone=trusted --permanent
firewall-cmd --change-interface=ens37 --zone=dmz --permanent


firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=8080/tcp --permanent

firewall-cmd --reload

4.两台web服务firewalld

firewall-cmd --change-interface=ens33 --zone=trusted --permanent
firewall-cmd --change-interface=ens33 --zone=trusted --permanent

firewall-cmd --reload
5.客户机进行访问:

[root@localhost ~]# firefox http://172.16.0.2 & VIP地址

查看squid缓存文件
[root@localhost ~]# ls /usr/local/squid/var/cache/squid/00/00
在这里插入图片描述
在这里插入图片描述

查看squid代理日志
[root@localhost ~]# tail -f /usr/local/squid/var/logs/access.log
在这里插入图片描述

查看web服务的页面访问日志
[root@localhost ~]# tail -f /var/log/httpd/access.log
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值