华为云虚拟私有云 VPC用户指南-怎么创建辅助弹性网卡?
操作场景
当实例所需挂载的弹性网卡超过上限时,您可以参考以下操作创建辅助弹性网卡,辅助弹性网卡可以挂载在实例的弹性网卡上(包括主网卡和扩展网卡)。通过辅助弹性网卡功能,您可以为实例挂载更多网卡,实现灵活、高可用的网络方案配置。
约束与限制
- 辅助弹性网卡与所属的弹性网卡必须在同一个虚拟私有云,可以属于不同子网以及安全组。
- 辅助弹性网卡创建完成后,您需要在实例的弹性网卡上创建VLAN子接口并配置对应规则,具体请参见配置辅助弹性网卡。
创建辅助弹性网卡
- 进入辅助弹性网卡列表页面。
- 在页面右上角,单击“创建辅助弹性网卡”。
- 配置辅助弹性网卡参数,如表1所示。
表1 参数说明
参数
参数说明
取值样例
区域
不同区域的云服务产品之间内网互不相通,请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。
华东-上海一
所属弹性网卡
辅助弹性网卡所挂载的弹性网卡。
您可以通过下拉列表框选择支持挂载辅助弹性网卡的弹性网卡。
–(172.16.0.145)
所属VPC
辅助弹性网卡所在的VPC,和其所属弹性网卡的VPC保持一致,无需填写。
vpc-A
所属子网
选择辅助弹性网卡所在的子网,辅助弹性网卡和所属弹性网卡可以位于不同子网,请根据实际情况设置。
subnet-A01
创建数量
待创建的辅助弹性网卡的数量。
1
私有IP地址
选择为辅助弹性网卡申请的私有IP地址类型。- IPv4:支持IPv4私网访问。
- IPv6:支持IPv6私网和公网访问。
当辅助弹性网卡所属子网开启IPv6时,您才可以选择IPv6。
IPv4
IPv4地址
为辅助弹性网卡分配IPv4类型的私有IP地址,当前支持以下两种分配私有IP地址的方式:- 自动分配IP地址:表示系统自动从子网网段中选取一个IP地址。
- 手动指定IP地址:表示您可以自行从子网网段中选取一个IP地址。
若选择“手动指定IP地址”,则填写IPv4私有IP地址。
自动分配IP地址
IPv6地址
如果“私有IP地址”参数选择了“IPv6”,则需要设置IPv6地址。
为辅助弹性网卡分配IPv6类型的私有IP地址,当前支持以下两种分配私有IP地址的方式:- 自动分配IP地址:表示系统自动从子网网段中选取一个IP地址。
- 手动指定IP地址:表示您可以自行从子网网段中选取一个IP地址。
若选择“手动指定IP地址”,则填写IPv6私有IP地址。
自动分配IP地址
安全组
选择辅助弹性网卡所属安全组。
sg-001
描述
辅助弹性网卡的描述信息,非必填项。
描述信息内容不能超过255个字符,且不能包含“<”和“>”。
–
- 单击“立即创建”,完成创建。
辅助网卡创建完成后不能直接使用,您还需要配置辅助弹性网卡,在弹性网卡上为辅助弹性网卡创建VLAN子接口等。
配置辅助弹性网卡
当通过管理控制台创建辅助弹性网卡后,您需要参考以下操作,在实例的弹性网卡上,为该辅助弹性网卡创建VLAN子接口并配置私有IP地址、默认路由规则等。
在配置辅助弹性网卡之前,您需要根据以下说明获取辅助弹性网卡,以及辅助弹性网卡所属的弹性网卡信息。
- 配置Linux ECS的辅助弹性网卡,需要获取表2中的辅助弹性网卡及其所属子网的信息。
- 配置Windows ECS的辅助弹性网卡,需要获取表2中的辅助弹性网卡及其所属子网的信息、表3中的弹性网卡及其所属子网的信息。
表2 辅助弹性网卡及子网信息
信息
获取方法
辅助弹性网卡的VLAN
- 在辅助弹性网卡列表中,单击辅助弹性网卡私有IP地址。
进入网卡基本信息页面。
- 在基本信息页面,查看并记录辅助弹性网卡的以下信息:
- VLAN
- MAC地址
- 私有IP地址
辅助弹性网卡的MAC地址
辅助弹性网卡的私有IP地址
辅助弹性网卡所属子网的掩码
- 在辅助弹性网卡列表中,单击“所属网络”的子网名称超链接。
进入子网基本信息页面。
- 在基本信息页面,查看并记录子网的以下信息:
- 子网掩码:子网IPv4网段中的掩码,比如子网IPv4网段为192.168.0.0/24,则掩码为24。
- 子网网关:在“网关和DNS”区域,查看网关地址。
辅助弹性网卡所属子网的网关
表3 辅助弹性网卡所属的弹性网卡及子网信息
信息
获取方法
弹性网卡的MAC地址
- 在ECS列表中,单击ECS名称。
进入ECS基本信息页面。
- 选择“弹性网卡”页签,单击
展开弹性网卡的折叠区域,查看并记录弹性网卡的以下信息:
- MAC地址
- 私有IP地址
弹性网卡的私有IP地址
弹性网卡所属子网的掩码
- 在弹性网卡列表中,单击“所属网络”的子网名称超链接。
进入子网基本信息页面。
- 在基本信息页面,查看并记录子网的以下信息:
- 子网掩码:子网IPv4网段中的掩码,比如子网IPv4网段为192.168.0.0/24,则掩码为24。
- 子网网关:在“网关和DNS”区域,查看网关地址。
弹性网卡所属子网的网关
- 在辅助弹性网卡列表中,单击辅助弹性网卡私有IP地址。
-
Linux系统
-
Windows系统
- VLAN:1937
- MAC地址:fa:16:3e:6d:c5:5a
- 私有IP地址:192.168.0.149
- 所属子网的掩码:24
- 所属子网的网关:192.168.0.1
说明:
本示例中辅助弹性网卡所属的弹性网卡为ECS的主网卡,如果您需要为ECS的扩展网卡配置辅助弹性网卡,则操作类似。
- 登录ECS实例。
登录方式请参见Linux弹性云服务器登录方式概述。
- 执行以下命令,查看并记录ECS实例的弹性网卡名称。
ifconfig
回显类似如下信息,本示例中,弹性网卡的名称为eth0。[root@ecs-subeni-linux ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.125 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::f816:3eff:fe6d:c542 prefixlen 64 scopeid 0x20<link> ether fa:16:3e:6d:c5:42 txqueuelen 1000 (Ethernet) RX packets 78131 bytes 111604802 (106.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8686 bytes 1422159 (1.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ... - 执行以下命令,在弹性网卡上创建VLAN子接口。
ip link add link 弹性网卡名称 name VLAN子接口名称 type vlan id 辅助弹性网卡的VLAN
命令中的参数说明如下:- 弹性网卡名称:2中查询到的网卡名称,本示例为eth0。
- VLAN子接口名称:建议命名规则采用“弹性网卡名称.辅助弹性网卡的VLAN”,本示例为eth0.1937。
- 辅助弹性网卡的VLAN:本示例为1937。
命令示例:
ip link add link eth0 name eth0.1937 type vlan id 1937
- 执行以下命令,创建命名空间。
ip netns add 命名空间名称
命名空间名称:建议命名规则采用“ns辅助弹性网卡VLAN”,本示例为ns1937。
命令示例:
ip netns add ns1937
- 执行以下命令,将已创建的VLAN子接口加入到命名空间中。
ip link set VLAN子接口名称 netns 命名空间名称
命令示例:
ip link set eth0.1937 netns ns1937
- 执行以下命令,将VLAN子接口的MAC地址修改为辅助弹性网卡的MAC地址。
ip netns exec 命名空间名称 ifconfig VLAN子接口名称 hw ether 辅助弹性网卡的MAC地址
命令示例:
ip netns exec ns1937 ifconfig eth0.1937 hw ether fa:16:3e:6d:c5:5a
- 执行以下命令,启动VLAN子接口。
ip netns exec 命名空间名称 ifconfig VLAN子接口名称 up
命令示例:
ip netns exec ns1937 ifconfig eth0.1937 up
- 执行以下命令,为VLAN子接口配置私有IP地址。
ip netns exec 命名空间名称 ip addr add 私有IP地址 dev VLAN子接口名称
私有IP地址:辅助弹性网卡的私有IP地址/辅助弹性网卡所属子网的掩码,本示例为192.168.0.149/24。
命令示例:
ip netns exec ns1937 ip addr add 192.168.0.149/24 dev eth0.1937
- 执行以下命令,为VLAN子接口配置默认路由。
ip netns exec 命名空间名称 ip route add default via 辅助弹性网卡所属子网的网关
命令示例:
ip netns exec ns1937 ip route add default via 192.168.0.1
- 执行以下命令,验证辅助弹性网卡的配置是否生效。
- 执行以下命令,验证弹性网卡和测试ECS的网络通信情况。
ping 测试ECS的私有IP地址
建议测试ECS和弹性网卡所在的ECS位于同一个VPC中,并且使用同一个安全组,此时两个ECS网络默认互通。
命令示例:
ping 192.168.0.133
回显类似如下信息,表示通信正常。当弹性网卡和测试ECS通信正常时,再执行10.b验证辅助弹性网卡的通信情况。[root@ecs-subeni-linux ~]# ping 192.168.0.133 PING 192.168.0.133 (192.168.0.133) 56(84) bytes of data. 64 bytes from 192.168.0.133: icmp_seq=1 ttl=64 time=0.302 ms 64 bytes from 192.168.0.133: icmp_seq=2 ttl=64 time=0.262 ms ... --- 192.168.0.133 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.262/0.282/0.302/0.020 ms - 执行以下命令,验证辅助弹性网卡和测试ECS的网络通信情况。
ip netns exec 命名空间名称 ping 测试ECS的私有IP地址
建议测试ECS和辅助弹性网卡所在的ECS位于同一个VPC中,并且使用同一个安全组,此时两个ECS网络默认互通。
命令示例:
ip netns exec ns1937 ping 192.168.0.133
回显类似如下信息,表示通信正常,说明辅助弹性网卡的配置已生效。
[root@ecs-subeni-linux ~]# ip netns exec ns1937 ping 192.168.0.133 PING 192.168.0.133 (192.168.0.133) 56(84) bytes of data. 64 bytes from 192.168.0.133: icmp_seq=1 ttl=64 time=0.420 ms 64 bytes from 192.168.0.133: icmp_seq=2 ttl=64 time=0.233 ms ... --- 192.168.0.133 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.233/0.326/0.420/0.095 ms
注意:
- 以上配置的路由为临时路由,配置完立即生效,当ECS重启后临时路由会丢失。请继续执行11配置永久路由,避免ECS重启后网络中断。
- 如果ECS需要通过辅助弹性网卡访问外部域名,则需要为辅助弹性网卡配置DNS,请继续执行11,重启ECS后DNS配置才会生效。
- 执行以下命令,验证弹性网卡和测试ECS的网络通信情况。
- 执行以下步骤,为辅助弹性网卡配置永久路由和DNS,该配置重启ECS后会生效。
- 执行以下步骤,为辅助弹性网卡配置永久路由。
- 执行以下命令,打开“/etc/rc.local”文件。
vi /etc/rc.local
- 按i进入编辑模式。
- 在文件末尾添加以下配置。
该配置中参数需要和3~9中的命令保持一致。
ip link add link eth0 name eth0.1937 type vlan id 1937 ip netns add ns1937 ip link set eth0.1937 netns ns1937 ip netns exec ns1937 ifconfig eth0.1937 hw ether fa:16:3e:6d:c5:5a ip netns exec ns1937 ifconfig eth0.1937 up ip netns exec ns1937 ip addr add 192.168.0.149/24 dev eth0.1937 ip netns exec ns1937 ip route add default via 192.168.0.1 - 按ESC退出,并输入:wq!保存配置。
- 执行以下命令,为“/etc/rc.local”文件添加执行权限。
chmod +x /etc/rc.local
说明:
如果您的操作系统为Redhat、EulerOS,执行完11.a.v后,还需要执行以下命令,权限才会添加成功。
chmod +x /etc/rc.d/rc.local
- 执行以下命令,打开“/etc/rc.local”文件。
- (可选)如果ECS需要通过辅助弹性网卡访问外部域名,则请执行以下步骤,为辅助弹性网卡配置DNS。
如果不需要DNS,请直接执行11.c重启ECS。
- 执行以下命令,进入/etc/sysconfig/network-scripts/路径,该路径下存放网络接口配置文件。
cd /etc/sysconfig/network-scripts/
- 执行以下命令,修改弹性网卡的网络接口配置文件。
vi ifcfg-弹性网卡名称
弹性网卡名称:2中查询到的网卡名称,命令示例为vi ifcfg-eth0。
- 按i进入编辑模式。
- 在文件末尾添加以下配置。
其中,114.114.114.114为公共DNS地址。
DNS1=114.114.114.114 - 按ESC退出,并输入:wq!保存配置。
- 执行以下命令,进入/etc/sysconfig/network-scripts/路径,该路径下存放网络接口配置文件。
- 执行以下命令,重启ECS。
reboot
- 参考10,验证永久路由配置是否生效。
- (可选)如果配置了DNS,则请执行以下步骤,验证DNS配置是否生效。
- 为辅助弹性网卡绑定EIP,具体请参见将辅助弹性网卡和弹性公网IP绑定/解绑定。
- 执行以下命令,验证辅助弹性网卡是否可以访问公网域名。
ip netns exec 命名空间名称 ping 公网域名
命令示例:
ip netns exec ns1937 ping support.huaweicloud.com
回显类似如下信息,表示通信正常,说明辅助弹性网卡的DNS配置已生效。[root@ecs-subeni-linux ~]# ip netns exec ns1937 ping support.huaweicloud.com PING support.huaweicloud.com (36.150.72.70) 56(84) bytes of data. 64 bytes from 36.150.72.70 (36.150.72.70): icmp_seq=1 ttl=54 time=2.68 ms 64 bytes from 36.150.72.70 (36.150.72.70): icmp_seq=2 ttl=54 time=2.61 ms 64 bytes from 36.150.72.70 (36.150.72.70): icmp_seq=3 ttl=54 time=2.60 ms ^C --- support.huaweicloud.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 3015ms rtt min/avg/max/mdev = 2.604/2.633/2.681/0.068 ms
- 执行以下步骤,为辅助弹性网卡配置永久路由。
- (可选) 如果您需要使用辅助弹性网卡的私有IP地址远程登录所属的ECS,则需要执行以下操作,放通辅助弹性网卡的SSH(22)端口。
- 在辅助弹性网卡所在安全组中,添加入方向规则放通SSH(22)端口。
具体方法请参见添加安全组规则。
方向
优先级
策略
类型
协议端口
源地址
入方向
1
允许
IPv4
自定义TCP: 22
根据实际情况设置IP地址,比如通过本地PC远程登录ECS,则源地址为本地PC的IP地址。
- 执行以下命令,检查是否开启命名空间中22端口的监听。
ip netns exec 命名空间名称 netstat -antp | grep 22
命令示例:
ip netns exec ns1937 netstat -antp | grep 22- 如果回显为空,表示未开启命名空间中22端口的监听,请执行12.c。
- 如果回显类似如下信息,表示已开启命名空间中22端口的监听,任务结束。
[root@ecs-subeni-linux ~]# ip netns exec ns1937 netstat -antp | grep 22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2797/sshd tcp6 0 0 :::22 :::* LISTEN 2979/sshd
- 执行以下命令,启动SSH服务,开启22端口的监听。
ip netns exec 命名空间名称 /sbin/sshd
命令示例:
ip netns exec ns1937 /sbin/sshd
- 执行以下命令,检查是否开启命名空间中22端口的监听。
ip netns exec 命名空间名称 netstat -antp | grep 22
命令示例:
ip netns exec ns1937 netstat -antp | grep 22
回显类似如下信息,表示已开启命名空间中22端口的监听。[root@ecs-subeni-linux ~]# ip netns exec ns1937 netstat -antp | grep 22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2797/sshd tcp6 0 0 :::22 :::* LISTEN 2979/sshd
- 在辅助弹性网卡所在安全组中,添加入方向规则放通SSH(22)端口。
- (可选) 如果ECS需要通过辅助弹性网卡对外提供Web访问服务,则需要执行以下操作,放通辅助弹性网卡的HTTP(80)端口。
- 在辅助弹性网卡所在安全组中,添加入方向规则放通HTTP(80)端口。
具体方法请参见添加安全组规则。
表5 安全组规则(放通HTTP(80)端口)
方向
优先级
策略
类型
协议端口
源地址
入方向
1
允许
IPv4
自定义TCP: 80
0.0.0.0/0
表示允许任意地址访问当前辅助弹性网卡的80端口。
- 执行以下命令,检查是否开启命名空间中80端口的监听。
ip netns exec 命名空间名称 netstat -antp | grep 80
命令示例:
ip netns exec ns1937 netstat -antp | grep 80- 如果回显为空,表示未开启命名空间中80端口的监听。此时请根据您部署的Web服务,开启相应服务的80端口监听。
- 如果回显类似如下信息,表示已开启命名空间中80端口的监听,任务结束。
[root@ecs-subeni-linux ~]# ip netns exec ns1937 netstat -antp | grep 80 tcp6 0 0 :::80 :::* LISTEN ...
- 在辅助弹性网卡所在安全组中,添加入方向规则放通HTTP(80)端口。
