用FRP访问家里的内网设备

点击数:124

这段时间给家里添了一些设备,比如R2S,贝壳云。笔者家里的网络是移动线路,俗称墙中墙大内外,公网IP肯定是没有的,那么如何访问家里的路由器、小钢炮,来实现远程配置路由器、远程下载呢?经过研究发现一个好用的工具叫做FRP,它是一个开源项目,官网地址是https://github.com/fatedier/frp。部署FRP需要需要一个有公网IP的VPS作为中转服务器,还需要再家里的路由器上安装FRP客户端。刚好我之前撸的阿里云免费一年的服务器除了搭建本博客外,还可以用来做FRP内网穿透,虽然带宽只有1M但也够用了。

一、服务器端部署

1,在frp的release页面选择适合自己vps的安装包,比如的是linux 64位,SSH登录VPS后

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

tar -zxvf frp_0.32.0_linux_amd64.tar.gz

mv frp_0.32.0_linux_amd64 frp

cd frp

vi frps.ini  按i编辑输入以下内容

[common]
bind_port = 7000
token = password #设置自己的密码

按ESC 输入:wq退出,输入以下命令看是否能正常启动
./frps -c ./frps.ini
按ctrl + c可以退出运行

2,进入自己的vps管理台,设置防火墙放开7000端口

3,设置frps为系统服务并默认随系统启动

首先创建一个frps.service文件

vi /lib/systemd/system/frps.service

复制以下内容到文件

[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini #此处安实际情况修改

[Install]
WantedBy=multi-user.target

退出保存后,输入命令启动服务

systemctl start frps

systemctl enable frps

这时可以输入命令看服务是否启动了

ps auxw

二、客户端设置

由于我的R2S的固件已经默认安装好了FPR客户端,因此无需再额外配置frpc,直接在路由器管理界面设置好VPS的IP和配置好的管理端口就可以了。《用FRP访问家里的内网设备》

设置好保存运行后,就可以在服务列表里添加服务了。首先设置VPS访问的端口,这里可以随意设置但最好和内外的端口一致,比如1234,然后选择需要映射的内外设备的IP和端口。需要注意的是VPS的防火墙一定要开放此端口。

《用FRP访问家里的内网设备》

配置好后就可以在浏览器输入:  VPS的IP:1234 访问内网的服务了。

如果客户端没有安装frp,其实安装步骤和服务器配置是一致的,只不过服务器端运行的frps,客户端运行frpc。

客户端运行服务创建:vi /lib/systemd/system/frpc.service

添加以下内容:
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini #此处安实际情况修改

[Install]
WantedBy=multi-user.target

 

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注