frp实现内网穿透

因为有在外面访问家里 NAS 的需求,群晖自带的动态域名解析访问又太慢。所以需要用内网穿透技术来实现通过其他公网 IP 来访问家里的 NAS 设备的需求。

frp的github地址 点击这里
frp的下载地址 点击这里

1 客户端部署

##下载对应版本的Frp wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz ##解压 tar -xzvf frp_0.21.0_linux_amd64.tar.gz ##进入目录 cd frp_0.21.0_linux_amd64 ##删除服务端相关的文件 rm -rf frps* 

编辑客户端的配置文件frpc.ini

[common] server_addr = x.x.x.x //服务端的IP地址 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [nas] type = http local_ip = 192.168.0.100 //nas的局域网ip local_port = 5000 custom_domains = nas.example.com 

运行客户端frp

nohup ./frpc -c ./frpc.ini > info.log 2>&1 & echo $! > tpid 

2 服务端部署

##下载对应版本的Frp wget https://github.com/fatedier/frp/releases/download/v0.21.0/frp_0.21.0_linux_amd64.tar.gz ##解压 tar -xzvf frp_0.21.0_linux_amd64.tar.gz ##进入目录 cd frp_0.21.0_linux_amd64 ##删除服务端相关的文件 rm -rf frpc* 

编辑服务端配置文件frps.ini

[common] dashboard_port = 7500 //Dashboard端口 dashboard_user = admin //账号 dashboard_pwd = admin //密码 bind_port = 7000 vhost_http_port = 8080 server_addr = x.x.x.x //服务器id [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 

运行服务端frp

nohup ./frps -c ./frps.ini > info.log 2>&1 & echo $! > tpid 

3 查看效果&&隐藏端口号

访问http://nas.example.com:8080

11096212-16f4d862c648400f.png

端口号访问

这时候我们使用网址访问的时候是会带端口号的。看着很烦。这里使用nginx转发的方式可以去掉8080。nginx添加conf如下:

server { listen 80; server_name nas.example.com ; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080; } } 

11096212-1c764338a6aae56d.png

不带端口号访问

成功!!!

原文链接:https://blog.csdn.net/weixin_44600422/article/details/89346175

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享