解决阿里云服务器开启frp服务端,内网服务器开启frp客户端却连接不上的问题

解决方法: 把阿里云自带的Alibabxxxxxxxlinux系统 换成centos 7系统!!!!

说一下我的过程和问题:由于我们内网的服务器在校外是不能连接的,因此我弄了个阿里云服务器做内网穿透,所谓内网穿透就是当学校或者公司这种网络设置了私有,校园网之外的连接不了学校或者公司的服务器,因此得在学校或者公司的服务器内搭建一个穿透软件服务,那样就绕过学校的网关可以与外界联系,但这需要一个带公网ip的服务器当新的网关媒介。
搭建穿透服务可以用frp来打通一个隧道连接中介服务器与内网服务器。

我租了个阿里云服务器(一个月免费的,唉,我哪有钱),并在两端都下载好了frp包,再解压,并配置好了frps.ini,frpc.ini文件,在两台机器上各自开启了服务。
我检查两个配置文件对齐了7000连接端口,并且在阿里云服务器的控制台的安全组开放了6000-6005,7000-7005端口等等等等,甚至把两边的防火墙都关了,做了很多尝试但还是无效。

最后分析了一下日志,发现frpc这边每次都连接超时,日志说连不上阿里云服务器,但阿里云服务端明明开启了服务,是正常的,而且我也在阿里云服务器也ping过百度等网站,证明阿里云服务器网没问题,是可以与外界连通的。
最后我只能猜测是阿里云这边端口应该是做了某些设置,也许是系统的问题,对于这个兼容centos的Alibaba linux系统我第一次用,因此尝试重装,一次解决 ,ccccccnmcccccc!@!!!浪费我两天时间。

于是干脆记录一下,以备配置一次到位。

下面是linux版本的frp压缩包,里面的配置除了ip要把x.x.x.x改成自己的中继服务器之外,其他的可以直接复用(如果仅仅是用到ssh远程服务的话,是不需要更改的):
链接:https://pan.baidu.com/s/14D2YOwVaayqOHCX_b4x4PA
提取码:kr34

这里用unzip frp.zip命令解压之后,进入目录,记得赋予frps, frpc两个文件可执行权限,命令是: chmod +x frps, chmod +x frps

中继服务器的frps.ini的配置:

[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = admin
dashboard_pwd = admin

内网服务器frpc.ini文件的配置

[common]
tls_enable = true
server_addr = x.x.x.x
server_port = 7000
token = 12345678[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000[tensorboard]
type = tcp
local_ip = 127.0.0.1
local_port = 6006
remote_port = 6006

中继服务器用nohup ./frps -c frps.ini & 命令开启服务,看到返回信息下面说明开启成功。(后面会说后台开启服务,并且开机自启动)
在这里插入图片描述

内网服务器用nohup ./frpc -c frpc.ini &命令开启服务,看到下面返回信息说明正常的开启。
在这里插入图片描述
没有返回信息说明,服务开启不正常,二者不能正常通信。两个都有返回,那就是成功了!

另外,阿里云组最好开放的端口有:
在这里插入图片描述
优先级都是1。
最好把两边的防火墙都开一一下端口,或者直接关闭(防火墙命令在我的tomcat那篇文章中有)。

然后在任何一台本地机器的ssh软件中,填写内网服务器的地址,端口是配置文件中ssh服务模块设置的remote_port 端口 6000,再填写用户名和密码,就可以远程连接登录内网服务器搞开发了。

另外,如果需要服务稳定,最好在中继服务器中设置开机自启动。

在中转服务器中编辑文件:

vim /etc/systemd/system/frps.service

把下面的ExecStart这个属性的两个路径都换成自己的文件路径,然后保存即可。

[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/root/frp/frps -c /root/frp/frps.ini[Install]
WantedBy=multi-user.target

再执行运行,以及开机自启动:

sudo systemctl start frps
sudo systemctl enable frps

同理,创建内网服务器的连接服务:

vim /etc/systemd/system/frpc.service
[Unit]
Description=frpc service
After=network.target
Wants=network.target[Service]
Type=simple
ExecStart=/home/frp/frpc -c /home/frp/frpc.ini
Restart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target

再执行运行,以及开机自启动:

sudo systemctl start frps
sudo systemctl enable frps

停止服务:

sudo systemctl stop frps
sudo systemctl stop frpc

禁止开机自启动:

sudo systemctl disable frps
sudo systemctl disable frpc

再记一个命令,查看端口是否被监听:

netstat -tunlp | grep 7000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/526878.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sora盈利新路径:基于技术创新与跨界融合

在数字化时代,技术的飞速进步为企业带来了前所未有的盈利机会。Sora作为一款前沿的AI视频生成工具,其盈利新路径可以基于技术创新与跨界融合两个核心策略来探索。 一、技术创新:持续引领行业前沿 Sora学习资料:使用方式完整文档…

安装及管理docker

文章目录 1.Docker介绍2.Docker安装3.免sudo设置4. 使用docker命令5.Images6.运行docker容器7. 管理docker容器8.创建image9.Push Image 1.Docker介绍 Docker 是一个简化在容器中管理应用程序进程的应用程序。容器让你在资源隔离的进程中运行你的应用程序。类似于虚拟机&#…

python基础——条件判断和循环【if,while,for,range】

📝前言: 这篇文章主要讲解一下条件判断语句if和循环语句while,for在python中需要注意的地方。 建议已有一定了解(对语句的执行逻辑清楚)的读者观看,如果对条件判断和循环的执行逻辑不太清楚,也可…

【软考】单元测试

目录 1. 概念2. 测试内容2.1 说明2.2 模块接口2.3 局部数据结构2.4 重要的执行路径 3. 测试过程2.1 说明2.2 单元测试环境图2.3 驱动模块2.4 桩模块 4. 模块接口测试与局部数据结构测试的区别 1. 概念 1.单元测试也称为模块测试,在模块编写完成且无编译错误后就可以…

Anaconda prompt运行打开jupyter notebook 指令出错解决方案

一、打不开jupyter notebook网页 报错如下: Traceback (most recent call last): File “D:\anaconda3\lib\site-packages\notebook\traittypes.py”, line 235, in _resolve_classes klass self._resolve_string(klass) File “C:\Users\DELL\AppData\Roaming\Py…

微信小程序-入门

一.通过 Npm方式下载构建 1.下载和安装Npm:Npm https://docs.npmjs.com/downloading-and-installing-node-js-and-npm 或者 https://nodejs.org/en/download/ 未安装npm 提示 以下以安装node安装包为例 按任意键继续 安装完成后 2. 下载和安装小程序开…

腾讯云轻量服务器流量用完了怎么办?还能继续用吗?

腾讯云轻量服务器流量用完了怎么办?超额部分的流量另外支付流量费,流量价格为0.8元/GB,会自动扣你的腾讯云余额,如果你的腾讯云账号余额不足,那么你的轻量应用服务器会面临停机,停机后外网无法访问&#xf…

Spring Security的API Key实现SpringBoot 接口安全

Spring Security的API Key实现SpringBoot 接口安全 Spring Security 提供了各种机制来保护我们的 REST API。其中之一是 API 密钥。API 密钥是客户端在调用 API 调用时提供的令牌。 在本教程中,我们将讨论如何在Spring Security中实现基于API密钥的身份验证。 API…

Java_Map_Set

文章目录 一、搜索树1.概念2.操作-查找3.操作-插入4.操作-删除(难点)5.完整代码 二、搜索1.概念及场景2.模型 三、Map的使用1.Map的常用方法说明 四、Set的使用1.常见方法说明2.TreeSet的使用案例 五、哈希表1.概念2.哈希冲突3.哈希冲突避免4.哈希冲突的…

爬虫练习:获取某网站的房价信息

一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(房天下数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [名称, 地点,价格,总价,联系电话]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer.writeheader…

【解读】OWASP大语言模型应用程序十大风险

OWASP大型语言模型应用程序前十名项目旨在教育开发人员、设计师、架构师、经理和组织在部署和管理大型语言模型(LLM)时的潜在安全风险。该项目提供了LLM应用程序中常见的十大最关键漏洞的列表,强调了它们的潜在影响、易利用性和在现实应用程序…

学习和认知的四个阶段,以及学习方法分享

本文分享学习的四个不同的阶段,以及分享个人的一些学习方法。 一、学习认知的四个阶段 我们在学习的过程中,总会经历这几个阶段: 第一阶段:不知道自己不知道; 第二阶段:知道自己不知道; 第三…