LVSNAT模式的配置

 

  • 实验环境:

LB(负载调度器)

eth0192.168.1.105(外网)

eth1192.168.254.254(内网)

RS1

  1. 168.254.251

RS2

  1. 168.254.253

RS1RS2上分别安装httpd软件,并创建各自的测试网页

 

RS1

yum install httpd -y

cd /var/www/html/

echo "<h1>this is RS1 Server</h1>"> index.html

service httpd start

chkconfig httpd on

RS2

yum install httpd -y

cd /var/www/html/

echo "<h1>this is RS2 Server</h1>"> index.html

service httpd start

chkconfig httpd on

 

  • 安装ipvsadm软件包,进行配置

  • 加载ip_vs模块,并查看。默认是不加载

方法一:

 modprobe ip_vs

 cat/proc/net/ip_vs

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  ->RemoteAddress:Port Forward Weight ActiveConn InActConn

方法二:直接执行ipvsadm 前提是已经安装了ipvsadm软件

  ipvsadm

lsmod | grep ip_vs       

ip_vs                115643  0

libcrc32c              1246  1 ip_vs

 

  1. 2.  安装ipvsadm,并配置负载策略(可以使用源代码包编译安装和yum直接安装,

本实验采用yum直接安装,源码包编译安装方式请看DR模式实验)                 

 

yum install ipvsadm -y

ipvsadm -A -t 192.168.1.105:80  -s rr       

ipvsadm -a -t 192.168.1.105:80 -r 192.168.254.251:80 -m-w 1

ipvsadm -a -t 192.168.1.105:80 -r 192.168.254.253:80 -m-w 1

service  ipvsadmsave

service  ipvsadmstart

chkconfig  ipvsadmon

 

解释:-A表示添加一个主负载调度器 -t指定ip地址和端口 -s指定算法

      -a 表示添加一个服务器节点RS,-r 指定节点RS的ip地址 -m 表示用NAT模式(-g DR模式,-i TUN模式) -w 指定权重

  1. 3.  配置SNAT转发策略,并开启路由转发

service iptables start

iptables-F

iptables-t nat -I POSTROUTING -s 192.168.254.0/24 -o eth0 -j SNAT --to-source192.168.1.105

serviceiptables save

serviceiptables restart

chkconfigiptables on

echo"1">/proc/sys/net/ipv4/ip_forward

具体的防火墙策略需要根据实际情况进行配置,这个是最基本的策略

 

  1. 每个RS服务器需要把网关指向LB服务器。配置完之后,测试

用客户端直接访问http://192.168.1.105 多次刷新查看结果

第一次访问:

wKioL1VnzUTR9bYcAADQ9yM2oZ8365.jpg

刷新后:

wKiom1Vny9Lgeh8oAADKoXusSho845.jpg



查看LB的转发信息

wKioL1VnzZOCEEsDAAJOoQ--c84486.jpg

  • 附:ipvsadm工具的用法

  • 添加虚拟服务器

ipvsadm -A -t 192.168.1.105:80 -s  rr

2.删除虚拟服务器

ipvsadm -D -t 192.168.1.105:80 

3.添加服务器节点

ipvsadm-a -t 192.168.1.105:80 -r 192.168.254.253:80 -m -w 1

-m 表示用NAT模式(-g DR模式,-i TUN模式) -w 指定权重(可以根据服务器性能进行设置,数越大,被分配的请求频率越高) -p 指定保持连接时间,在连接时间内访问,节点不变

4.删除服务器节点

ipvsadm -d -t 192.168.1.105:80 -r 192.168.254.253:80

5.清空整个配置

ipvsadm-C

6.其他参数

-A--add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也

就是增加一台新的虚拟服务器。

-E--edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。

-D--delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。

-C--clear 清除内核虚拟服务器表中的所有记录。

-R--restore 恢复虚拟服务器规则

-S--save 保存虚拟服务器规则,输出为-R 选项可读的格式

-a--add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器

记录。也就是在一个虚拟服务器中增加一台新的真实服务器

-e--edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录

-d--delete-server 删除一条虚拟服务器记录中的某条真实服务器记录

-L|-l--list 显示内核虚拟服务器表

-Z--zero 虚拟服务表计数器清零(清空当前的连接数量等)

--settcp tcpfin udp 设置连接超时值

--start-daemon启动同步守护进程。他后面可以是master 或backup,用来说

明LVS Router 是master 或是backup。在这个功能上也可以采用keepalived 的

VRRP功能。

--stop-daemon停止同步守护进程

-h--help 显示帮助信息