Lemon

利用FRP内网穿透访问Padavan路由器
前言 ::huaji:hj6:: 近来,又在玩自己的路由器,也是无聊才干了这么些事,自己的路由器是新路由器3(矿难...
扫描右侧二维码阅读全文
01
2019/06

利用FRP内网穿透访问Padavan路由器

前言

近来,又在玩自己的路由器,也是无聊才干了这么些事,自己的路由器是新路由器3(矿难机),花了150左右在某宝买了个改散热+增强2.4Ghz的~ 刷过一些固件

  • Padavan(使用了一段时间,功能也是比较多的,具体的你们自己去刷了就知道了)
  • OpenWrt(出了名的路由器固件吧,可玩性还是一般的,我也没有接触太多)
  • 高恪(没啥可玩性,什么内网穿透都没,更不说屏蔽广告什么,但是可以一键封杀抖音等服务)

这里Padavan固件的默认账号和密码都是admin,管理界面是192.168.1.1;具体什么是内网穿透,自行百度了解吧


准备

需要准备的东西是

  • 服务器一台(具有公网IP的,带宽越大越好,最好开放4000-11000端口号
  • 已经联网的路由器一台(而且固件是Padavan固件,最新的最好,不知道怎么下载,自行进入恩山论坛下载,基础都不说了,包括路由器刷固件)

正文

1.(Windows下)使用Xshell6连接上自己的服务器

frp_1.png

2.连接后使用arch命令查看服务器架构,我的是x86_64****

3.如果和我的服务器是一样的,使用以下命令将frp最新的包wget到服务器

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

4.然后再使用tar命令解压,刚才到服务器的包

tar -xzvf frp_0.27.0_linux_amd64.tar.gz

使用重命名

mv frp_0.27.0_linux_amd64 frp

5.进入frp目录,并使用ll命令查看frp目录下的文件列表
frp_2.png

6.使用vi命令编辑frp目录下的 frps.ini 服务器端配置文件,英文输入状态下按i键进入编辑模式

[common]
#frp服务端口
bind_port = 7000
#客户端与服务端建立穿透访问的密钥
token = 12345678
#frp使用http协议访问网站的端口
vhost_http_port = 10080
#frp使用https协议访问网站的端口
vhost_https_port = 10443
#frp信息面板端口
dashboard_port = 7500
#frp信息面板的用户名及密码
dashboard_user = admin
dashboard_pwd = admin123
#frp面板的域名(这里我用的自己博客的顶级域名解析到自己的服务器上的)
subdomain_host = iucode.cn

按Esc退出编辑模式,让后输入 :wq! 命令强制写入保存并退出
到此服务器配置环境可以告一段落了

7.启动服务

./frps -c frps.ini

然后访问frp信息面板测试一下,服务的ip:7500,例如:example:7500,正常情况下,并弹出输入框,输入上面的frps.ini里面的填写的账号和密码。
效果图如下
frp_3.png

如果现在直接断开服务器的话,frp服务也会立即停止的,此时要使用nohoop或者screen命令让frp服务在后台持续运行
(这里仅演示nohoop命令)

nohup /root/frp/frps -c /root/frp/frps.ini &

8.以上的配置完成后,可以断开自己的服务器连接了。如果无法访问自己的frp信息面板的话,可能是frp服务没有启动,也有可能是服务器没有开放上面所需要的几个端口号,如果在服务器提供商已经打开了上面的几个端口号,还是无法打开,或者也是你用的是宝塔面板的话,请在宝塔面板的安全管理,开放上面的端口即可(切记不要吧上面的vhost_http_port和vhost_https_port后面的参数改为80和443,因为这会和你的web服务软件端口号起冲突,建议按照我上面的填写

9.前往路由器管理界面填写客户端信息(及其重要的一步)
frp_4.png

10.

export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export LD_LIBRARY_PATH=/lib:/opt/lib
killall frpc frps
mkdir -p /tmp/frp
#启动frp功能后会运行以下脚本
#使用方法请查看论坛教程地址: http://www.right.com.cn/forum/thread-191839-1-1.html
#frp项目地址教程: https://github.com/fatedier/frp/blob/master/README_zh.md
#请自行修改 auth_token 用于对客户端连接进行身份验证
# IP查询: http://119.29.29.29/d?dn=github.com
#客户端配置:
cat > "/tmp/frp/myfrpc.ini" <<-\EOF
[common]
#这里填写服务端frps.ini三项参数即可
server_addr = iucode.cn
server_port = 7000
token = 12345678
#这里是内网穿透的web参数
[web]
type = http
local_ip = 127.0.0.1
local_port = 80
use_encryption = true
use_compression = true
#设置远程管理的路由器登录名和密码,设置和本地不同和相同的都行
http_user = admin
http_pwd = 123456
#远程管理的路由器的端口号(必填)
remote_port = 10080
#此项参数是域名前缀,例如我的域名前缀是r,最后我可以通过r+上面的server_addr+remote_port访问路由器
#例如我的就是r.iucode.cn:10080
subdomain = r
EOF
#启动:
frpc_enable=`nvram get frpc_enable`
frpc_enable=${frpc_enable:-"0"}
frps_enable=`nvram get frps_enable`
frps_enable=${frps_enable:-"0"}
if [ "$frpc_enable" = "1" ] ; then
    frpc -c /tmp/frp/myfrpc.ini &
fi
if [ "$frps_enable" = "1" ] ; then
    frps -c /tmp/frp/myfrps.ini &
fi

(#号)那些行是注释,可以不写,但是方便你理解

11.到系统日志看到
May 31 15:37:07 【frp】: 2019/05/31 07:37:07 ^[[1;34m[I] [control.go:144] [web] start proxy success^[[0m说明已经完成客户端配置

12.正常情况下就可以通过 subdomain+ 上面的server_addr + remote_port 访问路由器了(确保subdomain+ 上面的server_addr 域名已经解析到自己的服务器了

13.是不是觉得自己通过自己的域名+端口号 这样访问路由器太长了呢,也不好记忆;这里介绍个技术,叫做反向代理

如果你用的服务器web管理面板和我一样是宝塔的话,就前往,网站==>添加站点==>
域名填写上的 subdomain+ 上面的server_addr 例如 my.router
Ftp和数据库和什么PHP什么都默认不填写,然后点击提交
然后就添加成功了
在当前页面点击 网站域名,会有个网页弹窗出来
然后找到 反向代理==>点击添加反向代理
代理名称内容替换随意填写
具体填写样式看下图
frp_5.png
14.添加完成后,就会发现无需端口号,就可以直接访问了,建议安卓用户搭配啪嗒路由器APP配合使用


最后

有问题,可以在下方留言;关于openwrt固件的frp方法,我会尽快更新在我的博客内;本文借鉴于互联网和恩山论坛等论坛学习而成,https协议访问路由器也将尽快更新,敬请期待

今天是六一儿童节祝各位小伙伴们永远像个小孩子一样开开心心的

Last modification:2019 年 06 月 01 日 12 : 18 : 39
如果觉得我的文章对你有用,请随意赞赏

One comment

  1. 妙文屋

    写的很好,支持一下

Leave a Comment