使用frp搭建内网穿透服务

Reading time ~1 minute

1. 什么是frp

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp,udp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。实际上frp的官方中文文档里面已经有比较详细的教程了,这里只是对具体的环境进行内网穿透,达到在外网可以通过ssh连接到内网的服务器。

2. 准备

  1. 一台有公网IP的VPS主机
  2. 内网服务器(我使用的是树莓派)

3. 开始使用

3.1 服务端(外网主机)

1.根据操作系统可以在官网GitHub的Release页面找到相应的版本下载(我这里是CentOS7的系统,所以选择amd64的版本)。

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

2.解压

tar -zxvf frp_0.14.0_linux_amd64.tar.gz
cd frp_0.14.0_linux_amd64

# 外网主机作为服务端,可以删掉不必要的客户端文件
rm frpc
rm frpc.ini

3.frps.ini为服务端的配置文件,在默认的配置文件里已经有相关的配置了

执行 vim frps.ini配置如下

[common]
bind_port = 7000

[common]为必须的配置,bind_port为绑定frp的服务端端口,如果需要修改,则可以进行修改。

保存配置文件

4.后台启动服务nohup ./frps -c ./frps.ini &

3.2 内网主机(树莓派)

1.我这里使用的是树莓派,所以下载的是arm的版本,如果是其他的操作系统,请下载相应的其它版本。

wget https://github.com/fatedier/frp/releases/download/v0.14.0/frp_0.14.0_linux_arm.tar.gz

2.解压

tar -zxvf frp_0.14.0_linux_arm.tar.gz
cd frp_0.14.0_linux_arm

# 内网的刻画端,就可以删掉不必要的服务端的文件
rm frps
rm frps.ini

3.执行 vim frpc.ini配置如下

[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[common]中的server_addr填frp服务端的ip(也就是外网主机的IP),server_port填frp服务端的bind_prot

[ssh]中为本地的配置,local_port是本地的ssh端口,remote_port为服务端监听的端口

4.后台启动服务nohup ./frpc -c ./frpc.ini &

4. 设置开机启动

vim /etc/systemd/system/frps.service新建此文件,并写入以下内容

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/pi/Developer/frp_0.14.0_linux_arm/frpc -c /home/pi/Developer/frp_0.14.0_linux_arm/frpc.ini
Restart= always
RestartSec=1min
ExecStop=/usr/bin/killall frpc

[Install]
WantedBy=multi-user.target

启动并设为开机自启。

$ sudo systemctl start frps
$ sudo systemctl enable frps

5. 连接

通过 ssh 访问内网机器,假设用户名为 test: ssh -oPort=6000 test@x.x.x.x

6. 参考资料

转载请注明出处:
文章地址: 使用frp搭建内网穿透服务
作者: mraxu

Linux 使用nmtui修改主机名以及IP

## 步骤1.修改主机名 1. 终端里输入**nmtui** ![image](https://i.imgur.com/EhSXKYK.png) 2. 选择`Set system hostname`![image](https://vgy.me/G417qh.png) 3....… Continue reading

Linux 创建LVM卷并挂载使用

Published on July 04, 2019

Linux DHCP 学习笔记

Published on July 04, 2019