分配到云服务器
功能概述
公网 EIP 绑定至云服务器时,支持 外部绑定 与 内部绑定。
-
外部绑定
是指在云资源外部通过网络地址转换方式将 EIP 地址转换成用户私有网络地址或基础网络地址,从而实现云资源与公网互通。通过外部绑定方式分配 EIP 给云资源后,便可实现云资源公网访问,无须再做额外配置。
-
内部绑定
是指通过在云服务器内部添加一块可连接到公网网关的网卡来绑定公网 IP。用户需要先申请公网 IP 并分配给云服务器,然后手动配置网卡 IP 地址及相关路由,以实现云服务器的公网访问。
综上所述,内部绑定仅支持绑定至云服务器,外部绑定则支持将 EIP 绑定到云服务器、NAT 网关、负载均衡器等云资源上。
注意事项
EIP 不支持 跨区域 绑定,支持 跨可用区 绑定。同时,一个 EIP 只能绑定一个云资源。同时,还需注意以下事项。
-
外部绑定
-
申请 EIP 时,指定绑定方式为
外部绑定的 EIP,才支持外部绑定。 -
绑定 EIP 会给云服务器或负载均衡器增加默认安全组。
-
私有网络内的负载均衡器或云服务器绑定了 EIP 后,外网访问将使用 EIP 作为进出网关。如果同时配置了 VPC 的端口转发规则,端口转发规则将不再有效。
-
-
内部绑定
-
申请 EIP 时,指定绑定方式为
内部绑定的 EIP,才支持内部绑定。 -
内部绑定 EIP 时,只允许将其绑定至云服务器的主网卡,且同一张主网卡仅支持绑定一个 EIP。
-
应用至该主网卡的安全组规则,会同时作用于该 EIP。
-
当私有网络内的云服务器绑定了 EIP 后,外网访问将使用 EIP 作为进出网关。如果同时配置了 VPC 的端口转发规则,端口转发规则将不再有效。
-
-
如果有多台云服务器需要访问公网,可以参考云服务器绑定 FAQ,使得多台云服务器通过同一个 EIP 来访问公网。
内部绑定公网 IPv4
步骤一:分配 EIP 给云服务器
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 网络服务 > 弹性公网 EIP,进入公网 IPv4 管理页面。
-
在 IP 列表中,右键点击目标公网 IP 地址,弹出快捷菜单,选择分配到云服务器。
说明 公网 IP 的状态为
可用时,才可执行该操作。 -
弹出云服务器选择对话框,用户根据需求,选择待绑定的云服务器后,点击提交,将当前公网 IP 与所选云服务器进行绑定。
-
系统返回至 IP 列表页面,待公网 IP 的状态更新为
已分配,则绑定成功。
步骤二:配置云服务器网络
分配 EIP 后,还需要手动为云服务器内的公网网卡进行网络配置,包括 IP 地址配置及路由配置。配置完成后,才能实现云服务器的公网通信。
-
Ubuntu 系统
-
登录已分配 EIP 的云服务器,执行以下命令,可以看到云服务器内多出一块还未分配 IP 地址的公网网卡。
ip a
如上图所示,云服务器中一共有两块网卡,其中
eth0为主网卡,eth1为步骤一中绑定的公网网卡。 -
参考以下步骤,配置网卡
eth1的网络地址及默认路由。-
执行以下命令,打开网络配置文件
/etc/network/interfaces。sudo vi /etc/network/interfaces -
在配置文件中添加如下配置内容,将 EIP 地址分配到
eth1,并配置eth1的网关作为默认网关。auto eth1 iface eth1 inet static address 139.198.190.188 # 配置 EIP 地址 netmask 255.255.255.0 post-up ip route replace default via 139.198.190.1 dev eth1 # 配置默认路由以上配置示例中:
-
139.198.190.188为云服务器 EIP 地址,请根据实际情况填写。 -
139.198.190.1为eth1的网关地址,通常为该网段的第一个 IP 地址,请根据实际情况填写。
-
-
执行以下命令,将配置应用到网卡
eth1。sudo ifup eth1 -
如果云服务器中运行了 NetworkManager 服务,请执行以下命令,重启 NetworkManager 服务,以避免
eth1的网络配置被擦除。sudo systemctl restart NetworkManager
-
-
参考以下步骤,配置到私有网络和基础网络的路由。
-
在
/etc/network/interfaces文件中添加如下配置,将云服务器对基础网络和私有网络的访问的下一跳设置成eth0所在网络的网关。auto eth0 iface eth0 inet dhcp post-up ip route replace 192.168.0.0/16 via 192.168.2.1 dev eth0 post-up ip route replace 10.0.0.0/8 via 192.168.2.1 dev eth0以上配置示例中:
-
192.168.0.0/16为云服务器所属 VPC 网络的地址,请根据实际情况填写。 -
10.0.0.0/8为企业云平台基础网络的地址,请根据实际情况填写。 -
192.168.2.1为云服务器eth0网关地址,请根据实际情况填写。
-
-
执行以下命令,将配置应用到网卡
eth0。sudo ifdown eth0 sudo ifup eth0
-
-
-
CentOS 系统
-
登录已分配 EIP 的云服务器,执行以下命令,可以看到云服务器内多出一块还未分配 IP 地址的公网网卡。
ip a
如上图所示,云服务器中一共有两块网卡,其中
eth0为主网卡,其 IP 地址为192.168.2.3;eth1为步骤一中绑定的公网网卡。 -
参考以下步骤,配置
eth1网卡的网络地址。-
执行以下命令,打开
eth1的网络配置文件。vi /etc/sysconfig/network-scripts/ifcfg-eth1 -
在配置文件中添加如下配置内容,将 EIP 分配给
eth1。DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=139.198.190.188 NETMASK=255.255.255.0 GATEWAY=139.198.190.1 DNS1=8.8.8.8 DNS2=114.114.114.114-
139.198.190.188为云服务器 EIP 地址,请根据实际情况填写。 -
139.198.190.1为eth1的网关地址,通常为该网段的第一个 IP 地址,请根据实际情况填写。
-
-
执行以下命令,将配置应用到网卡
eth1。ifdown eth1 ifup eth1 -
执行以下命令,配置
eth1的网关做为默认路由。网关地址通常为该网段的第一个 IP 地址。route add default gw 139.198.190.1 dev eth1其中,
139.198.190.1为eth1的网关地址,请根据实际情况填写。
-
-
执行如下命令,将云服务器对基础网络和私有网络的访问的下一跳设置成
eth0所在网络的网关。route add -net 10.0.0.0/8 gw 192.168.2.1 dev eth0 route add -net 192.168.0.0/16 gw 192.168.2.1 dev eth0以上配置示例中:
-
10.0.0.0/8为平台基础网络的地址,请根据实际情况填写。 -
192.168.0.0/16为云服务器所属 VPC 网络的地址,请根据实际情况填写。 -
192.168.2.1为云服务器eth0的网关地址,请根据实际情况填写。
-
-
-
Windows 系统
下文以 Windows Server 2016 为例来说明网络配置的步骤。
-
登录已分配 EIP 的服务器,在桌面右下角点击网络图标,然后点击网络设置,打开以太网设置页面。可以看到有两张网卡,其中一张未连接的网络则是步骤一中绑定的公网网卡。
-
参考以下步骤,配置公网网卡的 IP 地址。
-
在以太网页面,点击更改适配器选项,进入网络连接页面。
-
点击选中未识别的公网网络,然后点击更改此连接的设置,弹出该连接的属性设置窗口。
-
在网络页签,双击 Internet 协议版本 4(TCP/IPv4),弹出 Internet 协议版本 4(TCP/IPv4)属性窗口。
-
配置 IP 地址及子网掩码。无需配置网关地址,DNS 地址也可不填。
以下为配置示例,“139.198.109.182” 为分配给云服务器的 EIP 地址,请根据实际情况填写。
-
配置完成后,点击确定进行保存。
-
-
参考以下步骤,配置路由。
-
打开 Windows 命令行终端,执行以下命令查看网卡的编号。
route print -4
如上图所示,第一行与第二行分别为私有网络的网络连接与公网的网络连接,每行的第一个数字为该网卡的编号。在本示例中,私有网络的网卡编号为
4,公网的网卡编号为6。 -
执行以下命令,添加路由信息,将公网网卡的网关做为默认路由。
route -p add 0.0.0.0 mask 0.0.0.0 139.198.109.1 metric 1 if 6以上示例中:
-
139.198.109.1表示公网网关,请根据实际情况填写。 -
if指定的参数为公网网卡编号,本示例中为6,请根据实际情况填写。
-
-
执行以下命令,添加私有网络及基础网络的路由信息。
route -p add 192.168.0.0 mask 255.255.0.0 192.168.0.1 metric 1 if 4 route -p add 10.0.0.0 mask 255.0.0.0 192.168.0.1 metric 1 if 4以上示例中:
-
10.0.0.0为平台基础网络的地址,请根据实际情况填写。 -
192.168.0.0为云服务器所属 VPC 网络的地址,请根据实际情况填写。 -
192.168.0.1为云服务器私有网络的网关地址,请根据实际情况填写。 -
if指定的参数为私有网络的网卡编号,本示例中为4,请`根据实际情况填写。
-
-
执行以下命令,修改私有网络默认路由的优先级,以保证对于公网的访问使用公网网卡的默认路由。
route -p change 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 100 if 4以上示例中:
-
192.168.0.1为云服务器私有网络的网关地址,请根据实际情况填写。 -
if指定的参数为私有网络的网卡编号,本示例中为4,请根据实际情况填写。
-
-
配置完成后,执行以下命令,查看完整的路由信息。
route print -4
-
-
步骤三:测试公网访问
参考以下步骤,测试云服务器的公网连通性。
-
登录已绑定 EIP 的云服务器。
-
执行以下命令,验证是否可公网通信。
ping <公网域名>验证结果类似如下,则表示云服务器可与公网通信。
-
若验证无法公网通信,可参考以下步骤进行排查。
-
被云服务器的安全策略拦截
-
请排查云服务器是否绑定安全组。
-
请检查安全组规则中是否允许对相关协议或端口的访问。
-
-
若云服务器绑定的是默认安全组,那么
ping和ssh所使用的端口默认是放开的,用户可以通过 SSH 方式远程登录云服务器,也可以ping通云服务器 EIP。 -
若云服务器绑定的是自定义安全组,那么初始状态下,安全组中不包含任何规则,所有端口都是关闭的,故无法连通。用户需要建立规则以打开相应的端口。
例如:如果您需要访问云服务器的 22 号端口,需要手动为云服务器所在安全组下,添加一条接受 tcp 22 端口的下行规则;如果您想开启 ping 功能,则需要在安全组中添加接受 ICMP echo request 的下行规则。
-
EIP 实例欠费
请排查 EIP 实例是否存在欠费的情况。
-
外部绑定公网 IPv4
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 网络服务 > 弹性公网 EIP,进入公网 IPv4 管理页面。
-
在 IP 列表中,右键点击目标公网 IP 地址,弹出快捷菜单,选择分配到云服务器。
说明 公网 IP 的状态为
可用时,才可执行该操作。 -
弹出云服务器选择对话框,用户根据需求,选择待绑定的云服务器后,点击提交,将当前公网 IP 与所选云服务器进行绑定。
-
系统返回至 IP 列表页面,待公网 IP 的状态更新为
已分配,则绑定成功。