LVS(Linux Virtual Server)详细笔记(实战篇)

部署LVS模式集群

1.实验环境准备

2.nat模式环境设定

1.先配置环境

四个虚拟机

1个LVS 1个client 1个rs1 1个rs2

注意:

网络适配器:

LVS->nat+仅主机

client->nat

两台server->仅主机

RS1和RS2:

LVS:

1.使用ipvsadm工具

创建虚拟服务器

添加、删除服务器节点

查看群集及节点情况

保存负载分配策略

1.1 ipvasdm工具选项

-A:添加虚拟服务器

-D:删除整个虚拟fuwq

-s:指定负载调度算法(轮询,加权轮询,最少连接,加权最少连接,wlc)

-a:表示添加真实服务器(节点服务器)

-d:删除某一个节点

-t:指定VIP地址及TCP端口

-r:指定RIP地址及TCP端口

-m:表示使用NAT群集模式

-g:表示使用DR模式

-i:表示使用TUN模式

-w:设置权重(权重为0时表示暂停节点)

-p60:表示保持长连接60秒

-l:列表查看LVS虚拟服务器(默认为查看所有)

-n:以数字形式显示地址,端口等信息,常与"-l"选项组合使用

2.修改主机IP地址实施步骤

client
lvs(两个网卡)
RS1
RS2

环境搭建完成。

2.实验

1.NAT模式

实施步骤:
1.网络配置

LVS:

命令:

root@lvs system-connections\]# cd /etc/NetworkManager/system-connections \[root@lvs system-connections\]# vi eth0.nmconnection \[root@lvs system-connections\]# vi eth0.nmconnection 注意:网关和ip要在同一个网段,否则可能会不通。 RS1: 激活网卡 ![](https://i-blog.csdnimg.cn/direct/d7aa90e02e104bdc8e3110e246ecfa84.png) \[root@RS1 \~\]# nmcli connection up eth1-dhcp ![](https://i-blog.csdnimg.cn/direct/872f41faf01a420c892c000efd98163c.png) \[root@RS1 system-connections\]# cat /etc/NetworkManager/system-connections/eth1-dhcp.nmconnection RS2: ![](https://i-blog.csdnimg.cn/direct/f351835c032d40cea730b395cce31460.png) \[root@RS2 \~\]# cat /etc/NetworkManager/system-connections/eth0.nmconnection ###### 2.启用内核路由 ![](https://i-blog.csdnimg.cn/direct/de041d9538a94758baee106933186d4a.png) ![](https://i-blog.csdnimg.cn/direct/ecca676349814a0c89469f1cdabd9b8e.png) 命令: \[root@lvs \~\]# sysctl -a \| grep ip_forward net.ipv4.ip_forward = 0 net.ipv4.ip_forward_update_priority = 1 net.ipv4.ip_forward_use_pmtu = 0 \[root@lvs \~\]# vi /etc/sysctl.conf \[root@lvs \~\]# sysctl -p \[root@lvs \~\]# vi /etc/sysctl.conf \[root@lvs \~\]# sysctl -p net.ipv4.ip_forward = 0 \[root@lvs \~\]# vi /etc/sysctl.conf \[root@lvs \~\]# sysctl -p net.ipv4.ip_forward = 1 \[root@lvs \~\]# cat /etc/sysctl cat: /etc/sysctl: No such file or directory \[root@lvs \~\]# cat /etc/sysctlconf cat: /etc/sysctlconf: No such file or directory \[root@lvs \~\]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). net.ipv4.ip_forward = 1 ###### 3.安装ipvsadm \[root@lvs \~\]# dnf install ipvsadm -y ![](https://i-blog.csdnimg.cn/direct/4fc10d4f9607419f8175f3b4aa398d02.png) ###### 4.添加调度策略 \[root@lvs \~\]# ipvsadm -A -t 192.168.1.100:80 -s rr \[root@lvs \~\]# ipvsadm -a -t 192.168.1.100:80 -r 192.168.137.200:80 \[root@lvs \~\]# ipvsadm -a -t 192.168.1.100:80 -r 192.168.137.200:80 -m Destination already exists(这个已经存在,不需要重复添加) \[root@lvs \~\]# ipvsadm -a -t 192.168.1.100:80 -r 192.168.137.130:80 -m \[root@lvs \~\]# ![](https://i-blog.csdnimg.cn/direct/814a21cc7d164f1eae3f2f14a7c6a12c.png) \[root@lvs \~\]# ipvsadm -Ln(查看策略) ![](https://i-blog.csdnimg.cn/direct/31137872fbb34ffebb61d563fe3f245a.png) ###### 5.保存并启动 \[root@lvs \~\]# ipvsadm -Sn \> /etc/sysconfig/ipvsadm \[root@lvs \~\]# systemctl start ipvsadm.service ![](https://i-blog.csdnimg.cn/direct/36a44c6bf18d4c8aaf621f29f39ba839.png) ###### 6.设置web # mkdir -p /var/www/html # echo "RS2 192.168.137.130" \> /var/www/html/index.html # cat /var/www/html/index.html RS2: ![](https://i-blog.csdnimg.cn/direct/50d933be5998421592c4954626bc3820.png) ![](https://i-blog.csdnimg.cn/direct/58a7384823d14be8a64557f030df3ca3.png) RS1: ![](https://i-blog.csdnimg.cn/direct/8fb1ff077fe5405da6dd66f64e77fd15.png) ###### 7.测试 要把你的RS1和RS2,两个标箭头的要对应。 ![](https://i-blog.csdnimg.cn/direct/dcdb1fea45fb4555ba064fff060fd77e.png) ![](https://i-blog.csdnimg.cn/direct/9a67b15a9d324723917d3eb4b57bb639.png) \[root@client \~\]# for i in {1..10}; do curl 192.168.1.12; done RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 ![](https://i-blog.csdnimg.cn/direct/ee4a24e573df4c3b97f7b7bcf31687f7.png) 至此nat模式完成实验! #### 2.DR模式 ##### 1.DR模式环境设定 5个虚拟机 1个LVS 1个client 1个rs1 1个rs2 1个route 注意: 网络适配器: LVS-\>仅主机 client-\>nat 两台server-\>仅主机 route-\>nat+仅主机 大差不差,和nat模式一样配置环境即可 ![](https://i-blog.csdnimg.cn/direct/3a06525af444410e915b6e28f6601924.png) ##### 2.实施步骤: ###### 1.LVS配置 ![](https://i-blog.csdnimg.cn/direct/e008126a55b64d8b87014c56cd5d14e3.png) \[root@lvs \~\]# cat /etc/NetworkManager/system-connections/eth0.nmconnection ###### 2.route配置 忘记改名字 ![](https://i-blog.csdnimg.cn/direct/9175627ef4c3476391fa9a25f3f7135f.png) ![](https://i-blog.csdnimg.cn/direct/e420129ccffa404eaa6444f0418b1c2b.png) ![](https://i-blog.csdnimg.cn/direct/5f3cb5c2bf1747158703fc79c2f5b54a.png) \[root@rhel9 \~\]# vim /etc/sysctl.conf \[root@rhel9 \~\]# vim /etc/sysctl.conf \[root@rhel9 \~\]# sysctl -p net.ipv4.ip_forward = 1 \[root@rhel9 \~\]# cat /etc/NetworkManager/system-connections/eth1.nmconnection \[connection

id=eth1

type=ethernet

interface-name=eth1

ipv4

method=manual

address1=192.168.137.140/24,192.168.1.2

dns=8.8.8.8

root@rhel9 \~\]# cat /etc/NetworkManager/system-connections/eth0.nmconnection \[connection

id=eth0

type=ethernet

interface-name=eth0

ipv4

method=manual

address1=192.168.1.11/24,192.168.1.2

dns=8.8.8.8

3.client配置

root@client \~\]# cat /etc/NetworkManager/system-connections/eth0.nmconnection \[connection

id=eth0

type=ethernet

interface-name=eth0

ipv4

method=manual

address1=192.168.1.111/24,192.168.1.2

dns=8.8.8.8

4.RS1和RS2配置

cp -p eht0.nmconnectin lo.nmconnection(要改,其他和nat模式一样)

5.调节RS1和RS2(设定lo不对外响应)

root@RS2 \~\]# echo net.ipv4.conf.all.arp_ignore \>\> /etc/sysctl.conf \[root@RS2 \~\]# echo net.ipv4.conf.all.arp_announce=2 \>\> /etc/sysctl.conf \[root@RS2 \~\]# echo net.ipv4.conf.all.arp_ignore=1 \>\> /etc/sysctl.conf \[root@RS2 \~\]# echo net.ipv4.conf.lo.arp_ignore=1 \>\> /etc/sysctl.conf \[root@RS2 \~\]# echo net.ipv4.conf.lo.arp_announce=2 \>\> /etc/sysctl.conf ![](https://i-blog.csdnimg.cn/direct/2ecd8a980e0c44a59a1441ae088b6218.png) ###### 6.在lvs 和 rs 中设定vip \[root@lvs-dr \~\]# ipvsadm -A -t 192.168.137.254:80 -s rr \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:80 -r 192.168.137.130:80 -g \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:80 -r 192.168.137.200:80 -g \[root@lvs-dr \~\]# 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.137.254:80 rr -\> 192.168.137.130:80 Route 1 0 10 -\> 192.168.137.200:80 Route 1 0 10 ![](https://i-blog.csdnimg.cn/direct/6d7479c9b2fb4298bb2cde9378f29e9a.png) ###### 7.测试 ![](https://i-blog.csdnimg.cn/direct/d2bfb1f7d2f0403485f1eb37c00818ee.png) \[root@client \~\]# for i in {1..10}; do curl 192.168.137.254; done RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 RS2 - 192.168.137.200 RS1 - 192.168.137.130 ![](https://i-blog.csdnimg.cn/direct/fd6355c3b08b49cbb13be0ffb4fe102c.png) 至此DR模式完成实验! #### 3.LVS-DR数据抓包 ![](https://i-blog.csdnimg.cn/direct/d688ad945c34450a8b6f58e653318ac8.png) ![](https://i-blog.csdnimg.cn/direct/0d3c860787e949ba85e17472dbb8bafc.png) 通过使用Wireshark进行抓包: 对 vmware network adapter vmnet1进行抓包(因为Vm8只有客服端到路由器,所以对Vm1进行抓包) 刚开始没有,访问之后就有了 ![](https://i-blog.csdnimg.cn/direct/c5fd515044ce4c519b27c19df918b3fd.png) 而且这个正是通过路由器route转发访问的mac地址 所以综上所述,我们可以得到结论: 1.客户端发送数据帧给vs调度主机帧中内容为客户端IP+客户端的MAC+VIP+VIP的MAC 2.VS调度主机接收到数据帧后把帧中的VIP的MAC该为RS1的MAC,此时帧中的数据为客户端IP+客户端 的MAC+VIP+RS1的MAC 3.RS1得到2中的数据包做出响应回传数据包,数据包中的内容为VIP+RS1的MAC+客户端IP+客户端IP的 MAC #### 4.LVS-TUN模式(隧道模式) 转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部 (源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP 是CIP) TUN模式数据传输过程传输过程图: ![](https://i-blog.csdnimg.cn/direct/f7e1d0204dce400488f8ff8c4a26681b.png) 1.客户端发送请求数据包,包内有源IP+vip+dport 2.到达vs调度器后对客户端发送过来的数据包重新封装添加IP报文头,新添加的IP报文头中包含 TUNSRCIP(DIP)+TUNDESTIP(RSIP1)并发送到RS1 3.RS收到VS调度器发送过来的数据包做出响应,生成的响应报文中包含SRCIP(VIP)+DSTIP(CIP) +port,响应数据包通过网络直接回传给client **TUN** **模式特点** 1.DIP, VIP, RIP都应该是公网地址 2.RS的网关一般不能指向DIP 3.请求报文要经由Director,但响应不能经由Director 4.不支持端口映射 5.RS的OS须支持隧道功能 #### 5.LVS-**fullnet** **模式** fullnet模式数据传输过程传输过程图: ![](https://i-blog.csdnimg.cn/direct/3fc8f27fdf6e487c9e0ce7853d8c5a3e.png) fullnat:通过同时修改请求报文的源IP地址和目标IP地址进行转发 CIP --\> DIP VIP --\> RIP 1.VIP是公网地址,RIP和DIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP 2.RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client 3.请求和响应报文都经由Director 4.支持端口映射 注意:此类型kernel默认不支持 #### 6.LVS-13种算法 ##### **lvs** **调度算法类型** ipvs scheduler:根据其调度时是否考虑各RS当前的负载状态被分为两种:静态方法和动态方法 静态方法:仅根据算法本身进行调度,不考虑RS的负载情况 动态方法:主要根据每RS当前的负载状态及调度算法进行调度Overhead=value较小的RS将被调度 ##### **lvs** **静态调度算法** 1、RR:roundrobin 轮询 RS分别被调度,当RS配置有差别时不推荐 2、WRR:Weighted RR,加权轮询根据RS的配置进行加权调度,性能差的RS被调度的次数少 3、SH:Source Hashing,实现session sticky,源IP地址hash;将来自于同一个IP地址的请求始终发往第一次挑中的RS,从而实现会话绑定 4、DH:Destination Hashing;目标地址哈希,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如:宽带运营商 ##### **lvs** **动态调度算法** 主要根据RS当前的负载状态及调度算法进行调度Overhead=value较小的RS会被调度 1、LC:least connections(最少链接发) 适用于长连接应用Overhead(负载值)=activeconns(活动链接数) x 256+inactiveconns(非活动链接数) 2、WLC:Weighted LC(权重最少链接) 默认调度方法Overhead=(activeconns x 256+inactiveconns)/weight 3、SED:Shortest Expection Delay, 初始连接高权重优先Overhead=(activeconns+1+inactiveconns) x 256/weight 但是,当node1的权重为1,node2的权重为10,经过运算前几次的调度都会被node2承接 4、NQ:Never Queue,第一轮均匀分配,后续SED 5、LBLC:Locality-Based LC,动态的DH算法,使用场景:根据负载状态实现正向代理 6、LBLCR:LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS ##### **在** **4.15** **版本内核以后新增调度算法** 1.FO(Weighted Fai Over)调度算法:常用作灰度发布 在此FO算法中,遍历虚拟服务所关联的真实服务器链表,找到还未过载(未设置IP_VS_DEST_F OVERLOAD标志)的且权重最高的真实服务器,进行调度 当服务器承接大量链接,我们可以对此服务器进行过载标记(IP_VS_DEST_F OVERLOAD),那么vs调度器就不会把链接调度到有过载标记的主机中。 2.OVF(Overflow-connection)调度算法基于真实服务器的活动连接数量和权重值实现。将新连接调度到权重值最高的真实服务器,直到其活动 连接数量超过权重值,之后调度到下一个权重值最高的真实服务器,在此OVF算法中,遍历虚拟服务相关联的真实服务器链表,找到权重值最高的可用真实服务器。一个可用的真实服务器需要同时满足以下条件: 1.未过载(未设置IP_VS_DEST_F OVERLOAD标志) 2.真实服务器当前的活动连接数量小于其权重值 3.其权重值不为零 #### 7.火墙标记解决多端口轮询错误 **轮询规则中可能会遇到的错误** ###### 1.在RS1和RS2中安装mod_ssl并重启apache \]#dnf install mod_ssl -y \]# systemctl restart httpd ![](https://i-blog.csdnimg.cn/direct/f81594da7cd84539a3784da695713667.png) ![](https://i-blog.csdnimg.cn/direct/42347191bc5f430bacd0b78799380613.png) ![](https://i-blog.csdnimg.cn/direct/1627ab5691914bc1abcd031f9f91c435.png) ![](https://i-blog.csdnimg.cn/direct/0c8c8a4eb4bd40379ea8e48c62836689.png) ###### 2.lvs中设置调度 因为我们要调度80和443两个端口所以我们需要设定两组策略 ![](https://i-blog.csdnimg.cn/direct/6a44ea2d6bd74e46ac8f11d7f0c27151.png) \[root@lvs-dr \~\]# ipvsadm -A -t 192.168.137.254:80 -s rr \[root@lvs-dr \~\]# ipvsadm -A -t 192.168.137.254:443 -s rr \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:80 -r 192.168.137.130:80 -g \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:80 -r 192.168.137.200:80 -g \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:443 -r 192.168.137.130:443 -g \[root@lvs-dr \~\]# ipvsadm -a -t 192.168.137.254:443 -r 192.168.137.200:443 -g \[root@lvs-dr \~\]# 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.137.254:80 rr -\> 192.168.137.130:80 Route 1 0 0 -\> 192.168.137.200:80 Route 1 0 0 TCP 192.168.137.254:443 rr -\> 192.168.137.130:443 Route 1 0 0 -\> 192.168.137.200:443 Route 1 0 0 ![](https://i-blog.csdnimg.cn/direct/09f0a94722114f4eb2b9071b70f4af34.png) 测试问题 ![](https://i-blog.csdnimg.cn/direct/29a51a3c6fd44485b88db9e0d9ba3605.png) **防火墙标记解决轮询调度问题** FWM:FireWall Mark MARK target 可用于给特定的报文打标记, --set-mark value 其中:value 可为0xffff格式,表示十六进制数字借助于防火墙标记来分类报文,而后基于标记定义集群服务:可将多个不同的应用使用同一个集群服务进行调度 ###### 3.实现方法 在Director主机打标记: iptables -t mangle -A PREROUTING -d $vip -p $proto -m multiport --dports $portl,$port2,..-i MARK --set-mark NUMBER在Director 主机基于标记定义集群服务: ipvsadm -A -f NUMBER \[options

示例如下:

在vs调度器中设定端口标签,人为80和443是一个整体

root@lvs-dr \~\]# iptables -t mangle -A PREROUTING -d 192.168.137.254 -p tcp -m multiport --dports 80,443 -j MARK --set-mark 6666(按需更改) \[root@lvs-dr \~\]# ipvsadm -A -f 6666 -s rr \[root@lvs-dr \~\]# ipvsadm -a -f 6666 -r 192.168.137.200 -g \[root@lvs-dr \~\]# ipvsadm -a -f 6666 -r 192.168.137.130 -g 测试: ![](https://i-blog.csdnimg.cn/direct/a0aeeae895834354b94a13a3d58e9be2.png) ![](https://i-blog.csdnimg.cn/direct/8c333ff008fa4c55b98b6cc21af8f01a.png) 至此为火墙标记的问题! #### 8.LVS-session会话保持优化方案 问题: 在我们客户上网过程中有很多情况下需要和服务器进行交互,客户需要提交响应信息给服务器,如果单纯的进行调度会导致客户填写的表单丢失,为了解决这个问题我们可以用sh算法,但是sh算法比较简单粗暴,可能会导致调度失衡 解决: 在进行调度时,不管用什么算法,只要相同源过来的数据包我们就把他的访问记录在内存中,也就是把这个源的主机调度到了那个RS上 如果在短期(默认360S)内同源再来访问我仍然按照内存中记录的调度信息,把这个源的访问还调度到同一台RS上。 如果过了比较长的时间(默认最长时间360s)同源访问再次来访,那么就会被调度到其他的RS上。 ipvsadm -AlE -tlulf service-address \[-s scheduler\] \[-p \[timeout\]\]默认360秒 ![](https://i-blog.csdnimg.cn/direct/af409265ca224877b6ae18ad57a2cc09.png) ![](https://i-blog.csdnimg.cn/direct/60b28f3034e84234866c3d517235712c.png) ![](https://i-blog.csdnimg.cn/direct/5eb6ca6f210849aaaa69b91b1d8138ec.png) 在lvs调度器中设定 \[root@lvs \~\]# ipvsadm -E -f 6666 -s rr -p \[多少\](假设300) ![](https://i-blog.csdnimg.cn/direct/190bc03d2baf4a538b2dd783ffd09178.png) \[root@lvs \~\]# ipvsadm -LnC ![](https://i-blog.csdnimg.cn/direct/d6317985d6974f50944f5bf07c9763b0.png) #### 9.LVS多模式脚本实现 示例: 用于管理网络地址转换(NAT)和直接路由(Direct Routing,简称 DR)的配置脚本 ![](https://i-blog.csdnimg.cn/direct/dec151dc69fc4bbc9d2d3015e62eca2a.png) 变量定义 `NAT_DEV` 和 `HOST_DEV`:分别定义了用于NAT的网络设备和主机的网络设备,这里分别是 `eth0` 和 `eth1`。 `NAT_VIP` 和 `DR_VIP`:分别定义了NAT虚拟IP和直接路由虚拟IP,这里都是 `192.168.1.101` 和 `192.168.137.254`。 `NAT_DIP` 和 `DR_DIP`:分别定义了NAT的外部IP和直接路由的外部IP,这里都是 `192.168.137.254`。 脚本逻辑 脚本接受一个参数,这个参数决定了要执行的操作(启动或停止)以及要配置的模式(NAT或DR)。 `case` 语句用于根据传递给脚本的第一个参数(`$1`)来执行不同的操作。 操作选项 `start`:这个选项应该用于启动NAT或DR配置,但当前脚本中没有实现具体的逻辑。 `stop`:这个选项应该用于停止NAT或DR配置,同样,当前脚本中没有实现具体的逻辑。 `*`:如果传递的参数不是 `start` 或 `stop`,脚本会打印一个用法提示。 测试: ![](https://i-blog.csdnimg.cn/direct/578eb6cf4c2a4fffaff3ea8e3ee5b0f5.png) ![](https://i-blog.csdnimg.cn/direct/8e023faad83d4df38d15142c7727ddab.png) ![](https://i-blog.csdnimg.cn/direct/a6a3407a6d5f40cf81d7f86e6847d7c9.png) 也可以将RS1和RS2加进去,根据自己需求去改写脚本即可。 至此为多模式脚本实现! 以上为整个实验的过程和详细解析!!! 但需要注意的是: ### 3.实验注意事项 #### 1.网络规划 IP地址分配:确保NAT和DR使用的IP地址不会产生冲突,合理规划IP地址段。 子网划分:正确划分子网,以支持不同的网络需求和设备。 #### 2. 设备配置 路由器/防火墙配置:正确配置路由器或防火墙设备,以支持NAT和DR的规则。 交换机配置:确保交换机配置正确,能够处理来自不同源的流量。 #### 3. 安全性 访问控制:设置访问控制列表(ACLs)来限制不必要的访问,增强网络安全。 火墙规则:配置防火墙规则以防止未授权访问和潜在的攻击。 #### 4. 测试和验证 连通性测试:使用 `ping`、`traceroute` 等工具测试网络连通性。 服务测试:确保通过NAT和DR可以访问目标服务,如HTTP、HTTPS等。 #### 5. 日志和监控 日志记录:启用设备和服务器的日志记录功能,以便于问题追踪和分析。 网络监控:使用网络监控工具来监控流量和性能,及时发现并解决问题。 #### 6. 故障排除 错误分析:当出现问题时,分析错误日志和配置,找出问题根源。 逐步排查:从网络的最外层开始,逐步排查到内层,找到问题所在。 #### 7. 文档记录 配置记录:记录所有配置的详细信息,包括IP地址、子网掩码、路由规则等。 操作记录:记录实验过程中的关键操作和更改,便于回溯和复现问题。 #### 8. 实验环境 隔离实验环境:在隔离的实验环境中进行NAT和DR配置,避免影响生产环境。 备份配置:在进行任何更改之前,备份当前的配置文件。 #### 9. 性能考虑 负载均衡:在需要时配置负载均衡,以优化资源使用和提高性能。 QoS配置:根据需要配置服务质量(QoS),确保关键业务的流量优先级。 #### 10. 法规遵从 数据保护:确保实验过程中遵守相关的数据保护法规和政策。 合规性检查:定期检查配置和操作是否符合行业标准和法规要求。 **注意:如果感觉自己成功不了,切记保存快照,以便回滚!!!**