首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云CVM配置多网卡方法

腾讯云CVM配置多网卡方法

原创
作者头像
渣渣辉
修改于 2020-04-12 12:45:51
修改于 2020-04-12 12:45:51
9K0
举报
文章被收录于专栏:渣渣辉的专栏渣渣辉的专栏

一、相关限制

  1. cvm规格对弹性网卡的限制 根据 CPU 和内存配置不同,云服务器可以绑定的弹性网卡数和单网卡绑定内网 IP 数有相关限制; 具体参考官网说明
  2. cvm规格对弹性ip的限制 根据 CPU 配置的差异,单台云服务器支持绑定的公网 IP 数量上限有相关限制; 具体参考官网说明
  3. vpc下允许配置的网卡上限限制 截止本文生成(2020年4月12日),限制同一个 VPC 下的云服务器最多绑定50个弹性网卡; 具体参考官网说明

二、创建cvm

创建cvm可以参考官网文档,本文主要演示如果在腾讯云cvm上配置一个主网卡与两个辅助网卡。作者已经购买好cvm和弹性公网ip,这里提前给出规划的ip与网卡对应关系:

网卡属性

网卡名

内网ip

外网ip

主网卡

test_cd_tel

172.27.0.11

132.232.61.253

辅助网卡

test_cd_cnc

172.27.1.11

132.232.247.133

辅助网卡

test_cd_cmcc

172.27.2.11

111.231.194.145

三、创建弹性网卡

  1. 打开弹性网卡控制台
  2. 选择要配置的cvm所在的地区和vpc,然后选择新建。
  3. 在弹窗中输入网卡名称,选择cvm所在的私有网络和子网,如下图:
新建弹性网卡
新建弹性网卡

四、绑定弹性网卡

注意:要先将网卡绑定到云服务器,再将公网ip绑定到网卡上,顺序相反会报错。

1.绑定云服务器

回到刚才的弹性网卡页面,在右上角搜索“test_cd”,可以看到作者在此创建了两个辅助弹性网卡和主网卡,点击如下图中的网卡右侧的绑定云服务器,在弹出的页面中绑定cvm。

弹性网卡页面
弹性网卡页面

注意下图中红框标注的配额,确认自己的服务器是否支持绑定

绑定服务器页面
绑定服务器页面

2.绑定公网ip

绑定完云服务器后,到云服务器页面,找到自己的实例,进入实例页面,查看弹性网卡子页,点击绑定,绑定已经购买好的弹性公网ip

cvm弹性网卡页
cvm弹性网卡页

五、配置弹性网卡

1.查看网卡对应关系

登录服务器,查看网卡mac地址

代码语言:txt
AI代码解释
复制
root@server ~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 52:54:00:17:8e:55 brd ff:ff:ff:ff:ff:ff
    inet 172.27.0.11/20 brd 172.27.15.255 scope global eth0
        valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe17:8e55/64 scope link
        valid_lft forever preferred_lft forever
26: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 20:90:6f:ca:6c:57 brd ff:ff:ff:ff:ff:ff
27: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 20:90:6f:56:21:03 brd ff:ff:ff:ff:ff:ff

确认网卡对应关系

注意eth1、eth2并不是与控制台的网卡顺序对应,这里利用cvm元数据mac地址来确认对应关系,mac地址见上面“ip a”命令获取到的“link/ether”字段

代码语言:txt
AI代码解释
复制
root@server ~# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/52:54:00:17:8e:55/local-ipv4s/172.27.0.11/gateway
172.27.0.1
root@server ~# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/20:90:6f:ca:6c:57/primary-local-ipv4
172.27.1.11
root@server ~# curl http://metadata.tencentyun.com/latest/meta-data/network/interfaces/macs/20:90:6f:56:21:03/primary-local-ipv4
172.27.2.11

根据获取的地址,知道对应关系是

弹性网卡名

内网ip

linux内网卡名

test_cd_cnc

172.27.1.11

eth1

test_cd_cmcc

172.27.2.11

eth2

2.配置网卡

修改网卡配置文件

  • 以eth0配置文件为模板复制eth1、eth2
代码语言:txt
AI代码解释
复制
root@server ~# cd /etc/sysconfig/network-scripts/
root@server network-scripts# cp ifcfg-eth0 ifcfg-eth1
root@server network-scripts# cp ifcfg-eth0 ifcfg-eth2
  • eth0需要修改内容:
    • 启动方式改为静态
    • 添加ip地址和网关(网关在上面查看元数据处第一条命令已经获取)
  • eth1、eth2需要修改内容:
    • 启动方式改为静态
    • 添加ip地址,修改mac地址,不需要添加网关地址

配置完的格式参考下面

代码语言:txt
AI代码解释
复制
root@server network-scripts# cat ifcfg-eth0
BOOTPROTO=static
DEVICE=eth0
IPADDR=172.27.0.11
HWADDR=52:54:00:17:8e:55
NM_CONTROLLED=no
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no
GATEWAY=172.27.0.1
root@server network-scripts# cat ifcfg-eth1
BOOTPROTO=static
DEVICE=eth1
IPADDR=172.27.1.11
HWADDR=20:90:6f:ca:6c:57
NM_CONTROLLED=no
ONBOOT=yes
PERSISTENT_DHCLIENT=yes
TYPE=Ethernet
USERCTL=no

启动网卡

代码语言:txt
AI代码解释
复制
root@server network-scripts# service network restart
Restarting network (via systemctl):
                                               [  OK  ]

启动完成后,需要在cvm控制台对每个网卡配置安全组,才对对外服务

六、配置策略路由

1.手动配置方法

手动配置方法,参考官网说明第5点

此处最好将相关命令写入到/etc/rc.local,否则重启后需要重新配置

2.自动化脚本

下载自动化脚本

代码语言:txt
AI代码解释
复制
root@server ~# git clone https://github.com/cnsbear/policy_route_cooking.git
root@server ~# cd policy_route_cooking

-c 清除旧的策略路由,然后生成新的策略路由

代码语言:txt
AI代码解释
复制
root@server policy_route_cooking# sh policy_route_cooking.sh -c
root@server policy_route_cooking# sh policy_route_cooking.sh

写入启动文件,重启时自动配置

代码语言:txt
AI代码解释
复制
root@server ~# echo "sh /root/policy\_route\_cooking/policy\_route\_cooking.sh -c" >> /etc/rc.local
root@server ~# echo "sh /root/policy\_route\_cooking/policy\_route\_cooking.sh" >> /etc/rc.local

七、UDP服务对策略路由的特殊处理

1.原理

在cvm中启动一个服务,当将服务在3个ip上都绑定时,tcp服务与udp服务都能正常工作;但是将服务绑定在0.0.0.0(INADDR_ANY),会发现udp服务下,策略路由没有生效。

这是因为对于udp

代码语言:txt
AI代码解释
复制
当0.0.0.0作为接收端,调用bind()函数绑定ip时,接收来自任意ip、任意网卡的发给指定端口的数据;
当0.0.0.0作为发送端,调用bind()函数绑定ip时,使用网卡号最低的网卡(通常是eth0)发送数据;

因此当使用udp服务时,若代码没有做特殊处理,最好将服务监听的每个对外网卡ip上,而不是0.0.0.0

2.测试验证

使用python代码做测试

server端

代码语言:txt
AI代码解释
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:server.py

import socket
import sys

ip = sys.argv[1]
address = (ip, 3000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#s = socket.socket()
s.bind(address)

while True:
    data, addr = s.recvfrom(2048)
    print "received:", data, "from", addr
    s.sendto('this is a udp server',addr)
s.close()

client端

代码语言:txt
AI代码解释
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py

import socket
import sys

ip = sys.argv[1]
address = (ip, 3000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
    msg = raw_input()
    if not msg:
        break
    s.sendto(msg, address)
    data, addr = s.recvfrom(2048)
    print "received:", data, "from", addr

s.close()

在server监听在0.0.0.0

代码语言:txt
AI代码解释
复制
root@server ~# python server.py 0.0.0.0

在客户端118.126.91.54上测试

首先测试eth0

代码语言:txt
AI代码解释
复制
python client.py 132.232.61.253
0.0.0.0-test
received: this is a udp server from ('132.232.61.253', 3000)

再测试eth1

代码语言:txt
AI代码解释
复制
root@office:~# python client.py  132.232.247.133
0.0.0.0-test

可以看到,eth1只能发送,不能接收;只有test_cd_tel能正常访问

在server上监听在eth1

代码语言:txt
AI代码解释
复制
root@server ~# python server.py 172.27.1.11

客户端测试访问eth1

代码语言:txt
AI代码解释
复制
root@client:~# python client.py  132.232.247.133
eth1-test
received: this is a udp server from ('132.232.247.133', 3000)

可以看到,监听在eth1,可以正常访问

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云一台服务器多IP的超详细配置linux
新账号关联我们公司购买腾讯云产品,有优惠哦!联系电话:13430587834(微信同号)
深圳市网商天下-网商云
2018/07/18
23.4K1
Linux常用网络工具总结
本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。本文不会深入研究这些命令的强大用法,因为每个命令都足以写一篇文章,本文只是简单地介绍并辅以几个简单demo实例,旨在大脑中留个印象,平时遇到问题时能够快速搜索出这些工具,利用强大的man工具,提供一定的思路解决问题。
兔云小新LM
2020/05/19
6.4K0
Linux 多网卡的7种bond模式原理
网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6
用户6543014
2019/10/25
8.5K0
Keepalived LVS NAT
LVS 只实现到了四层,Keepalived 可以实现七层的简单检查,Keepalived 可以通过预设的检查逻辑来管理 LVS 配置,从而实现对 LVS 自动且动态的调配,让整个 LB 系统更加灵活且健壮
franket
2021/08/10
1.6K0
centos7服务器主网卡绑定多ip实践演示
以centos7.2为例 centos7服务器主网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1360461 centos7服务器添加辅助网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1360462 Windows服务器主网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1
醉生萌死
2018/11/04
13.2K8
centos7服务器主网卡绑定多ip实践演示
Linux系统双网卡绑定配置教程
Linux系统双网卡绑定配置教程 环境说明 系统版本 [root@ ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@ ~]# uname -r 2.6.32-642.6.1.el6.x86_64 网卡说明 eth0 192.168.1.8(服务器外网卡) eth1 eth2 两块服务器网卡(内网) 关闭相关服务 关闭防火墙 [root@ ~]# /etc/init.d/iptables stop [root@ ~]# c
民工哥
2020/09/16
6.3K0
Ubuntu 22.04 配置辅助网卡多网卡
1. 以管理员身份 登录云服务器,执行以下命令,查看需配置的网卡信息,如图所示,需配置的网卡名称为 eth1:
Sync
2024/11/24
1.6K0
给一台腾讯云服务器配上多个免费外网弹性IP
https://cloud.tencent.com/document/product/213/15379#.E7.BD.91.E5.8D.A1.E7.9B.B8.E5.85.B3.E9.99.90.E5.88.B6
Cong Min
2019/03/10
12.6K0
CentOS 7 网络配置
今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到。 [root@ce
Dlimeng
2023/06/27
8290
CentOS 7.4双网卡绑定实现高可用
一、用bond方式  (1)bond几种主要模式介绍 第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略) 特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降
星哥玩云
2022/07/25
2.1K0
centos7服务器添加辅助网卡绑定多ip实践演示
以centos7.2为例 centos7服务器主网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1360461 centos7服务器添加辅助网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1360462 Windows服务器主网卡绑定多ip实践演示: https://cloud.tencent.com/developer/article/1
醉生萌死
2018/11/04
10.1K6
centos7服务器添加辅助网卡绑定多ip实践演示
LINUX主机的策略路由配置,多网卡一样可以指哪走哪
因《网工必备技能!Windows网卡1访问外网,网卡2访问内网!》受到粉丝的关注,就有粉丝提出,想给一台拥有多个网卡的linux主机,想配置不同的网卡走不通的路由,怎么操作呢?阿祥今天就介绍这种需求的配置方法,希望对粉丝有帮助!
ICT系统集成阿祥
2024/12/03
7860
LINUX主机的策略路由配置,多网卡一样可以指哪走哪
ubuntu16 及以上系统的双网卡双IP配置
2.以管理员身份登录云服务器,执行如下命令,查看需配置(未显示 IP)的网卡信息,如图所示,需配置的网卡名称为eth1:
用户8486308
2021/04/27
3K0
ubuntu16 及以上系统的双网卡双IP配置
Linux系统加了弹性网卡却不能从外部访问?教您快速排查!
为了给云服务器增加一个外网IP,实现单主机多 IP 部署,或者在一个CVM上接入到多个私有网络中,我们可以通过绑定弹性网卡的方式实现。但是绑定弹性网卡后,要从外部进行访问时,就需要正确的配置弹性IP及策略路由。
Htroy
2020/11/08
2.7K0
腾讯云容器网络介绍
在实现该网络模型时,为了应对不同的使用场景,TKE(Tencent Kubernetes Engine)提供了 Global Router 和 VPC-CNI 两种网络模式。本文中,我们将通过这两种模式下数据包的转发流程来分析这两种模式各自的实现原理。本文还会对比分析不同网络模式下的网络效率和资源使用情况,以便于大家在创建 TKE 集群时根据应用对网络的需求和使用成本选择合适的网络模型。
赵化冰
2022/08/01
5.2K0
腾讯云容器网络介绍
tlinux3.1(TencentOS Server 3.1 (TK4))配置弹性辅助网卡
1. 以管理员身份 登录云服务器,执行以下命令,查看需配置的网卡信息,如图所示,需配置的网卡名称为 eth1:
Sync
2024/11/24
4320
腾讯云弹性网卡产品使用介绍
最近有个网友在问腾讯云主机的公网IP总在变为什么不能固定下来。 经过了解此用户是购买腾讯云主机用于测试和临时搭建网站,所以计费方式是“按量计费”和“竞价实例” 当云主机重启时就会出现网友反馈的问题公网IP会变化,那是否有方法让公网IP不变? 这里推荐两种方式:
研究僧
2020/05/30
8K0
搭建LVS-DR负载均衡集群、Keepalived-LVS高可用负载均衡集群
在浏览器访问VIP:192.168.8.100,刷新网页,访问结果由real1、real2交替回复。
阿dai学长
2019/04/03
9420
Linux-网络工具
lsof命令用来查看打开的文件(list open file),由于Linux中‘一切皆文件’,那么socket,pipe等也是文件,因此能够查看网络连接和网络设备,其中网络设备相关的是-i选项,它输出符合条件的进程(4,6,协议,:端口,@ip等),格式为[46][protocol][@hostname|hostaddr]。 查看端口3306有没有打开,哪个进程打开的:
悠扬前奏
2019/06/02
1.9K0
关于Linux中网卡Teamd(分流容灾)的一些笔记
「 我感到难过,不是因为你欺骗了我,而是因为我再也不能相信你了。 -----尼采」
山河已无恙
2023/01/30
8930
相关推荐
腾讯云一台服务器多IP的超详细配置linux
更多 >
LV.0
腾讯售后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档