美文网首页
frp内网穿透 最细教程

frp内网穿透 最细教程

作者: 果蝇的小翅膀 | 来源:发表于2023-04-03 23:06 被阅读0次

目的

配置内网穿透

软件安装

frp分为 frps(服务器端,即外网机器)frpc(客户端,即内网机器)

服务器端的配置 frps

1.1、下载地址,根据自己的机器选择想对应的版本
https://github.com/fatedier/frp/releases

wget -c https://github.com/fatedier/frp/releases/download/v0.48.0/frp_0.48.0_linux_arm64.tar.gz

1.2、修改frps.ini

# 删除所有的 frpc的内容
rm frpc*
vim frps.ini

frps.ini 文件的内容

[common]
bind_port = 7000 #connect port between server and client

token = XXX # token for safe

vhost_http_port = 8080
subdomain_host = frps.com

#set dashboard: test the open of port in server
dashboard_port = 7500
dashboard_user = test
dashboard_pwd = test

1.3、开放7000和7500端口(防火墙设置可以查看 防火墙设置

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

1.4、阿里云或者百度云需要添加防火墙规则,开放相关端口

阿里云设置的位置在 云服务器/安全组 中手动添加

image.png

1.5、部署frps

./frps -c frps.ini

1.6、浏览器dashboard查看部署情况

http://{user IP}:7500

如果不能打开网站,说明服务器端没有部署成功,查看端口是否打开,以及云服务器是否开放端口

1.7、设置开机自启动

 cd /etc/systemd/system/
touch frps.service

frps.service中的内容,注意修改ExecStart中的路径,注意设置User=root否则会报错

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root # user must be root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /root/frp/frp_0.48.0_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target

启动frps的服务

systemctl start frps
systemctl status frps

客户端的配置 frpc

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

[common]
tls_enable = true
server_addr = XXXX  #server IP, 外网服务器IP
server_port = 7000  #same with bind_port in server 
token = XXX  #same with token in frps.ini
log_file = XX # path of log file
log_level = info
log_max_days = 3

[ssh_wang1]
type = tcp
local_ip = 10.0.XX.XX  #local IP or set 127.0.0.1
local_port = 22
remote_port = 8081  

[rstudio_wang1]
type = tcp
local_port = 8787
use_encryption = true
use_gzip = false
pool_count = 10
remote_port = 6001

注意:
tls_enable = true,这个必须加上,否则会报错 login to server failed: i/o deadline reached

外界通过 公网IP(即外网服务器IP)+ remote_port 去访问 local_ip + local_port。比如访问1.2.3.4:8081 实质访问 127.0.0.1:22

因此:服务器的ssh的服务的默认端口是22,所以设置local_port 为22,而rstudio的默认端口是8787,所以设置local_port 为8787

2.3、客户端部署frpc

./frpc -c frpc.ini

访问设置

3.1、浏览器dashboard查看部署情况

可以看到部署的端口情况,参考1.6

image.png

3.2、服务器端设置
由于访问是通过 公网IP+ remote_port完成的,所以必须去服务器端开放相应的端口,如果按照上面的设置,需要开放8081和6001的端口,过程参考1.3 开放7000和7500端口 这一段

3.3、连接相关的服务

连接ssh服务

ssh -oPort=8081 {user Name}@{server IP}

连接rstudio server

在浏览器中输入
{server IP}:{6001}

参考网站:

1、阿里云服务器frp内网穿透教程
2、frp内网穿透教程
3、i/o deadline reached
4、linux查看防火墙状态和对外开放的端口状态

相关文章

网友评论

      本文标题:frp内网穿透 最细教程

      本文链接:https://www.haomeiwen.com/subject/fcarddtx.html