nat模式
lvs配置
为lvs主机添加一块网卡
两块王阿库必须一块为nat模式,一块为仅主机模式
开启虚拟机 查看ip多出了一块ens36网卡 网段和第一块网卡也不一样
[root@lvs ~]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:a9:33:72 brd ff:ff:ff:ff:ff:ff
inet 192.168.183.137/24 brd 192.168.220.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea9:3372/64 scope link
valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:a9:33:7c brd ff:ff:ff:ff:ff:ff
inet 192.168.183.147/24 brd 192.168.222.255 scope global noprefixroute ens36
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fea9:337c/64 scope link
valid_lft forever preferred_lft forever
RS1配置
注:此项须在网卡修改前做,当网关指向lvs时主机就不能访问外网了
配置httpd网页用于后面测试
[root@RS1 ~]# yum install httpd -y
[root@RS1 ~]# systemctl enable --now httpd //开启httpd服务
[root@RS1 ~]# systemctl disable --now firewalld //关闭防火墙和selinux
SELINUX=disabled
[root@RS1 html]# echo 'RS1' > /var/www/html/index.html //创建测试网页
[root@RS1 html]# cat index.html
RS1
[root@RS1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=no
IPADDR=192.168.183.156
PREFIX=24
GATEWAY=192.168.183.137 //网关指向lvs主机的ip
DNS1=114.114.114.114
[root@RS1 ~]# systemctl restart NetworkManager
[root@RS2 ~]# yum install httpd -y
[root@RS2 ~]# systemctl enable --now httpd //开启httpd服务
[root@RS2 ~]# systemctl disable --now firewalld //关闭防火墙和selinux
SELINUX=disabled
[root@Rs2 html]# echo 'Rs2' > /var/www/html/index.html
[root@Rs2 html]# cat index.html
[root@Rs2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.183.155
PREFIX=24
GATEWAY=192.168.183.37 //网关指向lvs主机的ip
DNS1=114.114.114.114
[root@Rs2 ~]# systemctl restart NetworkManager
在director上添加保存规则:
ipvsadm -A -t vip:port -s rr
ip vsadm -a -t vip:port -r rip -m
[root@lvs ~]# vim /etc/sysctl.conf //添加下面一行开启ip转发功能
net.ipv4.ip_forward = 1
[root@lvs ~]# sysctl -p //让其生效
net.ipv4.ip_forward = 1
[root@lvs ~]# yum install ipvsadm -y //安装ipvsadm命令软件包
[root@lvs ~]# ipvsadm -A -t 192.168.222.100:80 -s rr //vip为仅主机模式网卡的ip加端口号
#-A 添加
#-t tcp
#-s 指定算法 rr轮询算法
[root@lvs ~]# ipvsadm -a -t 192.168.222.100:80 -r 192.168.220.5 -m //rip为RS1主机的ip
[root@lvs ~]# ipvsadm -a -t 192.168.222.100:80 -r 192.168.220.20 -m //rip为RS2主机的ip
# -m nat模式
[root@lvs ~]# 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.222.100:80 rr //访问192.168.222.100时会转发到192.168.220.5 和 192.168.220.20
-> 192.168.220.5:80 Masq 1 0 0
-> 192.168.220.20:80 Masq 1 0 0
[root@lvs ~]# ipvsadm -Sn > /etc/sysconfig/ipvsadm //将配置写道/etc/ipvsadm文件内
[root@lvs ~]# cat /etc/sysconfig/ipvsadm
-A -t 192.168.222.100:80 -s rr
-a -t 192.168.222.100:80 -r 192.168.220.5:80 -m -w 1
-a -t 192.168.222.100:80 -r 192.168.220.20:80 -m -w 1
#关闭防火墙和selinux
[root@lvs ~]# systemctl disable --now firewalld.service
[root@lvs ~]# vim /etc/selinux/config
[root@lvs ~]# setenforce 0