【保姆级】阿里云服务器frp内网穿透教程

背景1:

去年买了一台阿里云服务器,轻量应用服务器,2核4G.个人比较喜欢嵌入式,开发板也不少,但是开发板连接路由器后内次都要看一下IP然后去连接(虽然可以在路由器上控设置固定IP),然后最近突发奇想,使用阿里云服务器的公网IP作为跳板实现frp内网穿透,实现公网IP+端口随时随地就能控制你的开发板[nice.jpg],也能通过公网IP+端口访问你的电脑等等,感觉特别好玩,联想起huashengke的实现原理好像也是这样。

背景2:

就在前不久,感觉学校的内网把我的公网IP给拦截了,只要是使用学校的内网都ping不通,但手机流量可以访问(阿巴阿巴阿巴我干了啥子),然后就借用舍友的服务器作为跳板去访问我的服务器了,此时决定写下该frp教程

步骤如下:下载源码、部署服务器端、部署客户端。

步骤1:源码准备

看准你的系统是什么,我的系统是centos7,下载的是linux_amd64,如果想在电脑上实现就用windows,按需下载。

[root@Fourth ~]# uname -a
........................................ x86_64 x86_64 x86_64 GNU/Linux

!!! githup地址:https://github.com/fatedier/frp/releases
【保姆级】阿里云服务器frp内网穿透教程_第1张图片
将对应压缩包上传到服务器,然后解压

tar -zxvf frp_0.42.0_linux_amd64.tar.gz
cd frp_0.42.0_linux_amd64

步骤2:服务器端配置

1、修改frps.ini

[root@Fourth frp_0.42.0_linux_amd64]# vi frps.ini


[common]
bind_port = 7000    #这个一般不要改它

dashboard_port = 7500 # 设置仪表盘端口
# 设置仪表盘访问的用户名密码
dashboard_user = admin
dashboard_pwd = admin

2、开放7000、7500端口,重启防火墙(更多防火墙操作见 防火墙篇)

firewall-cmd --permanent --zone=public --add-port=7000/tcp
firewall-cmd --permanent --zone=public --add-port=7500/tcp
systemctl reload firewalld

3、阿里云控制台开放7000、7500端口
【保姆级】阿里云服务器frp内网穿透教程_第2张图片
4、部署frp

./frps -c frps.ini

5、浏览器查看部署情况

http://你的ip:7500

【保姆级】阿里云服务器frp内网穿透教程_第3张图片

步骤3:客户端配置

1、参照步骤1和2将对应的githup源码压缩包放在客户端上,解压。
2、修改frpc.ini

[root@Fourth frp_0.42.0_linux_amd64]# vi frpc.ini

[common]
server_addr = 服务器的公网IP
server_port = 7000


[sshself] 				#这个名字可以随便改
type = tcp 				#通常tcp,udp按需修改
local_ip = 127.0.0.1 	#一般不修改
local_port = 22 		#外界连接本机的哪个端口
remote_port = 15000 	#外界可以通过哪个端口访问进来

#外界通过  公网IP + remote_port  ---访问--->  local_ip + local_port 
#如:访问1.2.3.4:15000 实质访问 127.0.0.1:22

3、客户端部署frp

./frpc -c frpc.ini

连接成功会有相应的提示,如果连接失败请检查以上步骤
.
.
.

此时已经基本部署完毕,但并没有什么实质的功能,因为在服务器端还没有开放可供客户端连接的端口,需要参照服务器端开放相应的端口给客户端,如上面步骤提到的15000端口

然后可以通过公网IP+端口访问你的开发板或者对应的服务了
【保姆级】阿里云服务器frp内网穿透教程_第4张图片

附加操作

1、将服务器端、客户端程序放到后台运行

服务器端
nohup ./frps -c frps.ini &

客户端
nohup ./frpc -c frpc.ini &

2、将frp放至开机自启动

sudo vi /etc/rc.local  

#自行修改为绝对路径
nohup /root/frp/frpc -c /root/frp/frpc.ini &

3、如果在客户端需要进行频繁修改与重新部署,参考以下一键重新部署脚本,自行修改路径

vi rebootfrp.sh


#!/bin/sh
NAME='/root/frp/frp_0.42.0_linux_amd64/frpc.ini'
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
cd
nohup /root/frp/frp_0.42.0_linux_amd64/frpc -c /root/frp/frp_0.42.0_linux_amd64/frpc.ini &
echo "------reboot---------"

你可能感兴趣的:(关于我买了台阿里云服务器,Linux,学习笔记,其他随笔,服务器,阿里云,linux)