LVS负载均衡群集——keepalived+DR模式(实战!
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,keepalived实现原理keepalived采用vrrp热备份协议,实现Linux服务器的多机热备功能vrrp,虚拟路由冗余协议,是针对路由器的一种备份解决方案keepalivd案列讲解keepa
千家信息网最后更新 2025年02月23日LVS负载均衡群集——keepalived+DR模式(实战!
keepalived实现原理
keepalived采用vrrp热备份协议,实现Linux服务器的多机热备功能
vrrp,虚拟路由冗余协议,是针对路由器的一种备份解决方案
keepalivd案列讲解
keepalived可实现多机热备,每个热备组有多台服务器,最常用的就是双机热备
双机热备的故障切换是由虚拟IP地址的漂移来实现,适用于各种应用服务器
DR模式原理
实验环境
CentOS7系统: DR1 主: 192.168.100.2 DR2 备: 192.168.100.20 虚拟IP:192.168.100.10 web1:192.168.100.221 web2:192.168.100.222win10系统: client:192.168.100.100
1、分别在四台Linux虚拟机上安装实验所需软件包
DR1主:[root@localhost ~]# yum install ipvsadm keepalived -yDR2从:[root@localhost ~]# yum install ipvsadm keepalived -yweb1:[root@localhost ~]# yum install httpd -yweb2:[root@localhost ~]# yum install httpd -y
2、分别将五台虚拟机的网络模式改为仅主机模式(五台操作相同)
3、分别修改四台Linux虚拟机的IP地址
DR1主:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static #dhcp改为staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=3ceed540-b04c-48d6-a4f7-79951f09ea1dDEVICE=ens33ONBOOT=yesIPADDR=192.168.100.201 #IP地址NETMASK=255.255.255.0 #子网掩码GATEWAY=192.168.100.1 #网关[root@localhost ~]# systemctl restart network #重启网络服务[root@localhost ~]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.201 netmask 255.255.255.0 broadcast 192.168.100.255 #IP地址配置成功 inet6 fe80::3e1d:31ba:f66a:6f80 prefixlen 64 scopeid 0x20 ether 00:0c:29:95:9b:1b txqueuelen 1000 (Ethernet) RX packets 10373 bytes 13584878 (12.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4285 bytes 277473 (270.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
DR2从:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static #dhcp改为staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=3ceed540-b04c-48d6-a4f7-79951f09ea1dDEVICE=ens33ONBOOT=yesIPADDR=192.168.100.202 #IP地址NETMASK=255.255.255.0 #子网掩码GATEWAY=192.168.100.1 #网关[root@localhost ~]# systemctl restart network #重启网络服务[root@localhost ~]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.202 netmask 255.255.255.0 broadcast 192.168.100.255 #IP地址配置成功 inet6 fe80::3e1d:31ba:f66a:6f80 prefixlen 64 scopeid 0x20 inet6 fe80::2558:848e:ba08:4183 prefixlen 64 scopeid 0x20 ether 00:0c:29:27:1c:3f txqueuelen 1000 (Ethernet) RX packets 10470 bytes 13593710 (12.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4240 bytes 273794 (267.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
web1:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static #dhcp改为staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=8ecd53ce-afdb-46f8-b7ff-b2f428a3bc8fDEVICE=ens33ONBOOT=yesIPADDR=192.168.100.221 #IP地址NETMASK=255.255.255.0 #子网掩码GATEWAY=192.168.100.1 #网关[root@localhost ~]# systemctl restart network #重启网络服务[root@localhost ~]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.221 netmask 255.255.255.0 broadcast 192.168.100.255 #IP地址配置成功 inet6 fe80::c776:9d00:618:88f2 prefixlen 64 scopeid 0x20 ether 00:0c:29:eb:34:07 txqueuelen 1000 (Ethernet) RX packets 11508 bytes 14937643 (14.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 3932 bytes 254623 (248.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
web2:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=static #dhcp改为staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=09073596-a7cf-404c-a098-28c3ff58c44bDEVICE=ens33ONBOOT=yesIPADDR=192.168.100.222 #IP地址NETMASK=255.255.255.0 #子网掩码GATEWAY=192.168.100.1 #网关[root@localhost ~]# systemctl restart network #重启网络服务[root@localhost ~]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.222 netmask 255.255.255.0 broadcast 192.168.100.255 #IP地址配置成功 inet6 fe80::5134:22f5:842b:5201 prefixlen 64 scopeid 0x20 ether 00:0c:29:0d:f1:75 txqueuelen 1000 (Ethernet) RX packets 11425 bytes 14931323 (14.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4454 bytes 286016 (279.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
4、修改win10系统的IP地址,并关闭防火墙
DR1主服务器配置
1、配置路由转发功能
[root@localhost ~]# vim /etc/sysctl.confnet.ipv4.ip_forward=1 #配置路由转发功能#proc响应关闭重定向功能net.ipv4.conf.all.send_redirects=0net.ipv4.conf.default.send_redirects=0net.ipv4.conf.ens33.send_redirects=0[root@localhost ~]# sysctl -p #加载生效net.ipv4.ip_forward = 1net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0[root@localhost ~]#
2、配置虚拟网卡
[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33:0 #复制虚拟网卡的配置文件[root@localhost network-scripts]# vim ifcfg-ens33:0#添加配置文件信息,原有的信息删除DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0[root@localhost network-scripts]# systemctl restart network #重启网络服务[root@localhost network-scripts]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.201 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::3e1d:31ba:f66a:6f80 prefixlen 64 scopeid 0x20 ether 00:0c:29:95:9b:1b txqueuelen 1000 (Ethernet) RX packets 11455 bytes 13700437 (13.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4713 bytes 330899 (323.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:0: flags=4163 mtu 1500 inet 192.168.100.10 netmask 255.255.255.0 broadcast 192.168.100.255 #虚拟网卡配置成功 ether 00:0c:29:95:9b:1b txqueuelen 1000 (Ethernet)
3、创建脚本便于service管理
[root@localhost network-scripts]# cd /etc/init.d/[root@localhost init.d]# vim dr.sh#!/bin/bashGW=192.168.100.1 #网关VIP=192.168.100.10 #虚拟ipRIP1=192.168.100.221 #真实web1服务器ipRIP2=192.168.100.222 #真实web2服务器ipcase "$1" in start) /sbin/ipvsadm --save > /etc/sysconfig/ipvsadm #保存配置 systemctl start ipvsadm #启动服务 /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up #设置ens33:0地址,广播地址,子网掩码,并开启 /sbin/route add -host $VIP dev ens33:0 #添加路由网段信息 /sbin/ipvsadm -A -t $VIP:80 -s rr #指定虚拟服务访问入口,指定轮询算法 /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g #指定真实服务器web1,dr模式 /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g #指定真实服务器web2,dr模式 echo "ipvsadm starting ---------------------[ok]" ;; stop) /sbin/ipvsadm -C #清空缓存 systemctl stop ipvsadm #关闭服务 ifconfig ens33:0 down #关闭接口 route del $VIP #删除路由信息 echo "ipvsadm stoped--------------------[ok]" ;; status) if [ ! -e /var/lock/subsys/ipvsadm ];then #判断文件存在与否决定状态 echo "ipvsadm stoped--------------" exit 1 else echo "ipvsadm Runing-----------[ok]" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0[root@localhost init.d]# chmod +x dr.sh #给执行权限[root@localhost init.d]# service dr.sh start #开启服务ipvsadm starting ---------------------[ok][root@localhost init.d]# systemctl stop firewalld.service #关闭防火墙[root@localhost init.d]# setenforce 0 #关闭增强型安全功能[root@localhost init.d]#
4、配置DR1服务器keepalived部署
[root@localhost ~]# cd /etc/keepalived/[root@localhost keepalived]# lskeepalived.conf[root@localhost keepalived]# vim keepalived.conf smtp_server 127.0.0.1 #指向本地router_id LVS_01 #指定名称,备份服务器不同名称vrrp_instance VI_1 { state MASTER #主服务器,备份服务器是BACKUP interface ens33 virtual_router_id 10 #组号相同 priority 100 #优先级,主服务器优先级应大于备份服务器 advert_int 1 authentication { auth_type PASS #验证类型 auth_pass 1111 #验证密码 } virtual_ipaddress { 192.168.100.10 #虚拟IP地址 }}virtual_server 192.168.100.10 80 { #虚拟服务器 delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 50 protocol TCP real_server 192.168.100.221 80 { #真实服务器 weight 1 TCP_CHECK { connect_port 80 #连接端口 connect_timeout 3 #连接超时 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.100.222 80 { #真实服务器 weight 1 TCP_CHECK { connect_port 80 #连接端口 connect_timeout 3 #连接超时 nb_get_retry 3 delay_before_retry 3 } }}[root@localhost keepalived]# systemctl start keepalived.service #开启服务[root@localhost keepalived]#
DR2从服务器配置
1、配置路由转发功能
[root@localhost ~]# vim /etc/sysctl.confnet.ipv4.ip_forward=1 #配置路由转发功能#proc响应关闭重定向功能net.ipv4.conf.all.send_redirects=0net.ipv4.conf.default.send_redirects=0net.ipv4.conf.ens33.send_redirects=0[root@localhost ~]# sysctl -p #加载生效net.ipv4.ip_forward = 1net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0[root@localhost ~]#
2、配置虚拟网卡
[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33:0 #复制虚拟网卡的配置文件[root@localhost network-scripts]# vim ifcfg-ens33:0#添加配置文件信息,原有的信息删除DEVICE=ens33:0ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0[root@localhost network-scripts]# systemctl restart network #重启网络服务[root@localhost network-scripts]# ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.202 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::3e1d:31ba:f66a:6f80 prefixlen 64 scopeid 0x20 inet6 fe80::2558:848e:ba08:4183 prefixlen 64 scopeid 0x20 ether 00:0c:29:27:1c:3f txqueuelen 1000 (Ethernet) RX packets 15720 bytes 14706442 (14.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6289 bytes 1113172 (1.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33:0: flags=4163 mtu 1500 inet 192.168.100.10 netmask 255.255.255.0 broadcast 192.168.100.255 #虚拟网卡配置成功 ether 00:0c:29:27:1c:3f txqueuelen 1000 (Ethernet)
3、创建脚本便于service管理
[root@localhost network-scripts]# cd /etc/init.d/[root@localhost init.d]# vim dr.sh#!/bin/bashGW=192.168.100.1 #网关VIP=192.168.100.10 #虚拟ipRIP1=192.168.100.221 #真实web1服务器ipRIP2=192.168.100.222 #真实web2服务器ipcase "$1" in start) /sbin/ipvsadm --save > /etc/sysconfig/ipvsadm #保存配置 systemctl start ipvsadm #启动服务 /sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up #设置ens33:0地址,广播地址,子网掩码,并开启 /sbin/route add -host $VIP dev ens33:0 #添加路由网段信息 /sbin/ipvsadm -A -t $VIP:80 -s rr #指定虚拟服务访问入口,指定轮询算法 /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g #指定真实服务器web1,dr模式 /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g #指定真实服务器web2,dr模式 echo "ipvsadm starting ---------------------[ok]" ;; stop) /sbin/ipvsadm -C #清空缓存 systemctl stop ipvsadm #关闭服务 ifconfig ens33:0 down #关闭接口 route del $VIP #删除路由信息 echo "ipvsadm stoped--------------------[ok]" ;; status) if [ ! -e /var/lock/subsys/ipvsadm ];then #判断文件存在与否决定状态 echo "ipvsadm stoped--------------" exit 1 else echo "ipvsadm Runing-----------[ok]" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0[root@localhost init.d]# chmod +x dr.sh #给执行权限[root@localhost init.d]# service dr.sh start #开启服务ipvsadm starting ---------------------[ok][root@localhost init.d]# systemctl stop firewalld.service #关闭防火墙[root@localhost init.d]# setenforce 0 #关闭增强型安全功能[root@localhost init.d]#
4、配置DR1服务器keepalived部署
[root@localhost ~]# cd /etc/keepalived/[root@localhost keepalived]# lskeepalived.conf[root@localhost keepalived]# vim keepalived.conf smtp_server 127.0.0.1 #指向本地router_id LVS_02 #指定名称,备份服务器不同名称vrrp_instance VI_1 { state BACKUP #备份服务器BACKUP,主服务器是MASTER interface ens33 virtual_router_id 10 #组号相同 priority 90 #优先级,备份服务器应小于主服务器优先级 advert_int 1 authentication { auth_type PASS #验证类型 auth_pass 1111 #验证密码 } virtual_ipaddress { 192.168.100.10 #虚拟IP地址 }}virtual_server 192.168.100.10 80 { #虚拟服务器 delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 50 protocol TCP real_server 192.168.100.221 80 { #真实服务器 weight 1 TCP_CHECK { connect_port 80 #连接端口 connect_timeout 3 #连接超时 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.100.222 80 { #真实服务器 weight 1 TCP_CHECK { connect_port 80 #连接端口 connect_timeout 3 #连接超时 nb_get_retry 3 delay_before_retry 3 } }}[root@localhost keepalived]# systemctl start keepalived.service #开启服务[root@localhost keepalived]#
配置web1服务器
1、开启并配置httpd服务
[root@localhost ~]# systemctl stop firewalld.service #关闭防火墙[root@localhost ~]# setenforce 0 #关闭增强型安全功能[root@localhost ~]# systemctl start httpd.service #开启httpd服务[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is abc web" > index.html #创建网站页面[root@localhost html]#
2、修改回环网卡的虚拟网卡
[root@localhost html]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0 #复制回环网卡配置文件[root@localhost network-scripts]# vim ifcfg-lo:0#添加配置文件信息,原有的信息删除DEVICE=lo:0IPADDR=192.168.100.10NETMASK=255.255.255.0ONBOOT=yes
3、添加脚本便于service管理
[root@localhost network-scripts]# cd /etc/init.d/[root@localhost init.d]# vim web.sh#!/bin/bashVIP=192.168.100.10 case "$1" in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $VIP dev lo:0 echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce sysctl -p > /dev/null 2>&1 echo "RealServer Start OK " ;; stop) ifconfig lo:0 down route del $VIP /dev/null 2>&1 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0[root@localhost init.d]# chmod +x web.sh #添加执行权限[root@localhost init.d]# service web.sh start #开启服务RealServer Start OK [root@localhost init.d]# ifup lo:0 #开启网卡[root@localhost init.d]#ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.221 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::c776:9d00:618:88f2 prefixlen 64 scopeid 0x20 ether 00:0c:29:eb:34:07 txqueuelen 1000 (Ethernet) RX packets 13293 bytes 15122368 (14.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4692 bytes 360484 (352.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo:0: flags=73 mtu 65536 inet 192.168.100.10 netmask 255.255.255.255 loop txqueuelen 1 (Local Loopback)
配置web2服务器
1、开启并配置httpd服务
[root@localhost ~]# systemctl stop firewalld.service #关闭防火墙[root@localhost ~]# setenforce 0 #关闭增强型安全功能[root@localhost ~]# systemctl start httpd.service #开启httpd服务[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is xyz web" > index.html #创建网站页面[root@localhost html]#
2、修改回环网卡的虚拟网卡
[root@localhost html]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0 #复制回环网卡配置文件[root@localhost network-scripts]# vim ifcfg-lo:0#添加配置文件信息,原有的信息删除DEVICE=lo:0IPADDR=192.168.100.10NETMASK=255.255.255.0ONBOOT=yes
3、添加脚本便于service管理
[root@localhost network-scripts]# cd /etc/init.d/[root@localhost init.d]# vim web.sh#!/bin/bashVIP=192.168.100.10 case "$1" in start) ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP /sbin/route add -host $VIP dev lo:0 echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce sysctl -p > /dev/null 2>&1 echo "RealServer Start OK " ;; stop) ifconfig lo:0 down route del $VIP /dev/null 2>&1 echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0[root@localhost init.d]# chmod +x web.sh #添加执行权限[root@localhost init.d]# service web.sh start #开启服务RealServer Start OK [root@localhost init.d]# ifup lo:0 #开启网卡[root@localhost init.d]#ifconfig #查看网卡信息ens33: flags=4163 mtu 1500 inet 192.168.100.222 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::5134:22f5:842b:5201 prefixlen 64 scopeid 0x20 ether 00:0c:29:0d:f1:75 txqueuelen 1000 (Ethernet) RX packets 16771 bytes 15510870 (14.7 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 7516 bytes 783039 (764.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo:0: flags=73 mtu 65536 inet 192.168.100.10 netmask 255.255.255.255 loop txqueuelen 1 (Local Loopback)
测试群集是否搭建成功
1、用win10测试主机访问虚拟IP地址:192.168.100.10
再次刷新页面,可以测试轮询机制
2、模拟DR1主服务器故障,然后再次用win10测试主机访问虚拟IP地址:192.168.100.10
[root@localhost keepalived]# ifdown ens33:0#在DR1主服务器上,关闭虚拟网卡,模拟故障
再次刷新页面,可以测试轮询机制
测试成功!!!
服务
服务器
配置
网卡
信息
地址
功能
文件
路由
成功
备份
模式
网络
网关
网络服务
子网
测试
防火墙
防火
安全
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南昌服务器ups电源
成都室内设计软件开发
金三科技互联网
成都十九号笔网络技术有限公司
服务器怎么改12伏电源
平遥县数据库
服务器 路数
软件开发的流程单选
数据库删除文件组命令
戴尔服务器忘记管理地址
太空工程师服务器管理员权限
网络安全 党
网络电话软件与服务器的关系
服务器小米货
昆明 网络安全
网络安全审计跟踪技术
软件开发费用核算管理办法
四川系统软件开发排行
dos怎么导入数据库
2012服务器教程
嵌入式软件开发英语词汇
数据库查询两列的sql
瑞安软件开发
聊天软件开发受人欢迎
用u盘插服务器传数据
服务器连接交换机接在哪里
网络安全法十五条规定
牛蛙网络安全教育
自学有哪些软件开发
浪潮服务器大庆代理商