Jade Dungeon

Linux FRP 内网穿透

基础

通过arch命令查看架构下载对应的Frp软件包:https://github.com/fatedier/frp/releases

如树莓派选择linux_arm

服务端

修改配置文件frps.ini

[common]
bind_port = 7000            # frp客户端访问的入口
vhost_http_port = 8080      # 外网访问的端口

启动服务:

./frps -c ./frps.ini

如果显示Start frps success表示服务启动成功。

客户端

修改配置文件frpc.ini

# frpc.ini
[common]
server_addr = 938.283.348.523  # 服务器的IP
server_port = 7000             # 服务器的端口

[web]
type = http                            # 本地服务的协议
local_port = 80                        # 本地服务的端口
custom_domains = www.yourdomain.com    # 如果有域名的话,可以绑定

如果有域名,将 www.yourdomain.com 的域名 A 记录解析到外网服务器的 IP 938.283.348.523, 如果服务器已经有对应的域名,也可以将 CNAME 记录解析到服务器原先的域名。

以上全部配置完成后,启动服务:

./frpc -c ./frpc.ini

通过http://938.283.348.523:8080http://www.yourdomain.com:8080访问到 原来内网服务器的http://lan-ip:80

其他配置

服务器详细配置:

# 下面这句开头必须要有,表示配置的开始
[common]
# frp 服务端端口(必须)
bind_port = 7000
# frp 服务端密码(必须)
token = 12345678
# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
authentication_timeout = 900
# 仪表盘端口,只有设置了才能使用仪表盘(即后台)
dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
dashboard_user = admin
dashboard_pwd = admin
# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 10080
vhost_https_port = 10443
# 此设置需要配合客户端设置,仅在穿透到内网中的 http 或 https 时有用(可选)
# 假设此项设置为 example.com,客户端配置 http 时将 subdomain 设置为 test,
# 则你将 test.example.com 解析到服务端后,可以使用此域名来访问客户端对应的 http
subdomain_host = example.com

http

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
use_encryption = false
use_compression = false
remote_port = 6000       #自定义转发端口

[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5902

[web]
type = http
local_ip = 127.0.0.1
local_port = 8080 
custom_domains = [your ip]

[camara]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 8081 

其他

https://www.jianshu.com/p/b31ad0a5e676

https://segmentfault.com/a/1190000014615265