frp内网穿透

参考

https://blog.csdn.net/qq_36981760/article/details/115713179

下载

Linux/Mac OS

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

Windows

https://github.com/fatedier/frp/releases

公网主机里的frp文件夹可手动把frpc开头的文件全部删除

rm -rf frpc*

内网主机里的frp文件夹可手动把frps开头的文件全部删除

rm -rf frpc*

脚本配置

配置脚本请使用无注释版本,防止脚本运行出错

公网主机

打开服务器端配置文件

 vim ./frps.ini
 # 我的填写内容如下:
 [common]
 bind_port = 7000# 服务端与客户端通信端口
 dashboard_port = 7500# 后台管理端口
 dashboard_user = admin# 后台登录用户名
 dashboard_pwd = admin
 
 vhost_http_port = 7002# http穿透端口
 vhost_https_port = 7003# https穿透端口
 max_pool_count = 50
 
 token = aaa123# 身份验证令牌,frpc要与frps一致
 tcp_mux = true
 
 log_file = /usr/local/frp/frps.log# 日志相关
 log_level = info
 log_max_days = 3
 
 authentication_timeout = 0# 服务器与客户端时间相差15min会连接失败,0表示不验证
 subdomain_host = test.xyz# 注册的域名
 privilege_mode = true

公网主机无注释版本

 [common]
 bind_port = 7000
 dashboard_port = 7500
 dashboard_user = admin
 dashboard_pwd = admin
 
 vhost_http_port = 7002
 vhost_https_port = 7003
 max_pool_count = 50
 
 token = aaa123
 tcp_mux = true
 
 log_file = /usr/local/frp/frps.log
 log_level = info
 log_max_days = 3
 
 authentication_timeout = 0
 subdomain_host = test.xyz
 privilege_mode = true

注意:访问的端口一定要开放

启动frps

前台启动

./frps -c ./frps.ini

后台启动

./frps -c ./frps.ini &

内网主机

打开客户端配置文件

 vim ./frpc.ini
 # 我的填写内容如下:
 [common]
 server_addr = 10.10.xxx.xxx# 公网服务器ip
 server_port = 7000# 客户端与公网服务端通信端口
 
 token = aaa123# 令牌,与公网服务端保持一致
 tcp_mux = true
 
 log_file = /usr/local/frp/frpc.log# 日志相关
 log_level = info
 log_max_days = 3
 authentication_timeout = 0# 服务器与客户端时间相差15min会连接失败,0表示不验证
 
 # 添加ssh节点
 [ssh] 
 type = tcp
 local_ip = 192.168.xxx.xxx# 内网主机本地的服务ip
 local_port = 22
 remote_port = 7001# 指明由公网服务器的7001端口代理
 
 # 添加web节点
 [web01]
 type = http
 local_ip = 192.168.xxx.xxx# 内网主机本地的服务ip
 local_port = 8080# 本地8080端口可以通公网服务器7002端口访问,这里我的8080跑着tomcat
 custom_domains = test.xyz# 注册的域名

内网主机无注释版本

 [common]
 server_addr = 10.10.xxx.xxx
 server_port = 7000
 
 token = aaa123
 tcp_mux = true
 
 log_file = /usr/local/frp/frpc.log
 log_level = info
 log_max_days = 3
 authentication_timeout = 0
 
 [ssh] 
 type = tcp
 local_ip = 192.168.xxx.xxx
 local_port = 22
 remote_port = 7001
 
 [web01]
 type = http
 local_ip = 192.168.xxx.xxx
 local_port = 8080
 custom_domains = test.xyz

启动frpc

前台启动

./frpc -c ./frpc.ini

后台启动

./frpc -c ./frpc.ini &

frp开机自启动

公网主机

创建并编辑frp.service文件(有时候需要手动创建system文件夹)

vim /usr/lib/systemd/system/frps.service

vim找不到就试试vi

vi /usr/lib/systemd/system/frps.service

frps.service文件内容

注意,service 文件不支持行内注释!!!注释必须单独一行

 [Unit]
 Description=frps
 After=network.target
  
 [Service]
 TimeoutStartSec=30
 ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
 ExecStop=/bin/kill $MAINPID
  
 [Install]
 WantedBy=multi-user.target

把相关文件转移到/usr/local/bin/文件夹下,在/usr/local/bin/文件夹下创建frp文件夹

mkdir /etc/frp/

移动刚刚启动测试成功的frp文件夹下的所有frps开头原文件到/usr/local/bin/frp文件夹下

mv * /usr/local/bin/frp/

创建一个名为frps的快捷方式到/usr/local/bin/目录下

ln -s /etc/frp/frps /usr/local/bin/frps

设置开机启动

systemctl enable frps

启动frps

systemctl start frps

查看自启动服务状态

systemctl status frps

部分服务器上,可能需要加 .service 后缀来操作,即

 systemctl enable frps.service
 systemctl start frps.service
 systemctl status frps.service
内网主机

同理,创建并编辑自启动服务文件,移动相关文件,启动命令。

创建并编辑frp.service文件(有时候需要手动创建system文件夹)

vim /usr/lib/systemd/system/frpc.service

vim找不到就试试vi

vi /usr/lib/systemd/system/frpc.service

frpc.service文件内容

注意,service 文件不支持行内注释!!!注释必须单独一行

[Unit]
Description=frpc
After=network.target
 
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID
 
[Install]
WantedBy=multi-user.target

把相关文件转移到/usr/local/bin/文件夹下,在/usr/local/bin/文件夹下创建frp文件夹

mkdir /etc/frp

移动刚刚启动测试成功的frp文件夹下的所有frpc开头原文件到/usr/local/bin/frp文件夹下

mv * /etc/frp/

创建一个名为frpc的快捷方式到/usr/local/bin/目录下

ln -s /etc/frp/frpc /usr/local/bin/frpc

设置开机启动

systemctl enable frpc

启动frpc

systemctl start frpc

查看自启动服务状态

systemctl status frpc

部分服务器上,可能需要加 .service 后缀来操作,即

systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

注意

目前frp内网穿透并没有一个域名映射多个端口的使用方法,

只能一个多个域名映射一个端口。(你可以在服务商那里买一个域名,解析多个二级域名即可)

阿里云如何添加二级域名?

https://www.cnblogs.com/ningqing2015/articles/9207195.html

腾讯云如何添加二级域名?

https://www.cnblogs.com/mmzs/p/9989373.html

可能的问题

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===

https://blog.csdn.net/leenhem/article/details/117817641

推荐

【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中 https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=4d91ebf696f41e28d6f2fd7a542d7c8c&from=console

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注