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:8080
或http://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