更新时间:2025-01-10 GMT+08:00
分享

开始使用

安全组规则修改(可选)

安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。

如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。

  • 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。
  • 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。
  • 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。

访问服务端

  1. 访问Flexus云服务器X实例控制台,打开浏览器,输入3.2快速部署步骤3创建资源的EIP地址,验证目的端Web是否正常,如下图所示。

    图1 web1
    图2 web2

动态添加路由

  1. 动态添加路由(keepalived):源端通过公网访问目的端时,对应的业务需要使用自己的源端公网IP作为出口IP,因此需要配置虚拟IP的转发路由。

    由于虚拟IP地址会进行漂移,并且在未绑定虚拟IP地址的服务器上不能添加虚拟IP对应的路由规则,所以当虚拟IP漂移到主备云服务器中的一台时,需要为主备服务器动态添加路由。

    请登录源端(上海一)的主备服务器,执行步骤1-步骤2的操作。

    创建添加路由脚本
    命令:vim /etc/keepalived/addRoute.sh

    替换以下字段的值:

    destination1:web1服务EIP1

    destination2:web2服务EIP2

    destinationVip1:虚拟IP1

    destinationVip2:虚拟IP2

    添加如下内容

    #!/bin/bash
    # 要检查的路由目的地
    destination1="1.94.xx.22"
    destination2="113.44.xx.99"
    destinationVip1="172.16.0.203"
    destinationVip2="172.16.0.47"
    
    # 使用ip route show查找路由,通过grep检查输出
    if  ip route show | grep -q "$destination1" ; then
        echo "路由到 $destination1 存在。"
    else
        echo "路由到 $destination1 不存在。"
        ip route add $destination1 via 172.16.0.1 dev eth0 src $destinationVip1
    fi
    if  ip route show | grep -q "$destination2" ; then
        echo "路由到 $destination2 存在。"
    else
        echo "路由到 $destination2 不存在。"
       ip route add $destination2 via 172.16.0.1 dev eth0 src $destinationVip2
    fi

    为路由脚本添加可执行权限

    命令:chmod +x /etc/keepalived/addRoute.sh

  2. 添加路由脚本:在Nginx监控脚本中加入添加路由脚本,替换原有内容。

    vim /etc/keepalived/chk_nginx.sh

    加入添加以下路由执行脚本

    #!/bin/bash
    sh /etc/keepalived/addRoute.sh
    counter=$(ps -C nginx --no-heading|wc -l)
    if [ "${counter}" = "0"  ]; then
         systemctl start nginx.service
         sleep 2
         counter=$(ps -C nginx  --no-heading|wc -l)
         if [ "${counter}" =  "0" ]; then
              systemctl stop keepalived.service
         fi
    fi

  3. 在主服务器上可以查看已配置的路由信息

    命令:ip route

配置转发规则

  1. 在源端(上海一)的主备服务器上分别配置Nginx的转发规则,执行以下命令,创建转发配置文件,添加如下内容。

    命令:vim /etc/nginx/conf.d/web-src.conf

    修改替换以下内容

    server:web服务绑定的两个EIP

    server_name:虚拟IP绑定的两个EIP

    upstream web1 {
    server 1.94.xx.22:80;
    }
    upstream web2 {
    server 113.44.xx.99:80;
    }
    server {
    listen 80;
    server_name 1.94.xxx.236;
    access_log /var/log/nginx/web1.access.log main;
    error_log /var/log/nginx/web1.error.log crit;
    location / {
    proxy_pass http://web1;
    proxy_set_header Host $http_host;
    }
    }
    server {
    listen 80;
    server_name 115.120.xxx.252;
    access_log /var/log/nginx/web2.access.log main;
    error_log /var/log/nginx/web3.error.log crit;
    location / {
    proxy_pass http://web2;
    proxy_set_header Host $http_host;
    }
    }

  2. 执行以下命令热加载生效Nginx配置

    命令:nginx -s reload

验证不同业务IP访问转发

  1. 打开浏览器,输入绑定在虚拟IP1上的EIP1(1.94.xxx.236),验证是否转发到目的端web1上,网页如下图所示,表示转发成功。

    图3 web1

  2. 打开浏览器,输入绑定在虚拟IP2上的EIP2(115.120.xxx.252),验证是否转发到目的端web2上。网页如下图所示,表示转发成功。

    图4 web2

验证主备服务器的自动切换功能

  1. 验证主备切换所示,主服务器为Flexus-X-HA2,远程登录Flexus-X-HA2,并执行以下命令,查看虚拟IP是否已绑定到Flexus-X-HA2。回显类似如下信息,可以看到虚拟IP1(172.16.0.203)和虚拟IP2(172.16.0.47)已绑定至eth0网卡上,再次确认Flexus-X-HA2为主服务器。

    命令:ip a
    图5 网卡信息

  2. 执行以下命令,停止主服务器的Keepalived服务或者重启主ECS二选一,本示例中主服务器为Flexus-X-HA2。

    停止Keepalived服务
    命令:systemctl stop keepalived.service
    
    重启主ECS
    reboot

  3. 打开浏览器,输入绑定在虚拟IP1上的EIP1(1.94.xxx.236)、输入绑定在虚拟IP2上的EIP2(115.120.xxx.252),验证主服务器挂掉之后能否正常访问网页。

    网页如下图所示,表示网页访问正常。

    图6 web1
    图7 web2

  4. 执行以下命令,验证主ECS是否切换成Flexus-X-HA1。远程登录Flexus-X-HA1,并执行以下命令,查看虚拟IP是否已绑定到Flexus-X-HA1的eth0网卡上。

    回显类似如下信息,可以看到虚拟IP1(172.16.0.203)和虚拟IP2(172.16.0.47)已绑定至eth0网卡上,此时确认Flexus-X-HA1为主ECS。

    命令:ip addr show
    图8 网卡信息

相关文档