使用frp搭建内网穿透

起因

前段时间花了点钱买了台星际蜗牛当NAS使,内网用起来还是挺爽的,内网千兆传输速度还是很快的。

也是因为上面存了点东西,想在外面访问NAS的时候却没办法了,就想搞个内网穿透,这样在外面也能访问到我在局域网内的NAS了。

因为我这里网络环境比较特殊,路由器外面还有一台天翼网关,没办法获取到公网的IP,也就意味着不能使用DDNS,就只能另辟蹊径了。

于是我便找到了frp,使用frp的前提是你有一台拥有公网IP的服务器,我阿里云的学生机还有挺长时间到期的。
(下文文件路径有所修改,图片未替换,请以文字为准)

搭建内网穿透

为了方便,下文将我的服务器称为Server,局域网的NAS就称为NAS

首先我们需要在这两台设备上都下载frphttps://github.com/fatedier/frp/releases
根据自己的硬件下载对应的文件。

我的两台设备都是centos 64位的,所以我下载的是 frp_0.33.0_linux_amd64.tar.gz

下载文件

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

下载完成后解压,执行命令

tar -xzvf frp_0.33.0_linux_amd64.tar.gz

进入解压后的文件夹

cd frp_0.33.0_linux_amd64

在这里插入图片描述
接下来的操作在Server和NAS上有所区别,请注意哦。

Server(服务端)需要的文件是frps,NAS(客户端)需要的文件是frpc。

配置Server(服务端)

只需要保留frpsfrps.ini文件即可,为了方便操作,将其移动到指定位置,移动文件操作非必须。

mkdir /etc/frp
mv frps /usr/bin/frp/
mv frps.ini /etc/frp/
cd /etc/frp/

然后编辑配置文件

vi /etc/frp/frps.ini

编辑配置文件

# frps.ini
[common]
#监听端口,客户端通过此端口连接服务器
bind_port = 7000
#token口令 可选
token=token

启动服务端

frps -c /etc/frp/frps.ini

服务端启动成功

配置NAS(客户端)

同样将需要的文件拷贝至指定目录

mkdir /etc/frp/
mv frpc /usr/bin/frp/
mv frpc.ini /etc/frp/
cd /etc/frp/
vi frpc.ini

编辑配置文件

重点来啦!
frpc配置按照端口划分,每一个端口对应每一节配置。
假设我需要通过服务器远程连接到我的NAS,需要将NAS的本地22端口映射到服务器上,此时需要指定一个服务器上的端口,这里设置为6000

# frpc.ini
[common]
server_addr=你的服务器公网IP
#server_port与服务器上设置一致
server_port=7000
# 如设置了token 此处也需要配置
token=token

[ssh]
# 本地端口
local_port=22
# 服务器端口 如不设置默认与本地端口一致
remote_port=6000

如此一来ssh的配置就完成了。
启动客户端连接服务器

.frpc -c /etc/frp/frpc.ini

启动成功并成功连接到服务器
此时尝试在我的windows上进行连接.

打开cmd

ssh -oPort=6000 root@服务器IP

在这里插入图片描述
此处的-oPort即是frpc.ini中配置的remote_port

其他配置同理,如,我在本地的nas中搭建了aria2,开启了rpc,我希望能通过浏览器插件ariaNg连接到NAS上的aria2,添加配置

[jsonp]
local_port=6800
remote_port=6801

再次启动即可

然后通过插件连接到服务器的6801端口

在这里插入图片描述
在这里插入图片描述
已经成功连接。

最后提醒一下,不要忘记开启服务器安全组的端口!

开机自启动

这里推荐使用systemctl控制启动,这个方法非常方便
服务端为例,找到之前下载frp解压出来的文件夹,进入其中的systemd目录

在这里插入图片描述

将frps.service拷贝至 /lib/systemd/system/下并编辑
服务端拷贝frps.service,客户端拷贝frpc.service

cp frps.service /lib/systemd/system/
cd /lib/systemd/system/
vi frps.service

如果ExecStart的路径无法对应上就需要修改

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

然后使用systemctl启动服务

systemctl start frps.service
systemctl status frps.service

在这里插入图片描述
设置开机自启动

systemctl enable frps.serivce

客户端同理,就不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值