首页 > 其他分享 >LVS-NAT

LVS-NAT

时间:2024-07-20 20:40:32浏览次数:12  
标签:4.5 name LVS 192.168 ansible NAT lvs1 root

配置LVS-NAT模式

image-20240630231048826

由于我们要进行LVS-NAT模式集群搭建。首先在VMware中添加两个虚拟网段

VMnet2:做内网的网段

VMnet4:做外网的网段

image-20240629232912802

然后修改Window网卡IP

修改VMware Virtual Ethernet Adapter for VMnet4的IP为:192.168.4.254

修改VMware Virtual Ethernet Adapter for VMnet2的IP为:192.168.2.254

image-20240629232926271

image-20240629232849914

至此虚拟网络配置完成

由于我们要实现LVS-NAT模式,设备主机信息如下,充当负载均衡的设备需要两张网卡,分别做内网和外网。同时负载均衡设备充当网关

client1:192.168.4.100(外网)

lvs1:192.168.4.5(外网网关)

​ 192.168.2.5(内网网关)

web1:192.168.2.100(内网)

web2:192.168.2.200(内网)

所有虚拟机的网络连接方式:自定义,分别选择VMnet2和VMnet4

1、虚拟机配置及网络参数配置

(1)、网络基础配置

# client1
nmcli connection modify eth0  ipv4.method manual ipv4.addresses 192.168.4.100/24 autoconnect yes
nmcli connection up eth0 
# lvs1
nmcli connection modify eth0  ipv4.method manual ipv4.addresses 192.168.4.5/24 autoconnect yes
nmcli connection modify eth1  ipv4.method manual ipv4.addresses 192.168.2.5/24 autoconnect yes
nmcli connection up eth0 
nmcli connection up eth1
# web1
nmcli connection modify eth0  ipv4.method manual ipv4.addresses 192.168.2.100/24 autoconnect yes
nmcli connection up eth0 
# web2
nmcli connection modify eth0  ipv4.method manual ipv4.addresses 192.168.2.200/24 autoconnect yes
nmcli connection up eth0

(2)、yum仓库配置

我们使用ansible完成所有主机的yum仓库配置

# 配置ansible实现环境
[root@ansible:192.168.4.66 ~]$mkdie cluster
[root@ansible:192.168.4.66 ~]$cp ansible/ansible.cfg cluster/
[root@ansible:192.168.4.66 ~]$cd cluster/
[root@ansible:192.168.4.66 ~/cluster]$vim inventory
[clients]
client1 ansible_host=192.168.4.100

[webservers]
web1 ansible_host=192.168.2.100
web2 ansible_host=192.168.2.200

[lvs]
lvs1 ansible_host=192.168.4.5


[all:vars]
ansible_ssh_user=root
ansible_ssh_pass=123

# 编写剧本
---
- name: yum
  hosts: all
  tasks:
    - name: create yum
      yum_repolist:
        file: local_yum_house.repo
        name: Myapp
        description: 'myapp'
        baseurl: file:///mnt/mydvd/Appstream
        gpgcheck: 0
        enable: 1
      yum_repolist:
        file: local_yum_house.repo
        name: MyBase
        description: 'myBase'
        baseurl: file:///mnt/mydvd/BaseOS
        gpgcheck: 0
        enable: 1

(3)、开启lvs1路由转发功能

由于在LVS-NAT架构中lvs1是网关,因此需要开启lvs的路由转发功能

[root@lvs1:192.168.4.5 /etc/yum.repos.d]$vim /etc/sysctl.conf
net.ipv4.ip_forward=1

# 开启此功能后,client就可以ping通web服务器了
[root@client1:192.168.4.100 ~]$ping 192.168.2.100
PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.
64 bytes from 192.168.2.100: icmp_seq=1 ttl=63 time=3.100 ms
64 bytes from 192.168.2.100: icmp_seq=2 ttl=63 time=0.355 ms

也可以通过ansible的sysctl模块实现

作用:修改内核参数

参数:

name:内核参数名字

value:值

sysctl_set:是否立即生效

sysctl_file:写入配置文件,开机可以自动加载

 ---
 - name:  config  sysctl
   hosts: lvs1
   tasks:
     - name: ip_forward start
       sysctl:
         name: net.ipv4.ip_forward
         value: '1'
         sysctl_file: /etc/sysctl.conf
         sysctl_set: yes

2、在webserver中安装nginx

编写剧本

---
- name: nginx
  hosts: webservers
  tasks:
    - name: stop httpd
      service:
        name: httpd
        state: stopped
        enabled: no
    - name: stop firewalld
      service:
        name: firewalld
        state: stopped
        enabled: no
    - name: install nginx
      yum:
        name: nginx
        state: present
    - name: upload index.html
      template:
        src: ./files/index.html
        dest: /usr/share/nginx/html/index.html
    - name: start nignx
      service:
        name: nginx
        state: started
        enabled: yes

3、在lvs上安装ipvsadm

---
- name: install ipvsadm
  hosts: lvs1
  vars:
    pkg: ipvsadm
  roles:
    - pkgs

4、设置虚拟主机

ipvsadm

-A:添加虚拟服务器

-E:编辑虚拟服务器

-D:删除虚拟服务器

-t:添加tcp服务器

-u:添加udp服务器

-s:指定调度算法。轮询rr、加权轮询wrr、最少连接lc、加权最少连接wlc

-a:再添加虚拟服务器后,向虚拟服务器中加入真实服务器

-r:指定真实服务器

-w:设置权重

-m:指定工作模式

-g:制定工作模式为DR

[root@lvs1:192.168.4.5 ~]$ipvsadm -A -t 192.168.4.5:80 -s rr
[root@lvs1:192.168.4.5 ~]$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.4.5:80 rr
[root@lvs1:192.168.4.5 ~]$ipvsadm -a -t  192.168.4.5:80 -r 192.168.2.100:80 -m
[root@lvs1:192.168.4.5 ~]$ipvsadm -a -t  192.168.4.5:80 -r 192.168.2.200:80 -m
[root@lvs1:192.168.4.5 ~]$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.4.5:80 rr
  -> 192.168.2.100:80             Masq    1      0          0         
  -> 192.168.2.200:80             Masq    1      0          0


#  修改调度模式为加权轮询,修改权重
[root@lvs1:192.168.4.5 ~]$ipvsadm -E -t 192.168.4.5:80 -s wrr
[root@lvs1:192.168.4.5 ~]$ipvsadm -e -t 192.168.4.5:80 -r 192.168.2.200 -m -w 2
[root@lvs1:192.168.4.5 ~]$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.4.5:80 wrr
  -> 192.168.2.100:80             Masq    1      0          0         
  -> 192.168.2.200:80             Masq    2      0          0         

5、测试

[root@client1:192.168.4.100 ~]$for i in {1..10};do curl http://192.168.4.5;done
Welcome  to web2 on 192.168.2.200
Welcome  to web1 on 192.168.2.100
Welcome  to web2 on 192.168.2.200
Welcome  to web2 on 192.168.2.200
Welcome  to web1 on 192.168.2.100
Welcome  to web2 on 192.168.2.200
Welcome  to web2 on 192.168.2.200
Welcome  to web1 on 192.168.2.100
Welcome  to web2 on 192.168.2.200
Welcome  to web2 on 192.168.2.200

标签:4.5,name,LVS,192.168,ansible,NAT,lvs1,root
From: https://www.cnblogs.com/xuruizhao/p/18313754

相关文章

  • JavaScript - jSignature移动端手写签名
    <html><head><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></script><scriptsrc="https://cdn.bootcdn.net/ajax/libs/jSignature/2.1.3/jSignature.min.js"></script>......
  • Handbook of Enumerative Combinatorics 阅读
    Chapter1代数几何方法1.3生成函数符号化方法和拉格朗日反演拆分数的生成函数和五边形数定理、斐波那契的拆分数平面二叉树(PlaneBinaryTree)、三角剖分、DyckPath的等价和双射及k叉金字塔结构(没有认真看)用循环来统计排列——错排列和内卷排列(involution):\[\sum_{i\ge......
  • 【最强八股文 -- 计算机网络 】网络层协议简单图解:ARP、RARP、DHCP、NAT、ICMP、IGMP
    网络层协议图解ARP(AddressResolutionProtocol):将已知`IP`地址转换为`MAC`地址RARP(ReverseAddressResolutionProtocol):将已知`MAC`地址转换为`IP`地址DHCP(DynamicHostConfigurationProtocol):动态获取`IP`地址NAT(NetworkAddressTranslat......
  • keepalived绑定单播地址、非抢占模式及LVS的TCP模式的高可用【转】
    背景:keepalived默认是组播地址进行播放,且默认地址是224.0.0.18,如果配置多个keepalived主机,会导致虚拟IP地址存在冲突问题,这种问题怎么解决呢?解决办法:就是将keepalived主机的多播地址修改为单播地址,绑定固定IP地址,避免在多播模式下,通过VRRP进行广播地址,造成IP地址地址冲突。vrrp_......
  • lvs的nat和dr模式混合用
     lvs:10.0.0.200 vip 10.0.0.19外网IP,172.168.1.19内网IP drrs:10.0.0.200vip 10.0.0.18rip  natrs:172.168.1.17rip 客户端:10.0.0.14cip lvs机器: ipaddradd10.0.0.200/24devens33:0 IP:[root@mcw09~]#ipa1:lo:<LOOPBACK,UP,......
  • Carousel of Combinations
    由圆排列的公式,不难有\(C(n,k)=(_k^n)\times\frac{k!}{k}\)于是答案为\(\sum_{i=1}^{n}\sum_{j=1}^{i}((_j^i)\cdot(j-1)!)mod\spacej\)显然交换求和次序,有\(\sum_{i=1}^{n}\sum_{j=i}^{n}((_i^j)\cdot(i-1)!)mod\spacei\)由威尔逊定理可将\(i\)限定在质数和\(4\)之中,再由......
  • LVS介绍
    一、什么是集群通过高速网络将恨过服务器集中起来提供同一种服务,在客户端看起来就像是只有一个服务器可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益任务调度是集群系统中的核心技术集群目的提高性能如计算密集型应用,如:天气预报......
  • NATS: Aspire.NATS.Net 库
    NuGetAspire.NATS.Net快速入门首先,你需要已经配置了NATS服务器,并且知道访问这个服务器的URL地址。安装NuGet使用你熟悉的方式安装NuGet库dotnetaddpackageAspire.NATS.Net使用示例在项目的Program.cs中,调用AddNatsClient()扩展方法以在依赖注入容器中注......
  • Element-plus中 Pagination 分页组件国际化和对齐方式设置
    一、国际化设置官方提供的两种方式:1.全局配置importElementPlusfrom'element-plus'importzhCnfrom'element-plus/es/locale/lang/zh-cn'app.use(ElementPlus,{locale:zhCn,})2.ConfigProvider按需引入1)引入ElConfigProvider和中文包2)用ElConfigProvider......
  • 折腾指南: 将光猫改造成你的NAS,WebDAV+网页文件管理器vList5+natmap
    原文:https://hi.imzlh.top/2024/07/18.cgi(预发布)很久没有写完全折腾类文章了,这还得追溯到上次折腾S905L3A那会。这篇文章很长,但是是小白级包学会。为什么会有这篇文章?这篇文章本来应该在4个月前就完成了,但是我一直都在折腾NAS软件其中我也尝试了很多方法,奈何时间不足断断续......