- LVS-DR工作模式简介(相对nat性能更高)
- 1.工作原理:共享ip+修改mac(保证识别回包的mac地址)
- 共享ip:虚拟网卡接口lo
- 修改mac:内核参数
- 在这种模式下,LVS调度器(也称为Director)和后端真实服务器(Real Server)都配置有相同的VIP(Virtual IP)地址,但客户端只向LVS调度器发送请求。LVS调度器根据配置的负载均衡算法选择一台后端真实服务器,并修改请求报文的目标MAC地址,将其改为选中的后端真实服务器的MAC地址,但源IP地址和目标IP地址保持不变。修改后的请求报文通过二层网络直接转发到选中的后端真实服务器。后端真实服务器处理请求并生成响应报文,然后将响应报文直接发送给客户端,绕过LVS调度器。
- MAC地址是网络设备网络通信中的唯一识别标识,MAC地址帮助网络设备在局域网内找到目标设备的物理位置,从而实现数据传输。当设备连接到局域网时,网络交换机和路由器使用MAC地址来转发数据包。通过MAC地址,网络中的设备可以相互识别和通信,确保数据能够准确传送到目标设备。
- 2.内核"参数":net.ipv4.conf.all.arp_ignore和net.ipv4.conf.all.arp_announce
- 1)net.ipv4.conf.all.arp_ignore
- 发送ARP响应数据包的条件级别。
- 0(默认值):回应任何网络接口上对任何本机IP地址的ARP(地址解析协议)查询请求。也就是说,只要ARP请求数据包所请求的IP地址属于本机任何一个网络接口配置的IP地址,系统就会回应ARP响应数据包,无论该IP地址是否属于接收到ARP请求数据包的网卡。
- 1:回应目标IP地址是本机上来访网络接口IP地址的ARP查询请求。即,只有ARP请求数据包所请求的IP地址属于当前接收ARP请求数据包的网卡的IP地址时,系统才会回应ARP响应数据包。
- 2:回应目标IP地址是本机上来访网络接口IP地址的ARP查询请求,且来访IP必须与该网络接口上的IP在同一子网段内。
- 2)net.ipv4.conf.all.arp_announce
- 发送ARP请求数据包时,如何选择数据包中的发送方IP地址。
- 0(默认值):在任意网络接口上使用任何本机地址进行ARP请求。也就是说,系统准备通过网卡发送一个IP数据包前,会发送ARP请求数据包来获取目标MAC地址,此时ARP请求数据包中的发送方IP地址通常就是待发送的IP数据包的源IP地址,无论该IP地址是否属于当前发送ARP请求数据包的网卡。
- 1:使用属于该网络接口子网的本地地址作为发送方IP地址。
- 2:使用与目标IP地址对应的最佳本地IP地址作为ARP请求的发送方IP地址。在此模式下,系统将忽略IP数据包的源IP地址,并尝试选择能与目标IP地址通信的本机地址作为ARP请求数据包的发送方IP地址。
- 3.实验环境准备(机器在同一个ip网段下)
- LVS DR模式,LVS主机和web服务器都是单网卡,它们连在同一网络中
- (1)实验环境
- client1:eth0-> 192.168.88.10
- lvs1:eth0->192.168.88.5,删除eth1的IP
- web1:eth0->192.168.88.100
- web2:eth0->192.168.88.200
- (2)网卡相关配置
- 1)网卡虚拟接口配置:ifconfig eth0:0 192.168.88.241/24
- 2)关闭ifconfig eth0:0 down
- 3)激活虚拟网卡接口:ifup eth0:0
- 3)NetworkManager和network
- NetworkManager:动态管理网络连接,可以在运行时动态地添加、删除、修改网络连接
- network:静态配置网络连接,需要手动编辑配置文件来更改网络设置,重启网络服务后,配置才会生效
- 网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
- eth0:0通常表示eth0这个网络接口的子接口或虚拟接口。
- 4.LVS-DR配置操作步骤
- (1)lvs1,web1,web2安装network-scripts包ipvsadm包
- (2)lvs1,web1,web2主机配置网卡虚拟接口IP地址,激活虚拟网卡接口(实现共享ip)
- /etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
- (3)web1,web2调整内核参数设置是否启用ARP广播和arp宣告(真实服务器配置)
- /etc/sysctl.conf
- (4)配置LVS-DR模式规则
- (5)curl 测试
- (1)lvs1,web1,web2安装network-scripts包ipvsadm包
-
- 网卡接口配置文件:/etc/sysconfig/network-scripts/ifcfg-
- ---
- - name: install soft #安装network-scripts软件
- hosts: lbs,webservers
- tasks:
- - name: install network-scripts #安装软件
- yum:
- name: network-scripts
- state: present
- (2)lvs1,web1,web2主机eth0配置网卡虚拟接口IP地址,激活虚拟网卡接口(实现共享ip)
- /etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
- - name: config lvs vip #配置lvs1主机eth0网卡虚拟接口IP地址
- hosts: lbs
- tasks:
- - name: config file #生成ifcfg-eth0:0配置文件
- copy:
- content: |
- TYPE=Ethernet
- DEVICE=eth0:0 #设备名
- NAME=eth0:0
- IPADDR=192.168.88.15
- PREFIX=24
- BROADCAST=192.168.88.255
- ONBOOT=yes #是否自动连接
- dest: /etc/sysconfig/network-scripts/ifcfg-eth0:0
- notify: active vip
- handlers:
- - name: active vip
- shell: ifup eth0:0 #激活虚拟网卡eth0:0
- - name: config web vip #配置webservers主机lo虚拟接口IP地址
- hosts: webservers
- tasks:
- - name: config file #生成ifcfg-lo:0配置文件
- copy:
- content: |
- DEVICE=lo:0
- NAME=lo:0
- IPADDR=192.168.88.15
- PREFIX=32
- NETWORK=192.168.88.15
- BROADCAST=192.168.88.15
- ONBOOT=yes
- dest: /etc/sysconfig/network-scripts/ifcfg-lo:0
- notify: active vip
- handlers:
- - name: active vip #激活lo:0
- shell: ifup lo:0
- (3)web1,web2调整内核参数设置是否接收ARP请求(真实服务器配置)
- 内核参数配置文件:/etc/sysctl.conf,写入四个参数
- net.ipv4.conf.all.arp_ignore=1 #忽略arp广播
- net.ipv4.conf.lo.arp_ignore=1
- net.ipv4.conf.all.arp_announce=2 #忽略arp宣告
- net.ipv4.conf.lo.arp_announce=2
-
- ---
- - name: config kernel args
- hosts: webservers
- tasks:
- - name: config arp_ignore #配置忽略arp广播
- sysctl:
- name: "{{ item }}"
- value: "1"
- sysctl_set: true
- sysctl_file: /etc/sysctl.conf
- loop:
- - net.ipv4.conf.all.arp_ignore
- - net.ipv4.conf.lo.arp_ignore
- notify: flush args
- - name: config arp_announce #配置禁止arp宣告
- sysctl:
- name: "{{ item }}"
- value: "2"
- sysctl_set: true
- sysctl_file: /etc/sysctl.conf
- loop:
- - net.ipv4.conf.all.arp_announce
- - net.ipv4.conf.lo.arp_announce
- notify: flush args
- handlers:
- - name: flush args #刷新sysctl.conf文件配置
- shell: "sysctl -p"
-
- (4)配置LVS-DR模式规则
- ipvsadm -A -t 192.168.88.15:80 -s wlc
- ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.100:80 -w 1 -g
- ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.200:80 -w 2 -g
- ipvsadm -Ln #查看规则
- (5)curl 测试
- 三.LVS持久化规则
-
- ipvsadm-save:保存持久化规则到文件
-
- ipvsadm-restore:调用文件启用持久化规则
复制代码 LVS-DR工作模式简介(相对nat性能更高)
1.工作原理:共享ip+修改mac(包管识别回包的mac地址)
共享ip:虚拟网卡接口lo
修改mac:内核参数
在这种模式下,LVS调治器(也称为Director)和后端真实服务器(Real Server)都配置有雷同的VIP(Virtual IP)地址,但客户端只向LVS调治器发送哀求。LVS调治器根据配置的负载均衡算法选择一台后端真实服务器,并修改哀求报文的目标MAC地址,将其改为选中的后端真实服务器的MAC地址,但源IP地址和目标IP地址保持稳定。修改后的哀求报文通过二层网络直接转发到选中的后端真实服务器。后端真实服务器处理哀求并生成响应报文,然后将响应报文直接发送给客户端,绕过LVS调治器。
MAC地址是网络设备网络通信中的唯一识别标识,MAC地址帮助网络设备在局域网内找到目标设备的物理位置,从而实现数据传输。当设备毗连到局域网时,网络交换机和路由器使用MAC地址来转发数据包。通过MAC地址,网络中的设备可以相互识别和通信,确保数据可以或许准确传送到目标设备。
2.内核"参数":net.ipv4.conf.all.arp_ignore和net.ipv4.conf.all.arp_announce
1)net.ipv4.conf.all.arp_ignore
发送ARP响应数据包的条件级别。
0(默认值):回应任何网络接口上对任何本机IP地址的ARP(地址剖析协议)查询哀求。也就是说,只要ARP哀求数据包所哀求的IP地址属于本机任何一个网络接口配置的IP地址,系统就会回应ARP响应数据包,无论该IP地址是否属于接收到ARP哀求数据包的网卡。
1:回应目标IP地址是本机上来访网络接口IP地址的ARP查询哀求。即,只有ARP哀求数据包所哀求的IP地址属于当前接收ARP哀求数据包的网卡的IP地址时,系统才会回应ARP响应数据包。
2:回应目标IP地址是本机上来访网络接口IP地址的ARP查询哀求,且来访IP必须与该网络接口上的IP在同一子网段内。
2)net.ipv4.conf.all.arp_announce
发送ARP哀求数据包时,怎样选择数据包中的发送方IP地址。
0(默认值):在任意网络接口上使用任何本机地址举行ARP哀求。也就是说,系统准备通过网卡发送一个IP数据包前,会发送ARP哀求数据包来获取目标MAC地址,此时ARP哀求数据包中的发送方IP地址通常就是待发送的IP数据包的源IP地址,无论该IP地址是否属于当前发送ARP哀求数据包的网卡。
1:使用属于该网络接口子网的本地地址作为发送方IP地址。
2:使用与目标IP地址对应的最佳本地IP地址作为ARP哀求的发送方IP地址。在此模式下,系统将忽略IP数据包的源IP地址,并尝试选择能与目标IP地址通信的本机地址作为ARP哀求数据包的发送方IP地址。
3.实验环境准备(呆板在同一个ip网段下)
LVS DR模式,LVS主机和web服务器都是单网卡,它们连在同一网络中
(1)实验环境
client1:eth0-> 192.168.88.10
lvs1:eth0->192.168.88.5,删除eth1的IP
web1:eth0->192.168.88.100
web2:eth0->192.168.88.200
(2)网卡相关配置
1)网卡虚拟接口配置:ifconfig eth0:0 192.168.88.241/24
2)关闭ifconfig eth0:0 down
3)激活虚拟网卡接口:ifup eth0:0
3)NetworkManager和network
NetworkManager:动态管理网络毗连,可以在运行时动态地添加、删除、修改网络毗连
network:静态配置网络毗连,必要手动编辑配置文件来更改网络设置,重启网络服务后,配置才会见效
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
eth0:0通常表示eth0这个网络接口的子接口或虚拟接口。
4.LVS-DR配置操作步骤
(1)lvs1,web1,web2安装network-scripts包ipvsadm包
(2)lvs1,web1,web2主机配置网卡虚拟接口IP地址,激活虚拟网卡接口(实现共享ip)
/etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
(3)web1,web2调整内核参数设置是否启用ARP广播和arp宣告(真实服务器配置)
/etc/sysctl.conf
(4)配置LVS-DR模式规则
(5)curl 测试
(1)lvs1,web1,web2安装network-scripts包ipvsadm包
网卡接口配置文件:/etc/sysconfig/network-scripts/ifcfg-
---
- name: install soft #安装network-scripts软件
hosts: lbs,webservers
tasks:
- name: install network-scripts #安装软件
yum:
name: network-scripts
state: present
(2)lvs1,web1,web2主机eth0配置网卡虚拟接口IP地址,激活虚拟网卡接口(实现共享ip)
/etc/sysconfig/network-scripts/ifcfg-名(eth0:0)
- name: config lvs vip #配置lvs1主机eth0网卡虚拟接口IP地址
hosts: lbs
tasks:
- name: config file #生成ifcfg-eth0:0配置文件
copy:
content: |
TYPE=Ethernet
DEVICE=eth0:0 #设备名
NAME=eth0:0
IPADDR=192.168.88.15
PREFIX=24
BROADCAST=192.168.88.255
ONBOOT=yes #是否主动毗连
dest: /etc/sysconfig/network-scripts/ifcfg-eth0:0
notify: active vip
handlers:
- name: active vip
shell: ifup eth0:0 #激活虚拟网卡eth0:0
- name: config web vip #配置webservers主机lo虚拟接口IP地址
hosts: webservers
tasks:
- name: config file #生成ifcfg-lo:0配置文件
copy:
content: |
DEVICE=lo:0
NAME=lo:0
IPADDR=192.168.88.15
PREFIX=32
NETWORK=192.168.88.15
BROADCAST=192.168.88.15
ONBOOT=yes
dest: /etc/sysconfig/network-scripts/ifcfg-lo:0
notify: active vip
handlers:
- name: active vip #激活lo:0
shell: ifup lo:0
(3)web1,web2调整内核参数设置是否接收ARP哀求(真实服务器配置)
内核参数配置文件:/etc/sysctl.conf,写入四个参数
net.ipv4.conf.all.arp_ignore=1 #忽略arp广播
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.all.arp_announce=2 #忽略arp宣告
net.ipv4.conf.lo.arp_announce=2
---
- name: config kernel args
hosts: webservers
tasks:
- name: config arp_ignore #配置忽略arp广播
sysctl:
name: "{{ item }}"
value: "1"
sysctl_set: true
sysctl_file: /etc/sysctl.conf
loop:
- net.ipv4.conf.all.arp_ignore
- net.ipv4.conf.lo.arp_ignore
notify: flush args
- name: config arp_announce #配置克制arp宣告
sysctl:
name: "{{ item }}"
value: "2"
sysctl_set: true
sysctl_file: /etc/sysctl.conf
loop:
- net.ipv4.conf.all.arp_announce
- net.ipv4.conf.lo.arp_announce
notify: flush args
handlers:
- name: flush args #刷新sysctl.conf文件配置
shell: "sysctl -p"
(4)配置LVS-DR模式规则
ipvsadm -A -t 192.168.88.15:80 -s wlc
ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.100:80 -w 1 -g
ipvsadm -a -t 192.168.88.15:80 -r 192.168.88.200:80 -w 2 -g
ipvsadm -Ln #查看规则
(5)curl 测试
三.LVS持久化规则
ipvsadm-save:保存持久化规则到文件
ipvsadm-restore:调用文件启用持久化规则
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |