云服务器内容精选

  • 信息收集 在配置静态IP地址之前,需要获取当前Linux实例的IP地址、子网掩码和网关信息,请按照以下步骤获取: 登录弹性云服务器。 执行以下命令,查看实例的IP地址和子网掩码。 ip a 如下图显示实例当前的IP地址及网段为:172.19.126.101/15 ifconfig -a 如下图显示实例当前的子网掩码为:255.254.0.0 执行以下命令,查看实例当前的网关和默认路由信息。 ip route 如下图显示实例当前的网关为:172.10.0.1,默认路由使用eth0网卡。
  • Centos 7/Centos 8/HCE2.0 Centos 7、Centos 8和HCE 2.0公共镜像均默认使用NetworkManager作为网络服务,DNS配置信息由DHCP获取。以网卡eth0为例配置静态IP的操作步骤如下: 执行以下命令修改网卡配置文件。 vim /etc/sysconfig/network-scripts/ifcfg-eth0 将BOOTPROTO字段修改为static,并将信息收集中获取的IP地址、子网掩码、网关地址填写到该文件中,DNS信息根据业务实际情况写入,如果使用华为云默认的DNS可以参考华为云提供的内网DNS地址是多少?获取,修改后的内容如下所示: DEVICE="eth0" BOOTPROTO="static" ONBOOT="yes" TYPE="Ethernet" STARTMODE="auto" USERCTL="no" IPADDR="172.19.126.101" NETMASK="255.254.0.0" GATEWAY="172.10.0.1" PEERDNS="no" DNS1="100.125.1.250" DNS2="100.125.129.250" 修改完成后保存退出。 执行以下命令使配置生效。 执行以下命令重新加载网络配置。 nmcli c reload 执行以下命令查询具体的网络连接名称。 nmcli c s 如下图,eth0的链接名称是System eth0。 执行以下命令重新激活链接。 nmcli c up 'System eth0' 执行以下命令确认配置是否成功。 ip a 如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。 cat /etc/resolv.conf 如果回显nameserver显示与配置的DNS地址一致则代表DNS配置成功。
  • Ubuntu20/22 Ubuntu20、Ubuntu22公共镜像均默认使用NetworkManager作为网络服务,DNS配置信息由DHCP获取,由systemd-resolved服务维护。以网卡eth0为例配置静态IP的操作步骤如下: 执行以下命令修改网卡配置文件。 vim /etc/netplan/01-netcfg.yaml 将信息收集中获取的IP地址及网段、网关地址填写到该文件中,DNS信息根据业务实际情况写入,如果使用华为云默认的DNS可以参考华为云提供的内网DNS地址是多少?获取,修改后的内容如下图所示: network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: true dhcp4: no addresses: [172.19.126.101/15] gateway4: 172.10.0.1 nameservers: addresses: [100.125.1.250,100.125.129.250] eth1: dhcp4: true eth2: dhcp4: true eth3: dhcp4: true eth4: dhcp4: true 执行以下命令使IP配置生效。 netplan apply 执行以下命令确认配置是否成功。 ip a 如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。 resolvectl 如果回显中对应网卡显示的DNS与配置一致则配置成功。
  • 请求示例 批量创建3个辅助弹性网卡,虚拟子网id为115b5a84-31dc-4b1e-8de9-bf5a75d2c566,宿主网络接口id为8b6c46f1-c68d-4bba-a922-2d97da185af5,关联安全组6727c950-9f01-47a2-a7aa-7d3686c4c95b。 POST https://{Endpoint}/v3/8c6fb137a48a428aaf9a0229dca4edb3/vpc/sub-network-interfaces/batch-create { "sub_network_interface" : { "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5" }, "count" : 3 }
  • 响应示例 状态码为 201 时: Created { "sub_network_interfaces" : [ { "id" : "d1f8094c-bb3d-43c5-b625-52dd43eab451", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.245", "ipv6_ip_address" : "2001:db8:a583:5d:11e8:b908:4fe6:9802", "mac_address" : "fa:16:3e:97:1f:f5", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 41, "tags" : [ ] }, { "id" : "0dce57ab-00de-443b-a7fe-e8ff68bd95bc", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.75", "ipv6_ip_address" : "2001:db8:a583:5d:6c22:8ea2:c061:a802", "mac_address" : "fa:16:3e:5a:61:84", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 42, "tags" : [ ] }, { "id" : "1eca03ee-c0f1-4434-9c4c-87fe4426718c", "project_id" : "8c6fb137a48a428aaf9a0229dca4edb3", "virsubnet_id" : "115b5a84-31dc-4b1e-8de9-bf5a75d2c566", "private_ip_address" : "192.168.6.194", "ipv6_ip_address" : "2001:db8:a583:5d:2b45:a3ae:17db:ec02", "mac_address" : "fa:16:3e:b8:ec:6d", "parent_device_id" : "11185aa2-4e08-4d9e-87ed-84817280eaa7", "security_groups" : [ "6727c950-9f01-47a2-a7aa-7d3686c4c95b" ], "vpc_id" : null, "description" : "", "parent_id" : "8b6c46f1-c68d-4bba-a922-2d97da185af5", "vlan_id" : 43, "tags" : [ ] } ], "request_id" : "344544c1-d053-4ad3-b673-900a0e01db7e" }
  • 设置云服务器获取IPv6地址超时时间 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考本节操作设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 CentOS 6.x: 执行以下命令编辑“dhclient.conf”文件。 vi /etc/dhcp/dhclient.conf 按“i”进入编辑模式,在文件中增加timeout属性。 timeout 30; 输入:wq保存后退出。 Debian 7.5: 执行以下命令编辑“networking”文件。 vi /etc/init.d/networking 按“i”进入编辑模式,增加延迟命令timeout,修改点如下图所示。 图34 修改点1 图35 修改点2 Debian 8.2.0/8.8.0 执行以下命令编辑“network-pre.conf”文件。 vi /lib/systemd/system/networking.service.d/network-pre.conf 按“i”进入编辑模式,在文件中增加timeout属性。 [Service] TimeoutStartSec=30 Debian 9.0 执行以下命令编辑“networking.service”文件。 vi /etc/system/system/network-online.target.wants/networking.service 按“i”进入编辑模式,将TimeoutStartSec=5min改为TimeoutStartSec=30。
  • 检查云服务器网络配置状态 执行以下命令,检查云服务器网络服务状态是否正常。 systemctl status NetworkManager 如果网络服务状态正常,则执行结果中服务处于active (running)状态且是enable的。 图30 网络服务器状态 执行以下命令,检查云服务器网卡获取IP地址的方式。 cat /etc/sysconfig/network-scripts/ifcfg-ethx “ethx”需替换为具体的网卡,例如eth0。 该命令以CentOS 7为例进行介绍。 图31 网卡获取IP地址的方式 如果BOOTPROTO字段的值为dhcp:表示云服务器网卡通过动态DHCP获取IP地址,继续执行3。 如果BOOTPROTO字段的值为static:表示云服务器网卡通过静态配置的方式设置网络,继续执行4。 如果云服务器网卡通过动态DHCP获取IP地址,则需要执行以下命令,确认DHCP相关进程是否正常。 systemctl status NetworkManager 回显中包含相关网卡的dhclient进程则代表正常。 图32 检查DHCP进程 如果云服务器网卡通过静态配置的方式设置网络,则需要执行以下命令,确认IP地址配置是否生效。 ip a 回显中IP配置字段是forever则代表配置已经生效。 图33 检查静态配置
  • Linux操作系统(自动配置启用IPv6) ipv6-setup-xxx工具能为开启IPv6协议栈的Linux操作系统自动配置动态获取IPv6地址。其中,xxx表示工具系列:rhel或debian。 您也可以参考Linux操作系统(手动配置启用IPv6)手动配置启用IPv6。 ipv6-setup-xxx工具运行时会自动重启网络服务,导致网络短暂不可用。 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
  • Linux操作系统(手动配置启用IPv6) CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 执行如下命令,查看当前云服务器是否启用IPv6。 ip addr 如果没有开启IPv6协议栈,则只能看到IPv4地址,如下图所示,请参考2先开启IPv6协议栈。 图20 未开启IPv6协议栈 如果已开启IPv6协议栈,则可以看到LLA地址(fe80开头)。 图21 已开启IPv6协议栈 如果已开启IPv6协议栈并且已获取到IPv6地址,则会看到如下地址: 图22 已开启IPv6协议栈并且已获取到IPv6地址 Linux公共镜像均已开启IPv6协议栈,如图21所示; 开启Linux云服务器IPv6协议栈。 执行如下命令,确认内核是否支持IPv6协议栈。 sysctl -a | grep ipv6 如果有输出信息,表示内核支持IPv6协议栈。 如果没有任何输出,说明内核不支持IPv6协议栈,需要执行2.b加载IPv6模块。 执行以下命令,加载IPv6模块。 modprobe ipv6 修改“/etc/sysctl.conf”配置文件,增加如下配置: net.ipv6.conf.all.disable_ipv6=0 保存配置并退出,然后执行如下命令,加载配置。 sysctl -p 手动配置启用IPv6。操作系统不同,步骤有所差别。 Ubuntu 18.04/20.04操作系统云服务器配置动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图23 查询配置文件名 执行以下命令,编辑“01-network-manager-all.yaml”配置文件。 vi 01-network-manager-all.yaml 在“01-network-manager-all.yaml”下增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图24 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply Ubuntu 22.04操作系统云服务器配置动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图25 查询配置文件名 执行以下命令,编辑“01-netcfg.yaml”配置文件。 vi 01-netcfg.yaml 在“01-netcfg.yaml”中增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图26 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply 执行以下命令,编辑“/etc/NetworkManager/NetworkManager.conf”文件。 vi /etc/NetworkManager/NetworkManager.conf 在“NetworkManager.conf”中增加如下内容,注意文件格式及缩进: [main] plugins=ifupdown,keyfile dhcp=dhclient [ifupdown] managed=true [device] wifi.scan-rand-mac-address=no 图27 修改结果 执行以下命令,使配置生效。 systemctl restart NetworkManager Debian操作系统云服务器配置动态获取IPv6。 编辑“/etc/network/interfaces”文件,使之包含以下内容: auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp pre-up sleep 3 如果有多个网卡,则在“/etc/network/interfaces”文件中,增加对应网卡的配置,以eth1为例,需要增加: auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp pre-up sleep 3 执行如下命令重启网络服务。 service networking restart 如果将网卡进行down/up操作之后无法获取IPv6地址,也可以通过此命令重启网络服务。 执行步骤1检查是否已开启动态IPv6。 CentOS/EulerOS/Fedora操作系统云服务器配置动态获取IPv6。 编辑主网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-eth0”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes 编辑“/etc/sysconfig/network”,按如下所示添加或修改以下行。 NETWORKING_IPV6=yes CentOS 6系列从网卡需要编辑对应的配置文件,以eth1为例,编辑“/etc/sysconfig/network-scripts/ifcfg-eth1”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes CentOS 6.3系统中默认ip6tables会过滤dhcpv6-client请求,所以CentOS 6.3除了需要编辑“ifcfg-eth*”文件外,还需要额外添加一条允许dhcpv6-client请求的ip6tables规则。操作如下: 执行以下命令,添加ip6tables规则。 ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT 执行以下命令,保存ip6tables规则。 service ip6tables save 图28 命令示例 (可选配置)CentOS 7/CentOS 8系列需要将扩展网卡的IPv6 LLA地址模式修改为EUI64。 执行如下命令查看网卡信息。 nmcli con 图29 查看网卡信息 将eth1的IPv6 LLA地址模式按以下命令修改为EUI64: nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64 CentOS不同系列,网卡信息存在差异,命令中的“Wired connection 1”需要根据实际查询的网卡信息的“NAME”列进行替换。 通过ifconfig命令将eth1进行down/up操作。 ifdown eth1 ifup eth1 重启网络服务。 CentOS 6系列执行以下命令,重启网络服务。 service network restart CentOS 7/EulerOS/Fedora系列执行以下命令,重启网络服务。 systemctl restart NetworkManager 执行步骤1检查是否已开启动态IPv6。 SUSE/openSUSE/CoreOS操作系统云服务器配置动态获取IPv6。 SUSE 11 SP4不支持IPv6自动获取。 SUSE 12 SP1、SUSE 12 SP2无需特殊配置。 openSUSE 13.2、openSUSE 42.2无需特殊配置。 CoreOS 10.10.5无需特殊配置。
  • 操作场景 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址都可以进行内网/公网访问。 按照约束与限制中的网络环境要求创建的云服务器,有些不能动态获取到IPv6地址,需要进行相关配置才行。如果云服务器使用的是公共镜像,则支持情况如下: Windows公共镜像默认已开启IPv6动态获取功能,无需配置,文中的Windows 2012操作系统和Windows 2008操作系统部分供您验证、参考。 Linux公共镜像开启动态获取IPv6功能时,需要先判断是否支持IPv6协议栈,再判断是否已开启动态获取IPv6。目前,所有Linux公共镜像均已支持IPv6协议栈。
  • 约束与限制 请确保云服务器所在的子网已开启IPv6功能。 若云服务器所在子网未开启IPv6功能,需参考开启云服务器的IPv6功能进行开启,开启后不允许关闭。 请确保云服务器规格支持IPv6功能。 不同区域、不同可用区支持IPv6双栈的云服务器规格不同。ECS是否支持IPv6双栈,请选择区域、可用区后,以控制台的显示为准,查询方法如下图所示。 图1 查询支持IPv6的ECS规格 当ECS规格列表中包含“IPv6”参数,且取值为“是”时,表示该ECS规格支持IPv6。 规格是否支持IPv6由“可用区”和“规格”两个参数决定。 如果设置“可用区”后,规格列表中不显示“IPv6”参数或参数值为“否”,表示当前规格不支持IPv6。 请确保创建云服务器时已选择“自动分配IPv6地址”。 图2 选择“自动分配IPv6地址” 云服务器启动之后动态插拔的网卡不支持IPv6地址动态获取功能。 仅弹性云服务器支持IPv6双栈,裸金属服务器不支持。 同一个网卡上,只能绑定一个IPv6地址。 云服务器网络配置需处于正常状态。 检查网络配置是否正常的方法,请参见检查云服务器网络配置状态。 如果网络配置不正常,请提交工单获取技术支持。
  • 操作导航 Windows系统:本文以Windows 2012版本、Windows 2008版本为例,介绍Windows操作系统启用IPv6的方法,如表1所示。 Linux系统:本文提供了自动配置、手动配置两种方式启用IPv6,推荐您使用自动配置方法,如表1所示。 对于CentOS 6.x和Debian操作系统,云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,此时您可以参考设置云服务器获取IPv6地址超时时间操作。 表1 不同操作系统启用IPv6操作指导 操作系统 方式 操作指导 Windows 2012 自动配置启用IPv6 Windows 2012操作系统 Windows 2008 自动配置启用IPv6 Windows 2008操作系统 Linux 自动配置启用IPv6(推荐) Linux操作系统(自动配置启用IPv6) Linux 手动配置启用IPv6 Linux操作系统(手动配置启用IPv6)
  • 切换须知 切换虚拟私有云支持在开机状态下操作,但是过程中会导致云服务器网络中断。 若弹性云服务器处于开机状态,可能由于网卡有流量访问而导致切换虚拟私有云失败,建议您稍后重试或关机后再进行切换。 切换虚拟私有云后,云服务器子网、私有IP地址、MAC地址、操作系统内网卡名称都会发生改变。 切换虚拟私有云后,请重新配置源/目的检查和虚拟IP地址。 虚拟私有云切换完成后,与网络配置相关的应用软件需要重新配置。与网络相关的服务也需要重新配置,例如ELB、VPN、NAT、DNS等。
  • 约束限制 仅支持处于“运行中”或“关机”状态的弹性云服务器执行此操作。 仅支持单网卡切换虚拟私有云。 切换虚拟私有云前如果重装/切换过云服务器的操作系统,请先登录云服务器,验证重装/切换时设置的密码或密钥是否注入成功。 如果成功登录云服务器,说明密码或密钥注入完成,可继续执行其他操作。 否则说明系统正在注入密码或密钥信息,在此期间请勿对云服务器执行其他操作。 切换虚拟私有云过程中,请勿执行绑定、解绑或更换弹性公网IP等操作,若执行会提示权限不足,无需处理。 如果网卡上有IPv6地址,无法切换虚拟私有云。
  • 响应消息 响应参数如表2所示。 表2 响应参数 参数 参数类型 描述 interfaceAttachments Array of objects 云服务器网卡信息列表,详情请参见表3。 attachableQuantity Object 云服务器可挂载网卡数,详情请参见表4 表3 interfaceAttachments字段数据结构说明 参数 参数类型 描述 port_state String 网卡端口状态。 fixed_ips Array of objects 网卡私网IP信息列表,详情请参见表5。 net_id String 网卡端口所属网络ID(network_id)。 port_id String 网卡端口ID。 mac_addr String 网卡Mac地址信息。 delete_on_termination Boolean 卸载网卡时,是否删除网卡。 true: 删除; false: 不删除 driver_mode String 网卡的驱动类型,预留字段,默认取值为virtio。 min_rate Integer 网卡带宽下限。 multiqueue_num Integer 队列个数。 取值范围为 1, 2, 4, 8, 16,28。 pci_address String 弹性网卡在Linux GuestOS里的BDF号。 说明: 网卡不支持时,返回为空。 表4 attachableQuantity字段数据结构说明 参数 参数类型 描述 free_nic Integer 云服务器剩余可挂载网卡数量。 表5 fixed_ips字段数据结构说明 参数 参数类型 描述 subnet_id String 网卡私网IP对应子网信息。 ip_address String 网卡私网IP信息。