LVS NAT部署
环境交代:
192.168.1.7:LVS主机
192.168.1.8
192.168.1.10
三台都要做
[root@server01 ~]# systemctl stop firewalld [root@server01 ~]# setenforce 0
在1.7上做以下操作:
配置VIP:192.168.1.110
IPADDR=192.168.1.110 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 NAME=ens33:0 DEVICE=ens33:0 ONBOOT=yes
开启网卡:ifup en33:0
验证:ip addr show
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ec:57:38 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 brd 192.168.1.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.110/24 brd 192.168.1.255 scope global secondary noprefixroute ens33:0
valid_lft forever preferred_lft forever
安装LVS软件
[root@localhost ~]# yum -y install ipvsadm
开启路由转发功能
[root@localhost ~]# echo '1' > /proc/sys/net/ipv4/ip_forward
清除ipvsadm表
[root@localhost ~]# ipvsadm -C
添加新的虚拟服务(192.168.1.110为VIP)
[root@localhost ~]# ipvsadm -A -t 192.168.1.110:80 -s rr
- A: 添加新的虚拟服务器记录
-t :表示使用TCP协议
-s:调度策略 rr 轮询
添加后端真实服务记录
[root@localhost ~]# ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.8:80 -m [root@localhost ~]# ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.10:80 -m
-a 表示在虚拟服务器中添加一条新纪录,也可以理解为绑定
-m 表示使用的是NAT模式
-r 表示后端真实服务器
在后端真实服务器上操作(1.8|1.10)
安装apache服务
[root@bogon src]# yum -y install httpd
创建测试页面
[root@bogon src]# cat /var/www/html/index.html web01
[root@server01 ~]# cat /var/www/html/index.html web02
重启httpd服务
[root@server01 ~]# systemctl restart httpd
在1.7上验证NAT效果
[root@localhost network-scripts]# curl 192.168.1.110 web02 [root@localhost network-scripts]# curl 192.168.1.110 web01
LVS DR模式部署
1.7上运行
#!/bin/sh
VIP=192.168.1.110
RIP1=192.168.1.8
RIP2=192.168.1.10
#. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "start LVS of DirectorServer"
#set the Virtual IP Address
ifconfig ens33:0 $VIP/24
#/sbin/route add -host $VIP dev ens160:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:80 -s wrr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
#Run LVS
/sbin/ipvsadm
#end
;;
stop)
echo "close LVS Directorserver"
/sbin/ipvsadm -C
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
1.8和1.10上运行
#!/bin/sh
VIP=192.168.1.110
#. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "Start LVS of RealServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "Stop LVS of RealServer"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage:$0{start|stop}"
exit 1
esac
验证:curl 192.168.1.110