如何配置一个永久固定的公网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远程树莓派?

相关推荐
涔溪6 小时前
HTTP TCP三次握手深入解析
网络·tcp/ip·http
憨子周6 小时前
2M的带宽怎么怎么设置tcp滑动窗口以及连接池
java·网络·网络协议·tcp/ip
Ztiddler10 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
ZachOn1y12 小时前
计算机网络:运输层 —— 运输层端口号
网络协议·tcp/ip·计算机网络·udp·tcp·端口号
Z pz12 小时前
网络编程——Python简单TCP通信功能代码实践
网络·python·tcp/ip
qq_2546744113 小时前
在C2M(Customer-to-Manufacturer)柔性制造模式下,算法
网络协议
橘色的喵13 小时前
工业通信协议对比:OPC-UA、Modbus、MQTT、HTTP
mqtt·网络协议·http·modbus·opc-ua·工业协议
迷途小码农零零发14 小时前
http的发展史
网络·网络协议·http
cocapop14 小时前
IP地址 与 DNS
网络协议·tcp/ip·智能路由器
CP-DD14 小时前
TCP编程API
网络·网络协议·tcp/ip