解决阿里云服务器开启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,再填写用户名和密码,就可以远程连接登录内网服务器搞开发了。

另外,如果需要服务稳定,nohup挂在后台也不一定靠谱,还是会掉,最好在中继服务器中设置开机自启动。

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

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 frpc
sudo systemctl enable frpc

如果想关掉,可以停止相应服务:

sudo systemctl stop frps

或

sudo systemctl stop frpc

以及禁止开机自启动:

sudo systemctl disable frps

或

sudo systemctl disable frpc

再记几个命令:

查看端口是否被监听

netstat -tunlp | grep 7000

查看挂在的nohup服务有哪些

ps aux | grep nohup

nohup挂载的服务可以用如下命令关掉,加-9是强制退出,不加不一定能关掉,能关掉的话会有一些保存工作。

kill -9   [id]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值