• [交流分享] 微认证之路 搭建Discuz论坛网站
    ### 名称及链接 [搭建Discuz论坛网站](https://edu.huaweicloud.com/certifications/47fbfb10f0294822809d8b53ad2aa86d)   ### 课程章节 1. 场景与解决方案 2. 搭建网站所需华为云服务 3. 数据库之MySQL数据库 4. Web服务器之Apache 5. 搭建Discuz论坛网站实践   ### 证书 ![wrz-cloud-cj-discuzweb.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/19/103350u7gf1cpps29pfyv2.png)   ### 笔记 1. VPC(虚拟私有云) 1. 安全组 2. 子网 3. ACL 4. 弹性公网IP 2. VPC产品优势 1. 安全可靠 2. 灵活配置 3. 高速访问 4. 互联互通 3. VPC配置流程 1. 创建虚拟私有云基本信息和默认子网 2. 为虚拟私有云创建新的子网(可选) 3. 创建安全组 4. 添加安全组规则(可选) 4. ECS产品优势 1. 稳定可靠 2. 安全保障 3. 软硬结合 4. 弹性伸缩 5. 关系模型 1. 实体(entity) + 联系(relationship) 6. SQL,结构化查询语言 1. DDL,数据定义语言 2. DML,数据操纵语言 3. DCL,数据控制语言 7. WinSCP 1. Windows环境下使用SSH的开源图形化SFTP客户端,用于在本地2. 与远程计算机间安全的复制文件 8. oracle,db2,access,sql server,postgresql,MySQL 9. Apache,IIS,NGINX 10. html,css,javascript 11. php,asp,jsp   ### 备注 1. 感谢老师的教学与课件 2. 欢迎各位同学一起来交流学习心得^_^ 3. 在线课程、沙箱实验、博客和直播,其中包含了许多优质的内容,推荐了解与学习。
  • [经验交流] 浅谈华为云多VPC互通
    ###对等使用场景 对等连接是指两个VPC之间的网络连接。您可以使用私有IP地址在两个VPC之间进行通信,就像两个VPC在同一个网络中一样。同一区域内,您可以在自己的VPC之间创建对等连接,也可以在自己的VPC与其他帐户的VPC之间创建对等连接。 ###一、基于两个VPC互通功能,可扩展出多VPC互通场景,使用场景均不能超出产品[使用限制](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655036.html) ####链型中转方案 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/102934ttqwkciaoptvkcid.png) 配置要点: 1.VPC1,VPC2,VPC3互通。以VPC1作为中转VPC。 2.VPC1和VPC2打通peering,VPC1和VPC3打通peering 3.VPC1在两个peering上分别配置C、D的路由;VPC2的peering路由上,配置B和D;VPC3的peering路由上,配置B和C。 即可打通VPC2和VPC3的通信。无需在VPC2和VPC3之间打通Peering ####**星形中转方案** ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/103008kikeqfsbo8ztubo6.png) 配置要点: 配置要点: 1.几个VPC子网网段不冲突。 2.Transit VPC尽量不要部署业务虚拟机。 3、路由配置规则与链型中转方案一致,需要添加目标网段的所有网段地址 ###二、居于VPC互通,可搭配云连接、专线、ELB 实现多VPC跨region、多VPC复用专线、多VPC负载均衡等功能 ####对等连接+云链接 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/1031165fj7ozzgr3nlqhln.png) 实现 VPC0 跨region 与 VPC1、VPC2、VPC3... 互通。同region建议直接使用VPC peering方案。 同region使用云链接互通 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/1031449f1grmvgoobuyttt.png) 虽然方案可行,针对大业务流量不推荐使用。 ###对等连接+云专线 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/103258hkwxwwqhgzn3tiwp.png) 适用于专线接入访问多个VPC的场景,若严格要求路由隔离,或者IP地址冲突的场景不适用此场景 #对等连接 + ELB ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202105/17/103406zuqqnbk6q4azkw2h.png) 华为云推出的独享型ELB实例,支持混合负载均衡,配合对等连接可以实现跨VPC业务负载均衡。 混合负载均衡功能强大,后续再介绍. 对等连接配置: [点这里]()
  • [体验官] ECS进阶之虚拟私有云和安全组
    刚开始接触云计算的时候,对虚拟私有云和安全组,是比较难理解的概念。用的多了,也就明白虚拟私有云和安全组不过是像积木中的组件一样,是购买和使用云服务器的必选项。但是,除了在购买阶段点选默认的配置外,一般很少探究这两个组件如何使用,因为跟前段时间嚷嚷的运营商管道论类似,通,不通,连个状态。先说说虚拟私有云:可以将其理解为一台交换机,用熟悉的硬件的功能做类别比较容易理解云服务的概念。点击创建虚拟私有云,可以看到默认的都是私有的IP地址(当然你不会希望这里用公网IP地址的),选好网络地址就可以免费创建虚拟私有云,也可以在购买ecs时同步进行。这里需要注意的是,有些程序,比如docker用的网络默认是192.168.0.X,如果你要部署这个,最好把这段让出来,否则,后续改地址非常麻烦。再来说说安全组:安全组更好理解,防火墙么。但是,防火墙的规则配置起来很麻烦的,华为云平台会自动生成默认策略的安全组这里需要注意的是,fullaccess并不是完全放通的,而只是对ICMP全放通,tcp常用的端口进行了放通,我今天在这里踩坑了,具体的规则策略,需要点进去看一下。
  • [问题求助] 【Atlas 200DK】【vpc_jpeg_resnet50_imagenet_classification样例】make报错
    【功能模块】atlas 200DK【操作步骤&问题现象】1、在200DK上编译样例vpc_jpeg_resnet50_imagenet_classification,make时报错如下2、我在Ascend/ascend-toolkit/latest/arm64-linux/acllib/include/acl/ops路径下的acl_dvpp.h中确实没有找到acldvppVpcCropResizeAsync()和acldvppVpcCropResizePasteAsync()函数的声明。3、我的CANN版本是3.2.0【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【200DK产品】【格式转换功能】dvpp_vpc_convert_color_async是用NPU实现的吗?
    现在需要将YUV420的转为RGB的。我看的文档是2012-1-28的。里面说本版本不支持该接口。请问,现在实现了这个接口了吗?如果实现了,那底层是用NPU去转的,还是cpu去转换格式的,还是用了硬核去转的?
  • [问题求助] 【Atlas800-3000】【vpc进行crop处理】dvpp中vpc模块进行crop处理出错,sendframe会超时过长
    【功能模块】dvpp vpc模块进行图像crop时出错aclvdecSendFrame超时达10s以上。【操作步骤&问题现象】    1. 单芯片12路跑结构化视频解码时偶尔出现DvppBatchCrop模块出错,并且无法恢复。    2. aclvdecSendFrame一直卡住导致我们的应用实时流积压packet数据,最后在13.35.48秒开始发生app自主重启【截图信息】dvpp vpc中出现以下错误日志:dvpp vdec中sendframe超时10s以上,错误日志:【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 谁能帮助解答下面问题?
    涉及服务问题描述ASM专有网格的ISTIO版本是否可以尽可能的和社区版本保持同步EIP按流量付费的EIP最大带宽是否能够和按带宽付费的最大带宽一样AOS希望AOM能够支持更多的云服务LTS,AOMLTS和AOM的日志搜索功能搜索速度很慢,并且有时候日志中有对应的关键字,但无法搜索到NATNAT监控不准确VPC高并发下创建虚拟机分配IP时很慢,并且分配到IP地址后,还需要等待较长时间才能正常和外部通信ECSECS启动速度慢,公共镜像的Linux系统启动需要1m10s左右,windows需要2m13sECS创建ECS时不能直接使用已经申请出来的私有IP.ECS没有ECS转容器的功能CCE在CCE的1.13集群里。挂载obs的s3fs进程消耗内存过高。IMS制作镜像速度以及镜像导出到桶的速度过慢ELBELB中黑/白名单功能能够添加的IP地址数太少ELBELB   http最大请求超时时间最大60s,可以提高一些EVS不支持磁盘缩容,SMS服务不好用,服务器数量多的情况下列表刷新不出来云服务API希望每个云服务上线时,都能够提供完整的增删改查API强制删除关联服务功能在调用API或在页面删除资源时,是否能增加一个强制删除关联资源的参数。如删除VPC时,如果VPC下有ECS,RDS或其他资源的时候,可以直接强制删除VPC及和当前VPC关联的资源。自动选择AZ功能在通过API调用创建资源时,希望可以支持只提供Region,由服务自动选择AZ的能力。企业中心在财务管理中查询资金往来明细,当子帐号数量较多时,需要等待很长时间页面才有响应。GPUGPU按需资源比较少,目前P100和P4的资源很少能申请到。
  • [技术干货] 如何在后台创建指定掩码位数的子网并在SC界面显示
      有时由于前台页面的限制无法直接创建指定掩码位数的子网,可以尝试从后台创建,并使其在前台页面可见。以6.3.0版本为例,该版本下在vpc创建子网的时候,显示掩码范围只有8-28位,但是有时用户需要使用29位掩码的子网,必须要在后台创建并在前台界面显示。步骤及命令如下:1. VPC在后台是以router的形式表现,可以通过neutron router-list先查询到VPC在后台对应的router-id2. 使用 neutron router-show 查询到router对应的TENANT-ID:2. 由于SC限制一个network只有一个subnet,所以先创建一个network:neutron net-create --tenant-id TENANT-ID NETNAME3. 在创建完network后,在其下创建需要的子网,需要将对应的参数填写在命令行中,可以使用命令 neutron help subnet-create 查看具体参数含义以及在命令行中的书写格式:neutron subnet-create --tenant-id TENANT-ID --name NAME --disable-dhcp NET-ID 192.168.2.0/29 --dns-nameserver DNS-NAMESERVER1 --dns-nameserver DNS-NAMESERVER24. 随后将该subnet和router绑定:neutron router-interface-add ROUTER-ID SUBNET-ID5. subnet的网关port应该是自动创建的,可以查看router下的网关port:neutron router-port-list ROUTER-ID6. 操作完成后就可以在SC界面看到该子网信息了。 
  • [视频] 【云视厅】第6期 安全组—云服务器的守卫者
    云上一分钟,上云更轻松。当您使用华为云弹性云服务器搭建了一个应用,想让别人访问时,发现…..咦?怎么访问不了呢?回忆一下,是不是购买弹性云服务器进行网络配置时,安全组直接是默认配置了? 那么问题来了安全组是什么呢?怎么配置呢?猛戳以下视频一起学习如何配置安全组~   点击“了解更多”,学习更多安全组知识。加关注,不迷路!下期见~
  • [经验交流] 分享一个常用的网络故障排查工具
    常用的 ping,tracert,nslookup 一般用来判断主机的网络连通性,其实 Linux 下有一个更好用的网络联通性判断工具,它可以结合ping nslookup tracert 来判断网络的相关特性,这个命令就是 mtr。mtr 全称 my traceroute,是一个把 ping 和 traceroute 合并到一个程序的网络诊断工具。traceroute默认使用UDP数据包探测,而mtr默认使用ICMP报文探测,ICMP在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况。安装方法1.Windows系统可以直接在https://cdn.ipip.net/17mon/besttrace.exe下载BestTrace工具并安装。也可以在https://github.com/oott123/WinMTR/releases GitHub上下载MTR专用工具,该工具为免安装,下载后可以直接使用。2.Linux可以直接运行命令进行安装。# Debian/Ubuntu 系统apt install mtr# RedHat/CentOS 系统yum install mtr3.Apple客户端可以在App store搜索Best NetTools下载安装4.Android客户端:可以在Google Play上下载TracePing,但是由于国内Google Play无法访问,笔者自行下载下来,可以直接访问 https://dwz.cn/KCdNPH4c 下载TracePing。使用MTR使用非常简单,查看本机到 qq.com 的路由以及连接情况直接运行如下命令:mtr qq.com具体输出的参数含义为:第一列是IP地址丢包率:Loss已发送的包数:Snt最后一个包的延时:Last平均延时:Avg最低延时:Best最差延时:Wrst方差(稳定性):StDev参数说明-r or --report使用 mtr -r qq.com 来打印报告,如果不使用 -r or --report 参数 mtr 会不断动态运行。使用 report 选项, mtr 会向 qq.com 主机发送 10 个 ICMP 包,然后直接输出结果。通常情况下 mtr 需要几秒钟时间来输出报告。mtr 报告由一系列跳数组成,每一跳意味着数据包通过节点或者路由器来达到目的主机。一般情况下 mtr 前几跳都是本地 ISP,后几跳属于服务商比如 腾讯数据中心,中间跳数则是中间节点,如果发现前几跳异常,需要联系本地 ISP 服务提供上,相反如果后几跳出现问题,则需要联系服务提供商,中间几跳出现问题,则需要联系运营商进行处理默认使用 -r 参数来生成报告,只会发送10个数据包,如果想要自定义数据包数量,可以使用 -c 参数-s or --packetsize使用 -s 来指定ping数据包的大小mtr -s 100 qq.com100 bytes 数据包会用来发送,测试,如果设置为负数,则每一次发送的数据包的大小都会是一个随机数。-c指定发送数量mtr -c 100 qq.com-n不进行主机解释使用 -n 选项来让 mtr 只输出 IP,而不对主机 host name 进行解释mtr -n qq.comMTR结果分析当我们分析 MTR 报告时候,最好找出每一跳的任何问题。除了可以查看两个服务器之间的路径之外,MTR 在它的七列数据中提供了很多有价值的数据统计报告。Loss% 列展示了数据包在每一跳的丢失率。Snt 列记录的多少个数据包被送出。使用 –report 参数默认会送出10个数据包。如果使用 –report-cycles=[number-of-packets] 选项,MTR 就会按照 [number-of-packets] 指定的数量发出 ICMP 数据包。Last, Avg, Best 和 Wrst 列都标识数据包往返的时间,使用的是毫秒( ms )单位表示。Last 表示最后一个数据包所用的时间, Avg 表示评价时间, Best 和 Wrst 表示最小和最大时间。在大多数情况下,平均时间( Avg)列需要我们特别注意。最后一列 StDev 提供了数据包在每个主机的标准偏差。如果标准偏差越高,说明数据包在这个节点的延时越不相同。标准偏差会让您了解到平均延时是否是真的延时时间的中心点,或者测量数据受到某些问题的干扰。例如,如果标准偏差很大,说明数据包的延迟是不确定的。一些数据包延迟很小(例如:25ms),另一些数据包延迟很大(例如:350ms)。当10个数据包全部发出后,得到的平均延迟可能是正常的,但是平均延迟是不能很好的反应实际情况的。如果标准偏差很高,使用最好和最坏的延迟来确定平均延迟是一个较好的方案。在大多数情况下,您可以把 MTR 的输出分成三大块。根据配置,第二或第三跳一般都是您的本地 ISP,倒数第二或第三跳一般为您目的主机的ISP。中间的节点是数据包经过的路由器。当分析 MTR 的输出时,您需要注意两点:loss 和 latency。网络丢包如果在任何一跳上看到 loss 的百分比,这就说明这一跳上可能有问题了。当然,很多服务提供商人为限制 ICMP 发送的速率,这也会导致此问题。那么如何才能指定是人为的限制 ICMP 传输 还是确定有丢包的现象?此时需要查看下一跳。如果下一跳没有丢包现象,说明上一条是人为限制的。如下示例:人为限制MTR丢包在此例中,第4跳发生了丢包现象,但是接下来几条都没任何丢包现象,说明第二跳的丢包是人为限制的。如果在接下来的几条中都有丢包,那就可能是第二跳有问题了。请记住,ICMP 包的速率限制和丢失可能会同时发生。MTR丢包截图 从上面的图中,您可以看从第13跳和第17跳都有 10% 的丢包率,从接下来的几跳都有丢包现象,但是最后15,16跳都是100%的丢包率,我们可以猜测到100%的丢包率除了网络糟糕的原因之前还有人为限制 ICMP。 所以,当我们看到不同的丢包率时,通常要以最后几跳为准。还有很多时候问题是在数据包返回途中发生的。数据包可以成功的到达目的主机,但是返回过程中遇到“困难”了。所以,当问题发生后,我们通常需要收集 反方向的 MTR 报告。此外,互联网设施的维护或短暂的网络拥挤可能会带来短暂的丢包率,当出现短暂的10%丢包率时候,不必担心,应用层的程序会弥补这点损失。 网络延迟 除了可以通过MTR报告查看丢包率,我们也还可以看到本地到目的之间的时延。因为是不通的位置,延迟通常会随着条数的增加而增加。所以,延迟通常取决于节点之间的物理距离和线路质量。MTR查看网络延迟 从上面的MTR报告截图中,我们可以看到从第11跳到12跳的延迟猛增,直接导致了后面的延迟也很大,一般有可能是11跳到12跳属于不通地域, 物理距离导致时延猛增,也有可能是第12条的路由器配置不当,或者是线路拥塞。需要具体问题进行具体的分析。然而,高延迟并不一定意味着 当前路由器有问题。延迟很大的原因也有可能是在返回过程中引发的。从这份报告的截图看不到返回的路径,返回的路径可能是完全不同的线路, 所以一般需要进行双向MTR测试。根据MTR结果解决网络问题MTR 报告显示的路由问题大都是暂时性的。很多问题在24小时内都被解决了。大多数情况下,如果您发现了路由问题,ISP 提供商已经监视到并且正在解决中了。当您经历网络问题后,可以选择提醒您的 ISP 提供商。当联系您的提供商时,需要发送一下 MTR 报告和相关的数据。没有有用的数据,提供商是没有办法去解决问题的。然而大多数情况下,路由问题是比较少见的。比较常见的是因为物理距离太长,或者上网高峰,导致网络变的很慢。尤其是跨越大西洋和太平洋的时候,网络有时候会变的很慢。这种情况下,建议就近接入客户的节点。
  • [问题求助] 【Atlas200DK产品】【VPC功能】VPC颜色空间转换失败
    根据 https://support.huaweicloud.com/asdevg-c-A200dk_3000_c75/atlasapi_07_0141.html:BGR888转NV12是被VPC所支持的。函数:void BGR2NV12(const uint8_t *pdata, int h, int w){   void *dvpp_input_mem = nullptr;   void *dvpp_output_mem = nullptr;   int input_size = h*w*3;   int output_size = input_size/2;   acldvppPicDesc *inputD = acldvppCreatePicDesc();   acldvppPicDesc *outputD = acldvppCreatePicDesc();   CHECK_ACL(acldvppMalloc(&dvpp_input_mem, input_size));   CHECK_ACL(acldvppMalloc(&dvpp_output_mem, output_size));   CHECK_ACL(acldvppSetPicDescData(inputD, dvpp_input_mem));   CHECK_ACL(acldvppSetPicDescFormat(inputD, PIXEL_FORMAT_BGR_888));   CHECK_ACL(acldvppSetPicDescWidth(inputD, w));   CHECK_ACL(acldvppSetPicDescHeight(inputD, h));   CHECK_ACL(acldvppSetPicDescWidthStride(inputD, w));   CHECK_ACL(acldvppSetPicDescHeightStride(inputD, h));   CHECK_ACL(acldvppSetPicDescSize(inputD, input_size));   CHECK_ACL(acldvppSetPicDescData(outputD, dvpp_output_mem));   CHECK_ACL(acldvppSetPicDescFormat(outputD, PIXEL_FORMAT_YUV_SEMIPLANAR_420));   CHECK_ACL(acldvppSetPicDescWidth(outputD, w));   CHECK_ACL(acldvppSetPicDescHeight(outputD, h));   CHECK_ACL(acldvppSetPicDescWidthStride(outputD, w));   CHECK_ACL(acldvppSetPicDescHeightStride(outputD, h));   CHECK_ACL(acldvppSetPicDescSize(outputD, output_size));   memcpy(dvpp_input_mem, pdata, input_size);   CHECK_ACL(acldvppVpcResizeAsync(channel_desc, inputD, outputD, resize_config, stream));   CHECK_ACL(aclrtSynchronizeStream(stream));   CHECK_ACL(acldvppFree(dvpp_input_mem));   CHECK_ACL(acldvppFree(dvpp_output_mem));   CHECK_ACL(acldvppDestroyPicDesc(inputD));   CHECK_ACL(acldvppDestroyPicDesc(outputD));   return ACL_ERROR_NONE; }运行报错:[ERROR] RUNTIME(23079)kernel task happen error, receive aicpu failed msg, aicpu error code=0x5. [ERROR] RUNTIME(23079)aicpu kernel execute failed, device_id=0, stream_id=10, task_id=15, fault so_name=libdvpp_kernels.so, fault kernel_name=DvppResize想确认下这种颜色空间转换确实是被支持的吧?
  • [Atlas300] vpc做resize操作时,会报出不在dvpp 4G空间内
    您好,请问一下我的数据从device侧,经过host,再到device侧,就会报如下的问题:dvpp做yuv数据压缩,数据直接device-》host侧时没问题的,在host侧加了一个engine只做转发,数据流从device-》host-》device-》host,就会爆出下面的问题;[ERROR] DVPP(9119,graph_110):2020-10-21-11:32:00.446.494 [API] [CheckInputParamter:662] [T50] bareDataAddr(0xaaaaeeb69330) is not in DVPP 4G space, please check alloc buffer interface.
  • [Atlas500] 【Atlas500】【InferOfflineVideo】Vpc malloc device failed!ret=500000
    【功能模块】请教调试过程遇到的问题,如标题,运行InferOfflineVideo程序时,大概处理1500多帧后,程序报错【vpcManager.cpp VpcStart:244】Vpc malloc device failed!ret=500000应该是vpc处理过程,申请空间失败。请问这种问题如何进行追踪排查呢?需要观察哪个日志的哪些关键字?感谢指点。
  • [技术干货] 使用华为云VPC搭建Keepalived+Nginx高可用WEB负载均衡
     问题描述:本文档介绍如何使用华为云VPC在CentOS6.8系统环境实现 Keepalived+Nginx高可用WEB负载均衡环境搭建。 1、物料准备步骤产品数量规格用途备注1虚拟私有云(VPC)1192.168.0.0/16所有产品须在同一区域(这里我们使用华东-上海二)组网vpc-HA子网(subnet)1192.168.0.0/24HA内网subnet-HA2弹性云服务器(ECS)21核1GB CentOS   7.4 64bit环境搭建购买时指定子网IP子网IP(subnetIP)2ecs-HA1:192.168.0.10/24ecs-HA2:192.168.0.20/24HA内网IP(RIP)3弹性IP(EIP)1bandweidth-HA(当前是1M带宽)公网访问绑定VIP虚拟IP(VIP)1192.168.0.100/24HA浮动IPEIP、ecs-HA1、ecs-HA2本文档中的操作为实验环境,所有资源均为“按需付费”,如果您自己在生产环境中使用,建议使用包年/包月模式。为确保各资源组件可连通性,一定确保所有资源均在“华东-上海二”购买,实际生产环境按业务实际需要选择区域。1.1、购买虚拟私有云(VPC)并指定子网(1)、虚拟私有云vpc-HA和子网subnet-HA登录华为云官网,按照网站导航——产品à网络à 虚拟私有云 VPC找到虚拟私有云(VPC)产品。点击“立即使用”购买虚拟私有云 VPC进入“申请虚拟私有云”页面。(2)、购买完成的虚拟私有云(vpc-HA)和子网(subnet-HA)信息如下图所示1.2 、 购买弹性云服务器(ECS)登录华为云官网,按照网站导航——产品à计算à弹性云服务器 ECS找到弹性云服务器 (ECS)产品。点击“立即购买”进入“购买弹性云服务器”页面进入购买页面后,购买过程中注意指定“物料准备”中指定的如下相关信息:(1)、ecs-HA1:(2)、 ecs-HA2: (3)、 购买完成的两台弹性云服务器配置信息我们这里是实验环境,所有一切从简,并未选购数据盘,实际生产环境使用时请按业务需求选购数据盘,并切实考虑HA两个节点之间业务数据一致性(同步)问题。1.3、购买弹性公网IP(EIP)登录华为云官网,按照网站导航——产品à网络à 弹性公网IP(Elastic IP),找到弹性公网IP(Elastic IP)购买页。我们本次购买到的弹性公网IP为XXXXXXXXXXX1.4、申请虚拟IP地址登录华为云官网,按照网站导航——控制台→服务列表→网络→虚拟私有云→vpc-HA→子网→subnet-HA→虚拟IP→申请虚拟IP地址。2 、 操作步骤2.1、 配置弹性云服务器环境配置弹性云服务器环境需要使用互联网安装相关软件包,所以我们在配置弹性云服务器环境的过程中会临时使用弹性公网IPXXXXXXXXXX。(1)、ecs-HA1:A.  绑定弹性公网IP XXXXXXXXXXXX到ecs-HA1。      登录华为云官网,按照网站导航——控制台à服务列表à计算à弹性云服务器,找到ecs-HA1。B.  通过ssh连接ecs-HA1安装nginx、keepalived 软件包及相关依赖包。 # yum install nginx   keepalived -y C.  编辑nginx配置文件。 # vim   /etc/nginx/nginx.conf user root;worker_processes 1;#error_log   logs/error.log;#error_log   logs/error.log notice;#error_log   logs/error.log info;#pid logs/nginx.pid;events {worker_connections   1024;}http {include mime.types;default_type   application/octet-stream;#log_format main   '$remote_addr - $remote_user [$time_local] "$request" '# '$status   $body_bytes_sent "$http_referer" '#   '"$http_user_agent" "$http_x_forwarded_for"';#access_log   logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log   logs/host.access.log main;location / {root html;index index.html   index.htm;}#error_page 404   /404.html;# redirect server error   pages to the static page /50x.htmlerror_page 500 502 503   504 /50x.html;location = /50x.html {root html;}}} D.   编辑index.html文件内容以演示访问效果 # vim   /usr/share/nginx/html/index.html <html><head><title>ECS-HA</title></head><body><h1>Welcome   to <strong>ECS-HA1</strong></body></html> E.  设置nginx服务开机自启动并启动服务 # systemctl   enable nginx# systemctl   start nginx.serviceF.  Nginx单节点访问测试。G.  编辑keepalived配置文件。 # vim   /etc/keepalived/keepalived.conf ! Configuration File for   keepalivedglobal_defs {router_id master-node}vrrp_script   chk_http_port {script   "/etc/keepalived/chk_nginx.sh"interval 2weight -5fall 2rise 1}vrrp_instance VI_1 {state MASTERinterface eth0mcast_src_ip   192.168.0.10virtual_router_id 51priority 101advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.0.100}track_script {chk_http_port}} H.  编辑nginx监控脚本。 # vim   /etc/keepalived/chk_nginx.sh #!/bin/bashcounter=$(ps -C nginx   --no-heading|wc -l)if [ "${counter}"   = "0" ]; thensystemctl start   nginx.servicesleep 2counter=$(ps -C nginx   --no-heading|wc -l)if [   "${counter}" = "0" ]; thensystemctl stop   keepalived.servicefifi  chmod +x   /etc/keepalived/chk_nginx.sh I.  设置keepalived服务开机自启动并启动服务 # systemctl enable   keepalived# systemctl start   keepalived.service (2)、 ecs-HA2:先将弹性公网IP XXXXXXXX从ecs-HA1解绑定。 A.   绑定弹性公网IP xxxxxxxx到ecs-HA2。登录华为云官网,按照网站导航——控制台à服务列表à计算à弹性云服务器,找到ecs-HA2。 B.  通过ssh连接ecs-HA1安装nginx、keepalived 软件包及相关依赖包。 # yum install nginx keepalived   -y C.   编辑nginx配置文件(也可以从ecs-HA1上复制一份)。 #   vim /etc/nginx/nginx.conf user root;worker_processes 1;#error_log   logs/error.log;#error_log   logs/error.log notice;#error_log   logs/error.log info;#pid logs/nginx.pid;events {worker_connections   1024;}http {include mime.types;default_type   application/octet-stream;#log_format main   '$remote_addr - $remote_user [$time_local] "$request" '# '$status   $body_bytes_sent "$http_referer" '#   '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log   main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log   logs/host.access.log main;location / {root html;index index.html   index.htm;}#error_page 404   /404.html;# redirect server error   pages to the static page /50x.htmlerror_page 500 502 503   504 /50x.html;location = /50x.html {root html;}}} D.   编辑index.html文件内容以演示访问效果 # vim   /usr/share/nginx/html/index.html <html><head><title>ECS-HA</title></head><body><h1>Welcome   to <strong>ECS-HA2</strong></body></html>  E.   设置nginx服务开机自启动并启动服务 # systemctl   enable nginx# systemctl   start nginx.service F.   Nginx单节点访问测试。 G.   编辑keepalived配置文件。 #   vim /etc/keepalived/keepalived.conf ! Configuration File   for keepalivedglobal_defs {router_id master-node}vrrp_script   chk_http_port {script   "/etc/keepalived/chk_nginx.sh"interval 2weight -5fall 2rise 1}vrrp_instance VI_1 {state BACKUPinterface eth0mcast_src_ip   192.168.0.20virtual_router_id 51priority 101advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.0.100}track_script {chk_http_port}} H.   编辑nginx监控脚本并添加执行权限(也可以从ecs-HA1上复制一份) # vim   /etc/keepalived/chk_nginx.sh #!/bin/bashcounter=$(ps -C nginx   --no-heading|wc -l)if [   "${counter}" = "0" ]; thensystemctl start   nginx.servicesleep 2counter=$(ps -C nginx   --no-heading|wc -l)if [   "${counter}" = "0" ]; thensystemctl stop   keepalived.servicefifi  chmod +x   /etc/keepalived/chk_nginx.sh  设置keepalived服务开机自启动并启动服务 # systemctl enable   keepalived# systemctl start   keepalived 2.2 、绑定虚拟IP。先将弹性公网IP xxxxxxxx从ecs-HA2解绑定。登录华为云官网,按照网站导航——控制台à服务列表à网络à虚拟私有云àvpc-HAà子网àsubnet-HAà虚拟IP。 (1)、绑定虚拟IP到弹性云服务器ecs-HA1。 (2)、 绑定虚拟IP到弹性云服务器ecs-HA2。 (3)、 绑定虚拟IP到弹性公网IP xxxxxxx。 3 、结果验证分别重启ecs-HA1和ecs-HA2,通过华为云官网用户控制台远程登录到ecs-HA1上按以下操作进行验证。3.1、查看虚IP是否有绑定到ecs-HA1的eth0网卡上 # ip addr show  3.2 、通过浏览器访问弹性公网IP看是否可以访问到ecs-HA1节点上的WEB测试页。3.3、手动停止主服务器(ecs-HA1)上的keepalived服务,然后查看从服务器(ecs-HA2)是否有接管VIP;通过浏览器访问弹性公网IP看是否可以访问到ecs-HA2节点上的WEB测试页。 # systemctl stop   keepalived.service 通过以上验证信息可以看出我们的高可用WEB负载均衡功能正常。
  • 【VPN锦囊 】基于OpenVPN+CC实现跨Region访问VPC资源
    作者 : 华为云CC服务团队1      网络拓扑结构拓扑结构如图                                              1.1      组网规划北京4 VPC:同VPC内两个子网网段192.168.0.0/24、192.168.30.0/24OpenVPN主机:属于北京四VPC,双网卡配置、其中一个网卡绑定EIPSSL Server:OpenVPN提供服务,下发DHCP 10.8.0.0/16,通过入云接入服务香港VPC:客户员工希望跨Region访问的VPC,VPC子网10.0.0.0/241.2      实现目标个人PC可通过OpenVPN客户端连接Server端通过建立的SSLVPN练练可访问Server所在VPC资源;可通过CC访问云上其它Region的VPC资源2      Server端部署2.1      基础环境建设按照图示拓扑,在北京四创建VPC,指定相应子网,创建ECS。推荐ECS规格4vCPUs | 8GB以上,选择两块网卡分别隶属于不同的子网,主网关绑定EIP。完成CC服务创建,按照子网规划添加网络实例和路由,完成基础配置后开始部署OpenVPN Server,部署前请在安全组规则中放通所需协议端口。2.2      安装Server端通过yum install安装最新版本的server和密钥软件,本实例按照软件版本分别为openvpn-2.4.9-1.el8.x86_64与easy-rsa-3.0.7-1.el8.noarch。yum 安装命令如下:yum -y install openvpnyum -y install easy-rsa2.3      配置证书密钥cp -r /usr/share/easy-rsa/3.0.7 /etc/openvpn/server/easy-rsacd /etc/openvpn/server/easy-rsa./easyrsa init-pki     #初始化pki目录./easyrsa build-ca nopass           #创建CA证书./easyrsa build-server-full server nopass     #生成服务器端秘钥./easyrsa build-client-full client1 nopass    #生成客户端密钥./easyrsa build-client-full client2 nopass    #可选,创建第二个客户端证书./easyrsa gen-dh             #生成Diffie-Hellman文件openvpn --genkey --secret ta.key  #HMAC防火墙,防止DDOS攻击2.4      创建目录与配置文件创建日志存放目录mkdir -p /var/log/openvpn/创建用户管理目录mkdir -p /etc/openvpn/server/user配置权限chown openvpn:openvpn /var/log/openvpn在/etc/openvpn/server目录下使用vi service.conf创建配置文件,并添加配置信息如下################################################## This file is for the server side              ## of a many-clients <-> one-server              ## OpenVPN configuration.                        ##                                               ## Comments are preceded with '#' or ';'         ##################################################port 2238proto udpdev tunuser rootgroup rootca /etc/openvpn/server/easy-rsa/pki/ca.crtcert /etc/openvpn/server/easy-rsa/pki/issued/server.crtkey /etc/openvpn/server/easy-rsa/pki/private/server.keydh /etc/openvpn/server/easy-rsa/pki/dh.pemtls-auth /etc/openvpn/server/easy-rsa/ta.key 0 auth-user-pass-verify /etc/openvpn/server/user/checkpsw.sh via-envscript-security 3verify-client-certusername-as-common-name client-to-clientduplicate-cnserver 10.8.0.0 255.255.0.0 push "route 192.168.30.0 255.255.255.0"push "redirect-gateway def1"  “慎用”push "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4" compress lzoauth SHA512cipher AES-256-CBC;ncp-ciphers "AES-256-GCM:AES-128-GCM" keepalive 10 120  max-clients 100persist-keypersist-tunverb 3log /var/log/openvpn/server.loglog-append /var/log/openvpn/server.logstatus /var/log/openvpn/status.log2.5      设置环境变量注意!这里创建完配置文件后,需要做个配置文件的软连接,因为当前版本的 openvpn systemd 启动文件中读取的是.service.conf配置。cd /etc/openvpn/server/ln -sf server.conf .service.confCentos默认没有使能MD5,Centos 7移除了Openssl的MD5支持,openssl仍然默认以md5作为散列算法并且可以正确识别md5散列算法export OPENSSL_ENABLE_MD5_VERIFY=1export NSS_HASH_ALG_SUPPORT=+MD52.6      创建用户密码文件格式是用户、密码以空格分割即可tee /etc/openvpn/server/user/psw-file << EOFmytest mytestpassEOFchmod 660 /etc/openvpn/server/user/psw-filechown root:root /etc/openvpn/server/user/psw-file 不校验密码检查脚本vi /etc/openvpn/server/user/checkpsw.sh#!/bin/bashexitchmod o+x /etc/openvpn/server/user/checkpsw.sh2.7      启动server及调试查看service名rpm -ql openvpn | grep service/usr/lib/systemd/system/openvpn-client@.service/usr/lib/systemd/system/openvpn-server@.service启动systemctl start openvpn-server@.service.service echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf  #开启路由转发能力/sur/sbin/sysctl –p  #验证开启功能检查服务状态systemctl status openvpn-server@.service.service查看服务日志vim /var/log/openvpn/server.log2.8      选择模式[主推]代理模式:在openvpn server虚拟机中,配置iptables规则,需要进行源地址转换策略添加。openvpn server虚拟机网卡不用关闭源目的地址检查透传模式:设置VPC路由,找到openvpn-server-vpc 路由表,添加vpc路由openvpn server:需要关闭openvpn server 网卡的源目的地址检测。2.9      Server端策略路由配置策略路由表/etc/iproute2/rt_tables配置策略路由/etc/rc.local查看策略路由source /etc/rc.local 查看结果2.10   CC配置更新:北京4 云连接实例,增加10.8.0.0/16 为openvpn tunnel网络路由3      Client端部署3.1      Linux client配置执行yum  -y install openvpn,软件包版本openvpn-2.4.9-1.el8.x86_64,依赖包:pkcs11-helper-1.22-7.el8.x86_64。将server端 /etc/openvpn/server目录及子目录下的ca.crt、client1.crt、client1.key、ta.key文件下载到client虚拟机 /etc/openvpn/目录,122.112.*.*为client 虚拟机公网地址/etc/openvpn/client.ovpn 可以自己写一个,也可以参考下面内容 client     #客户端标识dev tun      proto udp   auth-user-passremote 121.36.*.* 2**8  server端EIP地址及端口resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crtkey client1.keyremote-cert-tls server;ns-cert-type servercomp-lzoauth SHA512cipher AES-256-CBCtls-auth ta.key 1verb 3执行启动openvpn client端的命令,如下:openvpn --daemon --config /etc/openvpn/client.ovpn  --log-append /var/log/openvpn.log  在上述文件夹中写一个passwd.txt,第一行输入用户名,第二行输入密码。修改client.ovpn中auth-user-pass –> auth-user-pass passwd.txt 回显日志信息 /var/log/openvpn.log 查看路由信息:Linux client 虚拟机DNS 解析地址需要修改3.2      Windows client配置上传软件包:openvpn-install-2.4.9-I601-Win10将软件包安装后,找到其文件位置:将模板文件C:\Program Files\OpenVPN\sample-config\sample.ovpn 复制到C:\Program Files\OpenVPN\config,重命名为client.ovpn 进行修改文件内容,  配置文件内容:和linux client客户端配置文件内容一致完成虚拟网卡命名:控制面板 -> 所有控制面板项-> 网络连接,将新添加的虚拟网卡,命名为tap2配置DNS地址解析及结果验证:在主网卡上进行,以及需要重启虚拟机,打开客户端软件,进行连接,成功标志查看路由信息:会把默认流量通过出接口重定向公网出口,默认路由分为0.0.0.0/1和128.0.0.0/1两个段,本端隧道地址:10.8.0.14,对端隧道地址:10.8.0.13<测试没什么作用,不影响。4      附件-配置参数说明4.1      Server配置参数解释/etc/openvpn/server/server.conf文件client-to-client如果允许openvpn客户端之间通信需要配置这个选项,如果不允许openvpn客户端之间互相通信可以注释掉这个配置选项。duplicate-cn允许一个openvpn客户端账号同时多个系统/电脑登陆。类似于一个qq账号同时手机和电脑登陆。只不过这个功能更厉害,是多个电脑同时登陆。 如果想一个客户端只允许同时在线一个客户端,可以注释掉这个配置max-clients 100定义最大客户端并发连接数量keepalive 10 120openvpn server 10秒尝试连接一次客户端,检查客户端是否存活。如果OpenVPN server连续120秒没有收到客户端回复则认为客户端掉线。 ifconfig-pool-persist ipp.txtopenvpn客户端登陆的账号和分配的IP记录在这个文件中。这样客户端再次登陆时可以使用相同的IP地址。ipp.txt文件默认10分钟回写一次,如果想要两秒回写,那么在后面加个2:ifconfig-pool-persist ipp.txt 2ipp.txt记录格式:CN用户名,子网网络地址。这个子网网络地址一般都是30位地址。例如:10.8.0.4,这个网络地址的第一个IP是10.8.0.5,这是这个子网段的dhcp,然后下一个才是客户端的IP,也就是10.8.0.6 comp-lzo数据传输之前使用lzo压缩数据,这样节约链路带宽,但是会加大服务器的CPU开销。persist-key通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys。persist-tun通过keepalive检测超时后,重新启动VPN,一直保持tun或者tap设备是linkup的。否则网络连接,会先linkdown然后再linkup。proto udpopenvpn客户端和服务器数据传输使用udp协议。使用什么协议根据具体应用结合分析。一般语音会使用udp,如果使用tcp会因为 丢包重传而出现杂音现象。在多机房数据备份时建议使用tcp协议,不建议使用udp,因为udp协议没有重传机制。port 2238openvpn客户端连接openvpn server时的openvpn server的服务端口。类似ssh的22端口。默认是:1194,建议修改成10000以上的自定义端口。dev tun定义openvpn运行时使用哪一种模式,openvpn有两种运行模式一种是tap模式,一种是tun模式。 tap模式也就是桥接模式,通过软件在系统中模拟出一个tap设备,该设备是一个二层设备,同时支持链路层协议。 tun模式也就是路由模式,通过软件在系统中模拟出一个tun路由,tun是ip层的点对点协议。 一般网络电话等语音通信因为运营商屏蔽而使用openvpn时会使用tap,如果日常使用基本区别不大。verb 3日志冗余级别。 ca /etc/openvpn/keys/ca.crtcert /etc/openvpn/keys/server.crtkey /etc/openvpn/keys/server.key # This file should be kept secretdh /etc/openvpn/keys/dh1024.pemca定义ca证书文件路径,cert定义服务器证书路径,key定义服务器端key文件,dh定义哈夫曼散列值文件。这些文件可以用相对路径或绝对路径定义。auth SHA512认证算法cipher AES-256-CBC加密算法server 10.8.0.0 255.255.255.0定义openvpn链接后客户端和服务器通信使用的局域网IP的地址池范围。可以自定义。push “redirect-gateway def1”使客户端改变默认路由指向push “route 192.168.10.0 255.255.255.0”向客户端推送的路由信息,假如客户端的IP地址为10.8.0.2,要访问192.168.10.0网段的话,使用这条命令就可以了。tls-auth /etc/openvpn/keys/ta.key 0开启TLS,使用ta.key防御攻击。服务器端的第二个参数值为0,客户端的为1。user nobodygroup nogroup定义openvpn运行时使用的用户及用户组log-append openvpn.log记录日志,每次重新启动openvpn后追加原有的log信息。mute 20重复日志记录限额log /var/log/openvpn/server.loglog-append /var/log/openvpn/server.logstatus /var/log/openvpn/status.log4.2      Client 配置参数解释client定义这是一个client,配置从server端pull拉取过来,如IP地址,路由信息之类,Server使用push指令推送过来。dev tun定义openvpn运行的模式,这个地方需要严格和Server端保持一致。proto tcp定义openvpn使用的协议,这个地方需要严格和Server端保持一致。remote 121.36.88.201 2238设置Server的IP地址和端口,这个地方需要严格和Server端保持一致。 如果有多台机器做负载均衡,可以多次出现remote关键字。可以使用域名remote-random随机选择一个Server连接,否则按照顺序从上到下依次连接。该选项默认不启用。resolv-retry infinite始终重新解析Server的IP地址(如果remote后面跟的是域名),保证Server IP地址是动态的使用DDNS动态更新DNS后,Client在自动重新连接时重新解析Server的IP地址。这样无需人为重新启动,即可重新接入VPN。nobind定义在本机不邦定任何端口监听incoming数据。persist-keypersist-tunca ca.crt定义CA证书的文件名,用于验证Server CA证书合法性,该文件一定要与服务器端ca.crt是同一个文件。cert client1.crt定义客户端的证书文件。key client1.key定义客户端的密钥文件。ns-cert-type serverServer使用build-key-server脚本生成的,在x509 v3扩展中加入了ns-cert-type选项。防止client使用他们的keys + DNS hack欺骗vpn client连接他们假冒的VPN Server,因为他们的CA里没有这个扩展。comp-lzo启用允许数据压缩,这个地方需要严格和Server端保持一致。auth SHA512认证算法cipher AES-256-CBC加密算法tls-auth ta.key 1开启TLS,使用ta.key防御攻击。服务器端的第二个参数值为0,客户端的为1。verb 3设置日志记录冗长级别。
总条数:150 到第
上滑加载中