如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

文章目录

  • [1. Linux(centos8)安装redis数据库](#1. Linux(centos8)安装redis数据库)
  • [2. 配置redis数据库](#2. 配置redis数据库)
  • [3. 内网穿透](#3. 内网穿透)
    • [3.1 安装cpolar内网穿透](#3.1 安装cpolar内网穿透)
    • [3.2 创建隧道映射本地端口](#3.2 创建隧道映射本地端口)
  • [4. 配置固定TCP端口地址](#4. 配置固定TCP端口地址)
    • [4.1 保留一个固定tcp地址](#4.1 保留一个固定tcp地址)
    • [4.2 配置固定TCP地址](#4.2 配置固定TCP地址)
    • [4.3 使用固定的tcp地址连接](#4.3 使用固定的tcp地址连接)

如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

本文讲述如何为树莓派的SSH远程配置一个永久股东的公网TCP地址 ↓

通常,每次启动Cpolar TCP隧道时,系统都会随机分配一个远程TCP地址和端口,它会在24小时后随机变化,这对于经常访问的用户,或者生产环境的服务来说很不方便。为此,您需要配置一个永久固定的公网TCP地址。

前置条件

  • 树莓派
  • 已启动SSH
  • 已安装cpolar
  • 已升级至cpolar专业套餐

首先,登录您的 cpolar 后台,在cpolar后台 -> 预留 -> 保留 TCP 地址部分,添加一条记录。

地区选择 China VIP,和填写描述,然后点击保留按钮。

系统会分配给您一个该地区的固定TCP地址,可供长期稳定使用。

在调用 cpolar 时使用 -remote-addr 选项参数,值为系统分配给您的保留 TCP 地址。

命令行使用举例:

修改cpolar配置文件

在树莓派中,修改cpolar配置文件,在ssh隧道下,添加remote_addr参数

nano /usr/local/etc/cpolar/cpolar.yml

注意:配置文件中的remote_addr参数为下划线,与命令行中使用的-remote-addr中划线不同。

修改完保存退出。

  • 测试配置文件,我们在前台单独启动隧道文件,测试一下

    cpolar start ssh

如上图,已经主明已经启动了固定TCP端口隧道,与我们在后台获得得隧道地址一致。

CTRL+C退出。

  • 重新启动cpolar服务,使ssh隧道在后台生效。

    sudo systemctl restart cpolar

  • 使用公网地址连接SSH测试

    ssh pi@1.tcp.vip.cpolar.cn -p 20046

注意:由于公网端口变成20046,所以请求时,ssh命令要加上-p参数, 值为指定的cpolar公网端口号。

windows用户修改ssh客户端的默认端口为cpolar的公网端口即可。

1. Linux(centos8)安装redis数据库

  • 进入user下面的local目录,通常外部软件安装在此目录
shell 复制代码
cd /usr/local
  • 下载redis
shell 复制代码
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
  • 下载好后,解压redis
shell 复制代码
tar xzf redis-6.2.6.tar.gz
  • 解压好后,进入redis目录进行编译
shell 复制代码
cd redis-6.2.6/
  • 进入后输入make,输入后等待编译完成

编译好后,输入以下命令安装redis

shell 复制代码
make install PREFIX=/usr/local/redis-6.2.6

安装好后进入redis目录执行以下命令启动redis,默认端口是6379

shell 复制代码
./bin/redis-server redis.conf

然后Ctrl+C退出

2. 配置redis数据库

配置redis后台运行,编辑配置文件redis.conf

shell 复制代码
vim /usr/local/redis-6.2.6/redis.conf 

daemonize no 改成daemonize yes

还有将以下两个参数分别修改,开启远程访问

修改完成后保存退出配置文件,重启redis然后接着再次执行如下启动命令,发现redis图形不见了,即为后台启动

shell 复制代码
./bin/redis-server redis.conf

3. 内网穿透

cpolar是一款内网穿透软件,使用简单,安全可靠。我们可以通过cpolar把本地6379端口暴露到公共网络,然后可以使用工具进行远程访问。

cpolar官网:https://www.cpolar.com/

3.1 安装cpolar内网穿透

  • Linux支持使用一键脚本命令安装
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后执行如下命令,xxxx是token码

shell 复制代码
cpolar authtoken xxxxxxx(您的token)
  • 向系统添加服务(以方便开机自启)
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
sudo systemctl start cpolar

3.2 创建隧道映射本地端口

cpolar安装成功后,在命令行输入以下命令将本地6369端口下的redis暴露到公网

shell 复制代码
cpolar tcp 6379

出现如下界面表示成功,然后复制公网地址

使用redis图形化界面远程连接redis,输入复制的tcp地址,点击测试连接

出现successful表示成功

注意:如果想要让隧道长期可访问,可以将其保存到配置文件中去,实现后台服务。请参考cpolar官网------文档------命令行创建隧道------将隧道配置为后台服务。

4. 配置固定TCP端口地址

以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。而我们可以为其配置一个固定的公网地址,方便后续长期远程。

4.1 保留一个固定tcp地址

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为远程Redis数据库保留一个固定tcp地址:

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

4.2 配置固定TCP地址

编辑cpolar配置文件

shell 复制代码
vim /usr/local/etc/cpolar/cpolar.yml

复制添加如下信息,remote_addr参数为上面复制的保留的tcp地址

shell 复制代码
redis:
    addr: 6379
    proto: tcp
    remote_addr: 3.tcp.vip.cpolar.cn:11506

修改完然后保存退出,接着重启cpolar服务

shell 复制代码
sudo systemctl start cpolar

4.3 使用固定的tcp地址连接

出现successful表示成功

总结:

现在,我们每次远程连接树莓派时,不必每次修改远程ssh连接地址了,效率进一步提升。

转载自cpolar极点云文章:如何配置一个永久固定的公网TCP地址来SSH远程树莓派?

相关推荐
hgdlip3 小时前
主IP地址与从IP地址:深入解析与应用探讨
网络·网络协议·tcp/ip
今天我刷leetcode了吗3 小时前
docker 配置同宿主机共同网段的IP 同时通过通网段的另一个电脑实现远程连接docker
tcp/ip·docker·电脑
lwprain4 小时前
安装支持ssl的harbor 2.1.4 docker 19.03.8 docker-compose 1.24.0
网络协议·ssl·harbor
软件技术员4 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
爱分享的码瑞哥7 小时前
Python爬虫中的IP封禁问题及其解决方案
爬虫·python·tcp/ip
_不会dp不改名_7 小时前
HCIA笔记3--TCP-UDP-交换机工作原理
笔记·tcp/ip·udp
co0t7 小时前
计算机网络(14)ip地址超详解
服务器·tcp/ip·计算机网络
C++忠实粉丝7 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
C++忠实粉丝9 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
九州ip动态9 小时前
做网络推广及游戏注册为什么要换IP
网络·tcp/ip·游戏