当前位置: 首页 > news >正文

构建GRE隧道打通不同云商的云主机内网

文章目录

  • 1. 环境介绍
  • 2 GRE隧道搭建
    • 2.1 华为云 GRE 隧道安装
    • 2.2 阿里云 GRE 隧道安装
  • 3. 设置安全组
  • 4. 验证GRE隧道
    • 4.1 在华为云上 ping 阿里云云主机内网IP
    • 4.2 在阿里云上 ping 华为云云主机内网IP
  • 5. 总结

1. 环境介绍

在这里插入图片描述
  华为云上有三台云主机,内网 CIDR 是 192.168.0.0/24,阿里云上有三台云主机,内网 CIDR 是 172.26.32.0/24。现在想要打通两个云商之间的内网,使得华为云上的云主机能够访问阿里云上的内网IP地址,同时阿里云上的云主机能够访问华为云上的内网IP地址。下边将会介绍通过 GRE 隧道打通华为云 192.168.0.200 主机与阿里云 172.26.32.235 两台云主机之间的内网通信,GRE 隧道搭建完成后,192.168.0.200 与 172.26.32.235 能够正常的通过内网 IP 进行互通,但并不能支持 172.168.0.201 与 172.26.32.103 主机之间的内网通信,如果想要打通华为云内网与阿里云内网所有云主机的内网通信,需要在 GRE 隧道搭建完成后做额外的服务配置,本章节暂时不做介绍,后续单独介绍。

2 GRE隧道搭建

2.1 华为云 GRE 隧道安装

  我们选择内网 IP 地址为 192.168.0.200 的云主机部署 GRE隧道。

  • 首先修改内核配置,开启 ip_forward
cat >  /etc/sysctl.d/gre.conf <<EOF
net.ipv4.ip_forward=1
EOFsysctl -p /etc/sysctl.d/gre.conf
  • 加载 ip_gre 模块
modprobe ip_gre
  • 查看 ip_gre 模块是否加载成功
lsmod | grep ip_gre

在这里插入图片描述

  • 创建隧道,remote IP 地址为阿里云云主机的公网IP地址,local IP 为华为云云主机内网地址。
ip tunnel add tunnel999 mode gre remote 114.116.84.123 local 192.168.0.200
  • 开启隧道
ip link set tunnel999 up mtu 1476
  • 设置隧道 IP,隧道 IP 地址可以自由设置,但不要和内网 CIDR 冲突。
ip addr add 192.168.100.1 peer 192.168.100.2/32 dev tunnel999
  • 设置隧道路由,路由配置建议使用阿里云内网 CIDR 值
ip route add 172.26.32.0/24 dev tunnel999
  • 查看路由
route -n

在这里插入图片描述

  华为云上的GRE隧道搭建完成,但此时隧道无法正常工作,需要等待阿里云上的隧道搭建完成后,隧道才能正常实现阿里云与华为云内网通信。

2.2 阿里云 GRE 隧道安装

  我们选择内网 IP 地址为 172.26.32.235 的云主机部署 GRE隧道。

  • 首先修改内核配置,开启 ip_forward。
cat >  /etc/sysctl.d/gre.conf <<EOF
net.ipv4.ip_forward=1
EOFsysctl -p /etc/sysctl.d/gre.conf
  • 加载 ip_gre 模块
modprobe ip_gre
  • 查看 ip_gre 模块是否加载成功
lsmod | grep ip_gre

在这里插入图片描述

  • 创建隧道,remote IP 地址为华为云云主机的公网IP地址,local IP 为阿里云云主机内网地址。
ip tunnel add tunnel999 mode gre remote 112.124.59.21 local 172.26.32.235
  • 开启隧道
ip link set tunnel999 up mtu 1476
  • 设置隧道 IP,隧道 IP 地址可以自由设置,但不要和内网 CIDR 冲突。
ip addr add 192.168.100.2 peer 192.168.100.1/32 dev tunnel999
  • 设置隧道路由,路由配置建议使用华为云内网CIDR值
ip route add 192.168.0.0/24 dev tunnel999
  • 查看路由表
route -n

在这里插入图片描述
  如上图中 tunnel999 虚拟网卡接口有两条路有记录。

3. 设置安全组

  不同的云商设置安全组的菜单不一样,例如在华为云上设置安全组,允许GRE协议。如果不设置安全组,将会导致GRE隧道无法正常通信。
在这里插入图片描述
  阿里云上设置安全组请参考阿里云操作手册,如果有防火墙策略禁用了GRE协议,请清理防火墙中相关的设置,允许GRE协议。

4. 验证GRE隧道

4.1 在华为云上 ping 阿里云云主机内网IP

ping 172.26.32.235

在这里插入图片描述

4.2 在阿里云上 ping 华为云云主机内网IP

ping 192.168.0.200

在这里插入图片描述

5. 总结

  通过搭建GRE隧道,将两个不同云商之间的云主机内网打通,实现两个云之间节点内网通信。此功能与云商提供的对等连接有相似之处,云商提供的对等连接服务一般针对同一云商跨VPC之间的网络互通,通过自行搭建GRE隧道,可实现不同云商之间云主机内网互通,但这种做法存在网络安全问题,以及网络稳定性问题,毕竟GRE隧道仍然通过公网通信,想要实现更安全的网络隧道服务,可通过IPSec或VPN建立加密通信服务,保证通信的安全可靠。亦或是将加密传输交给业务应用自行处理,GRE隧道只负责网络通道的能力,但这种做法依赖于业务应用必须支持加密传输。
  通过 ip 命令行工具添加的 GRE 隧道配置会在服务器重启之后消失,所以,上述方法适合测试或临时搭建隧道调试使用,如果需要将 GRE 隧道配置持久话,可以通过将上述命令做成 shell 脚本,通过 systemctl 开机启动执行脚本创建 GRE 隧道。

相关文章:

构建GRE隧道打通不同云商的云主机内网

文章目录1. 环境介绍2 GRE隧道搭建2.1 华为云 GRE 隧道安装2.2 阿里云 GRE 隧道安装3. 设置安全组4. 验证GRE隧道4.1 在华为云上 ping 阿里云云主机内网IP4.2 在阿里云上 ping 华为云云主机内网IP5. 总结1. 环境介绍 华为云上有三台云主机&#xff0c;内网 CIDR 是 192.168.0.0…...

48天C++笔试强训 001

作者&#xff1a;小萌新 专栏&#xff1a;笔试强训 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;讲解48天笔试强训第一天的题目 笔试强训 day1选择题12345678910编程题12选择题 1 以下for循环的执行次数是&#xff08;&#xff…...

Android 11新增系统服务

1.编写.aidl文件存放位置&#xff1a;frameworks/base/core/java/android/ospackage android.os;interface ISystemVoiceServer {void setHeightVoice(int flag);void setBassVoice(int flag);void setReverbVoice(int flag);}2.将.aidl文件添加到frameworks/base/Android.bp f…...

“你要多弄弄算法”

开始瞎掰 ▽ 2月的第一天&#xff0c;猎头Luna给我推荐了字节的机会&#xff0c;菜鸡我呀&#xff0c;还是有自知之明的&#xff0c;赶忙婉拒&#xff1a;能力有限&#xff0c;抱歉抱歉。 根据我为数不多的和猎头交流的经验&#xff0c;一般猎头都会稍微客套一下&#xff1a…...

【数据结构】千字深入浅出讲解队列(附原码 | 超详解)

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石. &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd; &#x1f4e3;系列专栏&#xff1a;C语言实现数据结构 &#x1f4ac;总结&#xff1a;希望你看完…...

vue面试题(day04)

vue面试题vue插槽&#xff1f;vue3中如何获取refs&#xff0c;dom对象的方式&#xff1f;vue3中生命周期的和vue2中的区别&#xff1f;说说vue中的diff算法&#xff1f;说说 Vue 中 CSS scoped 的原理&#xff1f;vue3中怎么设置全局变量&#xff1f;Vue中给对象添加新属性时&a…...

自动标注工具 Autolabelimg

原理简介~~ 对于数据量较大的数据集&#xff0c;先对其中一部分图片打标签&#xff0c;Autolabelimg利用已标注好的图片进行训练&#xff0c;并利用训练得到的权重对其余数据进行自动标注&#xff0c;然后保存为xml文件。 一、下载yolov5v6.1 https://github.com/ultralytic…...

2023-03-20干活

transformer复现 from torch.utils.data import Dataset,DataLoader import numpy as np import torch import torch.nn as nn import os import time import math from tqdm import tqdmdef get_data(path,numNone):all_text []all_label []with open(path,"r",e…...

Java 注解(详细学习笔记)

注解 注解英文为Annotation Annotation是JDK5引入的新的技术 Annotation的作用&#xff1a; 不是程序本身&#xff0c;可以对程序做出解释可以被其他程序&#xff08;比如编译器&#xff09;读取。 Annotation的格式&#xff1a; 注解是以注解名在代码中存在的&#xff0c;还…...

LeetCode:35. 搜索插入位置

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; &#x1f33b;算法&#xff0c;不如说它是一种思考方式&#x1f340;算法专栏&#xff1a; &#x1f449;&#x1f3fb;123 一、&#x1f331;35. 搜索插入位置 题目描述&#xff1a;给定一个排序数组和一个目标值&…...

菜鸟刷题Day2

菜鸟刷题Day2 一.判定是否为字符重排&#xff1a;字符重排 描述 给定两个由小写字母组成的字符串 s1 和 s2&#xff0c;请编写一个程序&#xff0c;确定其中一个字符串的字符重新排列后&#xff0c;能否变成另一个字符串。 解题思路&#xff1a; 这题思路与昨天最后两道类似&…...

Selenium基础篇之不打开浏览器运行

文章目录前言一、场景二、设计1.引入库2.引入浏览器配置3.设置无头模式4.启动浏览器实例&#xff0c;添加配置信息5.访问质量分地址6.隐式等待5秒7.定位到输入框8.输入博文地址9.定位到查询按钮10.点击查询按钮11.定位到查询结果模块div12.打印结果13.结束webdriver进程三、结果…...

【数据结构初阶】栈与队列笔试题

前言在我们学习了栈和队列之后&#xff0c;今天来通过几道练习题来巩固一下我们的知识。题目一 用栈实现队列题目链接&#xff1a;232. 用栈实现队列 - 力扣&#xff08;Leetcode&#xff09;这道题难度不是很大&#xff0c;重要的是我们对结构认识的考察&#xff0c;由于这篇文…...

【Linux入门篇】操作系统安装、网络配置

目录 &#x1f341;Linux详解 &#x1f342;1.操作系统 &#x1f342;2.操作系统组成 &#x1f342;3.操作系统历史 &#x1f342;4.常见的Linux系统 &#x1f342;5.centos7下载 &#x1f342;6.安装centos7 &#x1f341;linux初始化配置 &#x1f343;1.虚拟机系统安装后操作…...

Selenium:找不到对应的网页元素?常见的一些坑

目录 1. 用Xpath查找数据时无法直接获取节点属性 2. 使用了WebDriverWait以后仍然无法找到元素 2.1. 分辨率原因 2.2. 需要滚动页面 2.3. 由于其他元素的遮挡 1. 用Xpath查找数据时无法直接获取节点属性 通常在我们使用xpath时&#xff0c;可以使用class的方式直接获取节…...

flex布局优化(两端对齐,从左至右)

文章目录前言方式一 nth-child方式二 gap属性方式三 设置margin左右两边为负值总结前言 flex布局是前端常用的布局方式之一&#xff0c;但在使用过程中&#xff0c;我们总是感觉不太方便&#xff0c;因为日常开发中&#xff0c;大多数时候&#xff0c;我们想要的效果是这样的 …...

【Django 网页Web开发】03. 初识Django(保姆级图文)

目录1. 命令行创建与pycharm创建的区别2. 项目结构信息2.1 项目结构2.2 项目app结构2.3 快速查看项目结构树3. 创建并注册app3.1 创建app3.2 注册app4. 编写URL与视图的对应关系5. 编写视图文件6. 启动项目7. 写多个页面8. templates模板的使用8.1 编写html文件8.3 导入html文件…...

KubeSphere All in one安装配置手册

KubeSphere All in one安装配置手册 1. 初始化 1.1 配置apt源 # vi /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb…...

Spring Boot 核心配置文件

Spring Boot 核心配置文件1、application.properties2、application.yml使用建议3、常用配置项服务器配置数据库配置日志配置其他配置4、配置文件的加载顺序5、配置文件的占位符6、配置文件的动态刷新7、配置文件的属性分组定义属性分组绑定属性分组使用属性分组总结Spring Boo…...

个人小站折腾后记

个人小站折腾后记 &#x1f3e0;个人主页&#xff1a;shark-Gao &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是shark-Gao&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f389;目前状况&#xff1a;23届毕业生&#xff0c;目前在某…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

前端开发者常用网站

Can I use网站&#xff1a;一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use&#xff1a;Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站&#xff1a;MDN JavaScript权威网站&#xff1a;JavaScript | MDN...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...

[USACO23FEB] Bakery S

题目描述 Bessie 开了一家面包店! 在她的面包店里&#xff0c;Bessie 有一个烤箱&#xff0c;可以在 t C t_C tC​ 的时间内生产一块饼干或在 t M t_M tM​ 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC​,tM​≤109)。由于空间…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

字符串哈希+KMP

P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...