阿里云ECS vpc网络与办公网内网互通

47 篇文章 0 订阅
19 篇文章 0 订阅

        公网远程操作很不安全,因此决定使用内网互通模式,虽然阿里云有自带的vpn,但是太贵了,身为运维的我,一定要为公司省钱,只能想想法子,自己搭建一套内网vpn使用

环境:

阿里云vpc网络的ecs

办公网使用的ikuai 软路由

系统是centos8

网络:该服务器 10.81.184.196/16, 该网段内有好多阿里云服务器,其中一台ip为  10.81.184.186,本次就是办公网可以与 10.81.184.186 互通

要求:办公网使用内网可以随意访问阿里云服务器

  1. 搭建openvpn服务

  2. 添加路由表

  3. 配置openvpn内网访问策略

  4. 在ikuai添加阿里云内网访问路由

搭建步骤

1.搭建openvpn服务

dnf install epel-release -y 
dnf install openvpn easy-rsa -y

配置 

cd /etc/openvpn/
rm -rf client/* rm -rf easy-rsa/
cp -r /usr/share/easy-rsa/3.0.8/ /etc/openvpn/easy-rsa
cp -r /usr/share/doc/easy-rsa/vars.example /etc/openvpn/easy-rsa/vars

生成证书

cd /etc/openvpn/easy-rsa/
./easyrsa init-pki
./easyrsa build-ca nopass                 #输入 vpn.dvcloud.xin

创建服务器证书

./easyrsa gen-req server nopasss            #输入  vpn.dvcloud.xin
./easyrsa sign server server                #输入  yes
 

创建 Diffie-Hellman 

./easyrsa gen-dh
openvpn --genkey --secret ta.key
cp -r ta.key /etc/openvpn/

创建客户端证书

#Monday,Tuesday、Wednesday、Thursday、Friday、Saturday 、Sunday

cd /etc/openvpn/client/
rm -rf easy-rsa/
\cp -r /usr/share/easy-rsa/3.0.8/ /etc/openvpn/client/easy-rsa
\cp -r /usr/share/doc/easy-rsa/vars.example /etc/openvpn/client/easy-rsa/vars
cd /etc/openvpn/client/easy-rsa/
./easyrsa init-pki
./easyrsa gen-req client nopass        #输入  Monday
cd /etc/openvpn/easy-rsa/
find pki -name "client*" -delete
./easyrsa import-req /etc/openvpn/client/easy-rsa/pki/reqs/client.req client
./easyrsa sign client client            #输入  yes

   

整理证书

mkdir /etc/openvpn/certs
\cd /etc/openvpn/certs
\cp /etc/openvpn/easy-rsa/pki/dh.pem .
\cp /etc/openvpn/easy-rsa/pki/ca.crt .
\cp /etc/openvpn/easy-rsa/pki/issued/server.crt .
\cp /etc/openvpn/easy-rsa/pki/private/server.key .

# one two three four five

整理客户端

mkdir /etc/openvpn/client/Monday
cd /etc/openvpn/client/Monday
cp /etc/openvpn/easy-rsa/pki/ca.crt .
cp /etc/openvpn/easy-rsa/pki/issued/client.crt .
cp /etc/openvpn/easy-rsa/pki/private/ca.key .
cp /etc/openvpn/ta.key .
cp /etc/openvpn/client/easy-rsa/pki/private/client.key .
#服务器配置如下
[root@devops openvpn]# grep '^[^;|^#]' /etc/openvpn/server/server.conf
port 31393
proto udp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
key /etc/openvpn/certs/server.key
dh /etc/openvpn/certs/dh.pem
server 192.168.60.0 255.255.255.0
push "route 10.81.0.0 255.255.0.0"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
verb 3
mute 20
explicit-exit-notify 1

打开ip转发功能

vim /etc/sysctl.conf

#增加下行到文件中
net.ipv4.ip_forward = 1

#然后执行命令
sysctl -p

启动服务

systemctl start openvpn-server@server.service

可以看的,openvpn的网络是  192.168.60.0 255.255.255.0  ,推送的路由是 10.81.0.0 255.255.0.0  ,10.81.0.0 255.255.0.0这个路由就是阿里云ecs vpc网络段

2.添加路由表

路由表下一跳填写 阿里云服务器搭建openvpn的ecs实例

3.配置openvpn内网访问策略

这个需要在安全组进行配置

打开被访问服务器的安全组,添加openvpn访问路由的ip 

4.在ikuai 添加openvpn 客户端配置

保存之后,通过本地电脑访问

发现可以正常访问,第一条是ikuai路由器网关,第二条是openvpn 网关,第三条是目标服务器地址

openvpn管理平台可以参考该文章:openvpnas安装,可视化远程连接控制_第九系艾文的博客-CSDN博客

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: PubSubClient是一个基于Arduino平台的开源软件库,用于连接和通信与MQTT代理(如阿里云IoT)。 阿里云是由中国领先的科技公司阿里巴巴集团推出的云计算平台。在阿里云平台上,您可以使用各种云服务,包括计算、存储、数据库、物联等。 PubSubClient库可以帮助您在Arduino项目中轻松连接到阿里云的MQTT代理。MQTT是一种用于物联设备之间通信的协议,可以实现低功耗和高效的消息传递。PubSubClient库提供了一组函数,可用于订阅主题、发布消息和处理收到的消息。 使用PubSubClient库连接到阿里云MQTT代理,您需要提供阿里云的连接参数,如设备ID、身份验证信息和MQTT代理的地址。一旦连接成功,您可以使用库中的函数来发送和接收消息。通过订阅感兴趣的主题,您可以收到来自其他设备或应用程序的消息,并对其进行处理。 PubSubClient库的使用示例代码已经在其官方文档中提供。您可以根据您的具体需求和阿里云的设置进行调整和定制。通过结合Arduino和阿里云,您可以构建智能家居、物联设备或其他Arduino项目,实现与外部世界的通信和互动。 ### 回答2: PubSubClient 是一个用于 Arduino 的 MQTT 客户端库,可以方便地让 Arduino 与 MQTT 代理建立连接、发布消息和订阅主题。 阿里云是阿里巴巴集团旗下的云计算服务平台,提供了全面的云计算产品和解决方案,包括云服务器、数据库服务、存储与CDN、网络与安全、物联、人工智能等。 PubSubClient 阿里云是指在阿里云平台上使用 PubSubClient 库进行 MQTT 通信。通过将 PubSubClient 库与阿里云提供的 MQTT 协议进行集成,可以实现 Arduino 与阿里云的连接与通信。 使用 PubSubClient 阿里云,我们可以利用 Arduino 来订阅阿里云上的主题,接收来自其他设备或服务的实时消息。同时,我们还可以使用 Arduino 来发布消息到阿里云上的特定主题,以实现与其他设备或服务之间的实时交互。 使用 PubSubClient 阿里云有很多应用场景,比如智能家居系统中的远程控制与监测、物联设备之间的数据交换与同步、环境监测与报警系统等。 总之,PubSubClient 阿里云是一种将 PubSubClient 库应用在阿里云平台上的解决方案,使得 Arduino 可以方便地与阿里云进行 MQTT 通信,实现设备之间的互联互通。 ### 回答3: pubsubclient是一种用于实现发布订阅模式的开源客户端库,用于连接和与阿里云进行通信。阿里云是阿里巴巴集团旗下的云计算服务平台,提供了丰富的云计算资源和解决方案,包括云服务器、对象存储、数据库、人工智能等。 使用pubsubclient可以方便地将设备或应用程序连接到阿里云,实现与云端资源的数据交互。该客户端库基于MQTT协议,支持轻量级的通信,因此非常适合在物联场景中使用。 通过pubsubclient,可以实现设备向阿里云发送数据,或者从阿里云接收数据。设备可以订阅感兴趣的主题,当有消息发布到这些主题时,就可以收到相应的消息。同时,设备也可以发布消息到特定的主题,这些消息会被订阅该主题的接收者收到。 这种基于发布订阅模式的通信方式具有很多优势。首先,它实现了解耦,设备和云端不需要直接建立连接,而是通过主题进行消息传递。其次,它具有灵活性,可以支持多对多的通信模式,同时可以动态地添加和移除订阅者。此外,它还具有可靠性和高效性,能够确保消息的可靠传输,并且减少了网络传输的开销。 总之,pubsubclient与阿里云的结合可以帮助开发者快速搭建物联应用,实现设备与云端的有效通信与数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值