189 8069 5689

NAT模式下负载调度器的一些要点-创新互联

下文给大家带来NAT模式下负载调度器的一些要点,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。

成都创新互联公司从2013年成立,先为富川等服务建站,富川等地企业,进行企业商务咨询服务。为富川企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

NAT模式

地址转换:

 简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有云服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
 服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式

实验原理图

NAT模式下负载调度器的一些要点

实验环境

LVS调度器作为web服务器池的网关,LVS两块网卡,分别连接内外网,使用轮询(rr)调度算法
LVS负载调度器 内网33网关:192.168.13.1  外网36:12.0.0.1
web1 192.168.13.151
web2 192.168.13.170
nfs服务器 192.168.13.145
client测试机 12.0.0.12

1,在nfs服务器上添加两块硬盘,做共享存储使用,格式化

NAT模式下负载调度器的一些要点

[root@nfs ~]# fdisk /dev/sdb  ##分区
令(输入 m 获取帮助):n  ##创建新分区
Partition type:
   p  primary (0 primary, 0 extended, 4 free)
   e  extended
Select (default p): p  ##主分区
分区号 (1-4,默认 1):  ##回车
起始 扇区 (2048-41943039,默认为 2048): ##回车
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):  ##回车
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w  ##保存

[root@nfs ~]# mkfs.xfs /dev/sdb1  ##格式化磁盘
##以上操作格式化/dev/sdc磁盘
[root@nfs ~]# mkdir /opt/kgc /opt/accp  ##创建挂载点
[root@nfs ~]# vim /etc/fstab  ##创建自动挂载 
##末行插入挂载
/dev/sdb1    /opt/kgc     xfs   defaults     0 0
/dev/sdc1    /opt/accp    xfs   defaults     0 0
[root@nfs ~]# mount -a  ##刷新挂载
[root@nfs ~]# df -hT  ##查看磁盘挂载情况
文件系统    类型    容量  已用  可用 已用% 挂载点
/dev/sdb1    xfs     20G  33M  20G   1% /opt/kgc
/dev/sdc1    xfs     20G  33M  20G   1% /opt/accp
[root@nfs ~]# systemctl stop firewalld.service  ##关闭防火墙
[root@nfs ~]# setenforce 0
[root@nfs ~]# rpm -q nfs-utils  ##查看nfs两个包是否安装
nfs-utils-1.3.0-0.48.el7.x86_64
[root@nfs ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@nfs ~]# vim /etc/exports  ##配置共享存储配置文件
/opt/kgc     192.168.13.0/24(rw,sync,no_root_squash)  ##支持13网段读写,同步,不支持降级处理
/opt/accp    192.168.13.0/24(rw,sync,no_root_squash)

2,把NFS服务器切换为仅主机模式,启动服务

NAT模式下负载调度器的一些要点

[root@nfs ~]# systemctl start nfs  ##开启nfs服务
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# showmount -e  ##查看提供共享信息
Export list for nfs:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@nfs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改网卡信息
BOOTPROTO=static  ##改为静态
...
IPADDR=192.168.13.145  ##添加地址,子网掩码,网关
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@nfs ~]# service network restart  ##重启网络

3,在web1,web2上安装http服务,切换网卡为仅主机模式

//web1服务器//
[root@web1 ~]# yum install httpd -y  ##安装web服务
[root@web1 ~]# systemctl stop firewalld.service  ##关闭防火墙
[root@web1 ~]# setenforce 0
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改网卡信息
BOOTPROTO=static  ##改为静态
...
IPADDR=192.168.13.151  ##添加地址,子网掩码,网关
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@web1 ~]# service network restart 
[root@web1 ~]# showmount -e 192.168.13.145  ##查看nfs共享信息
Export list for 192.168.13.145:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@web1 ~]# vim /etc/fstab  ##设置自动挂载
192.168.13.145:/opt/kgc     /var/www/html  nfs   defaults,_netdev
0 0   ##挂载到站点中,模式为nfs,默认网络设备
[root@web1 ~]# mount -a  ##刷新挂载
[root@web1 ~]# df -hT  ##查看磁盘挂载信息
文件系统         类型    容量  已用  可用 已用% 挂载点
192.168.13.145:/opt/kgc nfs4    20G  32M  20G   1% /var/www/html
[root@web1 ~]# echo "this is kgc web" >  /var/www/html/index.html  ##创建网页
[root@web1 ~]# systemctl start httpd.service ##启动web服务

//web2服务器//
[root@web2 ~]# yum install httpd -y  ##安装web服务
[root@web2 ~]# systemctl stop firewalld.service  ##关闭防火墙
[root@web2 ~]# setenforce 0
[root@web2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  ##修改网卡信息
BOOTPROTO=static  ##改为静态
...
IPADDR=192.168.13.170  ##添加地址,子网掩码,网关
NETMASK=255.255.255.0
GATEWAY=192.168.13.1
[root@web2 ~]# service network restart 
[root@web2 ~]# showmount -e 192.168.13.145  ##查看nfs共享信息
Export list for 192.168.13.145:
/opt/accp 192.168.13.0/24
/opt/kgc  192.168.13.0/24
[root@web2 ~]# vim /etc/fstab  ##设置自动挂载
192.168.13.145:/opt/accp     /var/www/html  nfs   defaults,_netdev
0 0   ##挂载到站点中,模式为nfs,默认网络设备
[root@web2 ~]# mount -a  ##刷新挂载
[root@web2 ~]# df -hT  ##查看磁盘挂载信息
文件系统         类型    容量  已用  可用 已用% 挂载点
192.168.13.145:/opt/accp nfs4    20G  32M  20G   1% /var/www/html
[root@web2 ~]# echo "this is accp web" >  /var/www/html/index.html  ##创建网页
[root@web2 ~]# systemctl start httpd.service ##启动web服务

4,在lvs负载调度器上添加两块网卡并设置路由转发

[root@lvs ~]# yum install ipvsadm -y  ##安装ipvsadm调度管理工具
添加外网的网卡,并切换为仅主机模式

NAT模式下负载调度器的一些要点

[root@lvs ~]# cd /etc/sysconfig/network-scripts
[root@lvs network-scripts]# cp -p ifcfg-ens33 ifcfg-ens36  ##复制网卡配置文件为ens36配置文件
[root@lvs network-scripts]# vim ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.13.1  ##设置内网网关ip
NETMASK=255.255.255.0
[root@lvs network-scripts]# vim ifcfg-ens36
BOOTPROTO=static  ##删除UUID
NAME=ens36   ##修改为36
DEVICE=ens36
IPADDR=12.0.0.1  ##设置外网网关
NETMASK=255.255.255.0
[root@lvs network-scripts]# service network restart  ##重启网卡服务
##可以在web上用ping测试能否连同网关

##开启路由转发功能
[root@lvs network-scripts]# vim /etc/sysctl.conf  ##路由转发配置文件
net.ipv4.ip_forward=1  ##开启路由转发
[root@lvs network-scripts]# sysctl -p  ##加载路由转换功能
[root@lvs network-scripts]# iptables -F ##清除转发表
[root@lvs network-scripts]#   iptables -t nat -F ##清除nat地址转换表
[root@lvs network-scripts]# iptables -t nat -A  POSTROUTING -o ens36 -s 192.168.13.0/24 -j SNAT --to-source 12.0.0.1
##指定nat地址转换表,指定数据流出接口,指定原ip地址,指定源地址转换SNAT,指定转换的ip地址

5,加载lvs内核模块,配置管理软件ipvsadm

[root@lvs network-scripts]# modprobe ip_vs  ##加载lvs内核
[root@lvs network-scripts]# cat /proc/net/ip_vs  ##查看ipvs信息
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@lvs network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm  ##centos7必须要先保存
[root@lvs network-scripts]# systemctl start ipvsadm  ##启动ipvsadm服务
[root@lvs network-scripts]# vim /opt/nat.sh  ##编写ipvsadm脚本
#!/bin/bash
ipvsadm -C  ##清空ipvs缓存
ipvsadm -A -t 12.0.0.1:80 -s rr  ##指定虚拟服务访问入口,指定轮询算法
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.151:80 -m ##指定真实服务器,nat模式
ipvsadm -a -t 12.0.0.1:80 -r 192.168.13.170:80 -m
ipvsadm  ##启动
[root@lvs network-scripts]# chmod +x /opt/nat.sh  ##给执行权限
[root@lvs network-scripts]# cd /opt/  
[root@lvs opt]# ./nat.sh  ##启动脚本
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port      Forward Weight ActiveConn InActConn
TCP  lvs:http rr
   -> 192.168.13.151:http      Masq   1    0      0     
   -> 192.168.13.170:http      Masq   1    0      0

6,用client测试机(仅主机模式)访问12.0.0.1

NAT模式下负载调度器的一些要点
NAT模式下负载调度器的一些要点

看了以上关于NAT模式下负载调度器的一些要点,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。创新互联官网链接www.yisu.com

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:NAT模式下负载调度器的一些要点-创新互联
本文来源:http://jkwzsj.com/article/higsj.html

其他资讯