阿里云 Ubuntu20.04 配置单机多公网IP访问外部服务

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 在同一台阿里云 ECS Ubuntu 20.04服务器上配置多网卡并绑定多个公网ip,实现利用多个ip访问公网服务。

背景

需求是在同一台阿里云 ECS Ubuntu 20.04服务器上配置多网卡并绑定多个公网ip,实现利用多个ip访问公网服务。


实现方式: 申请多个阿里云弹性公网IP及多个弹性网卡,并将其绑定到ECS实例上。


流程

1. 购买弹性公网ip及弹性网卡,并绑定至ECS实例

具体流程可以参考官方文档

配置完成后效果如下,申请了4个公网IP,并分别绑定至一个弹性网卡,四个弹性网卡在同一私网网段内。

1.png

如图,配置了四块网卡,私网ip分别为172.16.0.1, 172.16.0.2, 172.16.0.3, 172.16.0.4。

2. 配置路由策略

官方文档中提供的教程基于Netplan进行网卡配置,Netplan 是用于在使用 YAML 文件的 Linux 上配置网络接口的实用程序,从 Ubuntu 18.04 LTS 开始,Ubuntu 默认使用 Netplan 来配置网络接口。

在配置完成后,可能由于路由问题,导致无法连接公网,所以需要配置路由策略。

2.png

首先查看机器是否安装了iproute2,一般情况下都默认安装,如果没有安装,可以利用 apt install iproute2 命令安装。

然后打开路由表文件: vim /etc/iproute2/rt_tables

添加新的路由表 100 ~ 104:

## reserved values#255 local
254 main
253 default
0 unspec
100100# 主网卡101101# eth1102102# eth2103103# eth3104104# eth4## local##1  inr.ruhep

编辑 /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg 文件:

network: {config: disabled}

然后编辑netplan配置文件,阿里云ubuntu默认配置在 /etc/netplan/50-cloud-init.yaml

# This file is generated from information provided by# the datasource.  Changes to it will not persist across an instance.# To disable cloud-init's network configuration capabilities, write a file# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:# network: {config: disabled}network:
    version: 2    ethernets:
        eth0:
            match:
                macaddress: 00:xx:xx:xx:xx:bc
            set-name: eth0
            addresses:
-172.16.6.81/18 # 私有IP/子网掩码            gateway4: 172.16.63.253 # 网关, 只有一个网卡需要配置gateway4参数            nameservers:
                addresses:
-8.8.8.8
-1.1.1.1
-8.8.4.4
-223.5.5.5 # 阿里云DNS-223.5.5.6 # 阿里云DNS            routes:
- to: 0.0.0.0/0 # 路由的目标地址。                  via: 172.16.63.253 # 为通过路由的流量设置源 IP 地址。(网关)                  table: 100# eth0对应的路由表            routing-policy:
- from: 172.16.6.81 # 主网卡私网ip,设置源 IP 地址以匹配此策略规则的流量。                  table: 100# 路由表编号                  priority: 300# 指定路由策略规则的优先级,以影响处理路由规则的顺序。# 数字越大,优先级越低:规则按优先级数字递增的顺序处理。        eth1:
            match:
                macaddress: 00:xx:xx:xx:xx:fa
            set-name: eth1
            addresses:
-172.16.0.1/18
            nameservers:
                addresses:
-8.8.8.8
-1.1.1.1
-8.8.4.4
-223.5.5.5
-223.5.5.6
            routes:
- to: 0.0.0.0/0 
                  via: 172.16.63.253 # 网关                  table: 101# eth1对应的路由表            routing-policy:
- from: 172.16.0.1 # eth1私网ip                  table: 101                  priority: 300        eth2:
            match:
                macaddress: 00:xx:xx:xx:xx:51
            set-name: eth2
            addresses:
-172.16.0.2/18
            nameservers:
                addresses:
-8.8.8.8
-1.1.1.1
-8.8.4.4
-223.5.5.5
-223.5.5.6
            routes:
- to: 0.0.0.0/0
                  via: 172.16.63.253
                  table: 102            routing-policy:
- from: 172.16.0.2
                  table: 102                  priority: 300        eth3:
            match:
                macaddress: 00:xx:xx:xx:xx:1f
            set-name: eth3
            addresses:
-172.16.0.3/18
            nameservers:
                addresses:
-8.8.8.8
-1.1.1.1
-8.8.4.4
-223.5.5.5
-223.5.5.6
            routes:
- to: 0.0.0.0/0
                  via: 172.16.63.253
                  table: 103            routing-policy:
- from: 172.16.0.3
                  table: 103                  priority: 300        eth4:
            match:
                macaddress: 00:xx:xx:xx:xx:a5
            set-name: eth4
            addresses:
-172.16.0.4/18
            nameservers:
                addresses:
-8.8.8.8
-1.1.1.1
-8.8.4.4
-223.5.5.5
-223.5.5.6
            routes:
- to: 0.0.0.0/0
                  via: 172.16.63.253
                  table: 104            routing-policy:
- from: 172.16.0.4
                  table: 104                  priority: 300

配置完成后,输入 netplan apply以应用网络配置。

利用 route -n 查看路由情况:

3.png

3. 测试网络连通性

运行 curl cip.cc --interface 私网ip可查看对应的网卡ip,检查网络连通性。

4.png

参考

普通模式下实现ECS绑定多EIP - 弹性公网 IP - 阿里云

How to Configure Multiple Network Interfaces

Netplan Reference | Netplan


image.png1.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
基于阿里云,构建一个企业web应用上云经典架构,让IT从业者体验企业级架构的实战训练。
高可用应用架构
欢迎来到“高可用应用架构”课程,本课程是“弹性计算Clouder系列认证“中的阶段四课程。本课程重点向您阐述了云服务器ECS的高可用部署方案,包含了弹性公网IP和负载均衡的概念及操作,通过本课程的学习您将了解在平时工作中,如何利用负载均衡和多台云服务器组建高可用应用架构,并通过弹性公网IP的方式对外提供稳定的互联网接入,使得您的网站更加稳定的同时可以接受更多人访问,掌握在阿里云上构建企业级大流量网站场景的方法。 学习完本课程后,您将能够: 理解高可用架构的含义并掌握基本实现方法 理解弹性公网IP的概念、功能以及应用场景 理解负载均衡的概念、功能以及应用场景 掌握网站高并发时如何处理的基本思路 完成多台Web服务器的负载均衡,从而实现高可用、高并发流量架构
相关文章
|
19天前
|
Ubuntu 安全 Linux
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
66 0
|
17天前
|
存储 Ubuntu 应用服务中间件
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
22 1
|
11天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
118 6
|
5天前
|
Ubuntu Apache 数据库
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
如何在Ubuntu系统部署Z-blog博客结合cpolar实现无公网IP访问本地网站
23 2
|
6天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考,2核16G、4核32G、8核64G配置收费标准
阿里云服务器2核16G、4核32G、8核64G配置最新租用价格更新,2024年阿里云产品再一次降价,降价之后2核16G配置按量收费最低收费标准为0.596元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.085元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。云服务器实例规格的地域和实例规格不同,收费标准不一样,下面是2024年阿里云服务器2核16G、4核32G、8核64G配置的最新租用收费标准。
阿里云服务器租用价格参考,2核16G、4核32G、8核64G配置收费标准
|
7天前
|
存储 弹性计算 固态存储
阿里云服务器配置选择指南,2024年全解析
阿里云服务器配置选择涉及CPU、内存、带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型实例,如2核2G3M配置,适合网站和轻量应用。企业用户则应选择企业级独享型ECS,如计算型c7、通用型g7,至少2核4G起,带宽建议5M,系统盘考虑SSD云盘或ESSD云盘以保证性能。阿里云提供了多种实例类型和配置,用户需根据实际需求进行选择。
|
8天前
|
Ubuntu
Ubuntu20.04安装SNMP服务
至此,你已经成功在Ubuntu 20.04上安装了SNMP服务。你可以使用SNMP工具来监视和管理你的系统,或者将其集成到网络管理系统中。
26 3
|
11天前
|
存储 弹性计算 固态存储
阿里云服务器配置怎么选择合适?收藏级教程大家参考下
阿里云服务器配置选择涉及CPU、内存、带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型实例,如2核2G3M配置,适合低流量网站。企业用户应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。具体配置需根据实际应用需求来定。
|
12天前
|
存储 弹性计算 运维
深度解读:阿里云服务器ECS经济型e实例配置整理和性能参数表
阿里云推出经济型ECS e系列服务器,适用于个人开发者、学生和小微企业。该系列采用Intel Xeon Platinum处理器,支持多种CPU内存配比,性价比高,2核2G3M配置只需99元/年,新老用户不限量购买且续费不涨价。提供相同可用性SLA和安全标准,具备ESSD Entry云盘等企业级特性。适合中小型网站、开发测试和轻量级应用
|
14天前
|
运维 NoSQL Java
Serverless 应用引擎产品使用之在函数计算上部署Java服务并访问阿里云MongoDB如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
15 0

热门文章

最新文章