linux virtual server
安装lvs的策略编写工具
yum -y install ipvsadm

安装完后,命令ipvsadm -l 列出定义的策略
配置文件:/etc/sysconfig/ipvsadm-config

修改配置文件

启用ipvsadm服务,直接启用会报错,需要建立一个文件:/etc/sysconfig/ipvsadm

策略添加
策略编辑的帮助查看: ipvsadm -h
| 参数 | 说明 |
|---|---|
| -A | 添加虚拟服务 |
| -t | 添加虚拟ip和端口 |
| -s | 添加调度方法 |
| -a | 添加真实服务端 |
| -r | 添加真实服务器ip和端口 |
| -g | 使用DR模式,直接路由模式 |
例:添加虚拟ip: ipvsadm -A -t 172.25.254.100:80 -s rr,rr表示轮询方式
添加后使用ipvsadm -l 查看列表解析地址,ipvsadm -ln 查看不解析地址

添加真实服务端:ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.2:80 -g,
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.3:80 -g
将2台真实服务端都添加进去

添加完后重启服务,查看我们写的策略是否加载成功

策略测试:
直接测试访问 172.25.254.100 是没有结果的,因为我们的真实服务端接受到用户请求后返回的数据并不是 172.25.254.100 这个ip,用户无法接收到,所以需要在服务端网卡添加IP地172.25.254.100 才可以得到结果


然后再访问就可以看到轮询结果

说明
这里我们会存在一个问题,因为这个方式的数据传输方式是客户请求client–>调度器virtaul server–>real server -->客户client,这样我们的真实服务端的信息有概率会暴露给外部
使用测试主机访问172.25.254.100

可以看到访问到的结果是这样的,查看到的数据来源是我们的调度器的网卡信息,然后清除记录arp -d 172.25.254.100,再去访问

出现问题了,问题是访问172.25.254.100时没有经过调度器直接访问打牌真实服务端上,看到的信息只有www.hello.com,并且查看到数据来源的信息是真实服务端的网卡

这样就对于企业来说很危险,可能会使这台服务器遭到攻击,这就需要配置让用户请求必须经过调度器到真实服务器上去访问
lvs 防火墙配置
首先需要再真实服务器安装 arptables


火墙策略查看:arptables -L

现在我们需要做的设定就是,要将访问请求到172.25.254.100时,真实服务端不对这个请求产生响应,但是我们需要通多真实服务端返回数据以172.25.254.100这个ip的身份,需要添加两条规则:
arptables -A INPUT -d 172.25.254.100 -j DROP #不对100这个ip的访问回应
arptables -A OUTPUT -s 172.25.254.100 -j mangle --mangle-ip-s 17.25.254.2 #真实地址是172.25.254.2,但是以100这个ip输出数据
arptables-save > /etc/sysconfig/arptables #储存策略

给真实服务器都添加规则,完成后测试访问172.25.254.100就不会出现直接访问真实服务器上的清空。
223

被折叠的 条评论
为什么被折叠?



