lvs nat模式简单实现

环境:centos7.6
准备四台虚拟机
一台lvs服务器
一台客户端
两台服务端
lvs ip:桥接 192.168.2.232
仅主机 192.168.18.137
客户端:桥接192.168.2.138
服务端1:仅主机192.168.18.139
服务端2:仅主机192.168.18.134

所有虚拟机关闭防火墙,关闭selinux

在lvs服务器中
首先启用ip_forward
[root@localhost ~]# echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -a | grep ip_f
sysctl: reading key “net.ipv6.conf.all.stable_secret”
sysctl: reading key “net.ipv6.conf.default.stable_secret”
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0
sysctl: reading key “net.ipv6.conf.ens33.stable_secret”
sysctl: reading key “net.ipv6.conf.ens36.stable_secret”
sysctl: reading key “net.ipv6.conf.lo.stable_secret”

在两台服务端加网关,网关指向lvs服务器(在ifcif-ens33加三行)
服务器1
IPADDR=192.168.18.139
NETMASK=255.255.255.0
GATEWAY=192.168.18.137
服务器2
IPADDR=192.168.18.134
NETMASK=255.255.255.0
GATEWAY=192.168.18.137

在两台服务端安装apache或者nginx这里我直接用系统自带的apache
在两台服务端开启apache服务
systemctl start httpd(服务器 1和2都开启)

在两台服务器设置个内容方便测试
echo server1 > /var/www/html/index.html(服务器1)
echo server2 > /var/www/html/index.html(服务器2)

在lvs服务器测试
[root@localhost ~]# curl 192.168.18.134
server1
[root@localhost ~]# curl 192.168.18.139
server2

在lvs服务器开启调度
定义ipvs规则
[root@localhost ~]# ipvsadm -A -t 192.168.2.232:80 -s rr
[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.232:80 rr

加后端热server
[root@localhost ~]# ipvsadm -a -t 192.168.2.232:80 -r 192.168.18.134 -m
[root@localhost ~]# ipvsadm -a -t 192.168.2.232:80 -r 192.168.18.139 -m
[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.232:80 rr
-> 192.168.18.134:80 Masq 1 0 0
-> 192.168.18.139:80 Masq 1 0 0

在客户端测试
[root@localhost ~]# curl 192.168.2.232
server2
[root@localhost ~]# curl 192.168.2.232
server1

注意:两台仅主机模式的服务端在配置ip时必须用lvs服务器上的仅主机模式IP地址作为网关
lvs服务器不需要开启80端口
tail -f /var/log/httpd/access_log查看访问日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值