目录
〇、使用情景拓扑及资料参考
1、需求情景
家庭内网,无公网ip,外网访问家里内网内容,如群晖nas、家庭影音。。。
租用一个有公网ip的云端服务器,如:14.215.177.44
2、拓扑结构
3、参考资料:
GitHub中文文档:文档 | frp (gofrp.org)
一、Linux搭建FRP服务
我因为有个树莓派的3代开发板,刚好也有个公网ip,于是用树莓派搭个FRP服务器
A、树莓派Linux系统安装
树莓派官网下载地址:http://www.raspberrypi.org/downloads(可下载最新的 Raspbian 树莓派系统) ;树莓派官方论坛地址:http://www.raspberrypi.org/phpBB3/ ;
1. 插上 SD 卡到电脑,使用SDFormatter.exe格式化 SD 卡:
2. 用Win32DiskImager.exe 点击“Write”给SD卡写入镜像, 写完后把 SD 卡插入树莓派即可运行:
3.装机后我们配置的树莓派系统的 pi 用户密码默认为 raspberry ,root 权限密码为 raspberry
B、Linux系统相关配置
1、初次登陆linux,做一些简单配置:
先开启DHCP,拿到ip后再更新
pi@raspberrypi:~$ sudo -i ##切换root
root@raspberrypi:~# raspi-config ##打开简易配置界面
更新一下Linux系统:
harliam@raspberrypi:~$ sudo -i ##切换root
root@raspberrypi:~# apt-get update ##更新命令
开启ssh
root@raspberrypi:~# raspi-config
配置公网固定ip
root@raspberrypi:~# nano /etc/dhcpcd.conf ##打开并编辑DHCP配置文件;
在最底下添加输入网络ip信息:
interface eth0
static ip_address=14.215.177.44/29
static routers=14.215.177.46
static domain_name_servers=114.114.114.114
然后保存退出,重启一下Linux系统;
更改ssh默认端口,我的把默认22端口改为2222端口,注意把前面的#号去掉
root@raspberrypi:~# nano /etc/ssh/sshd_config ##更改SSH配置文件,把默认22端口更改为2222;
C、FRP服务端下载及配置
1、根据自己的服务器硬件及系统版本下载FRPS:
root@raspberrypi:~# wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_arm64.tar.gz
2、解压下载号的压缩文件:
root@raspberrypi:~# mkdir frps ##root文件夹下创建一个frps的目录
root@raspberrypi:~# tar -zxvf frp_0.44.0_linux_arm64.tar.gz /root/frps/ ##解压frp文件
使用文本编辑器,如 nano
创建并编辑 frps.service
文件:
nano /etc/systemd/system/frps.service
3、创建frps服务写入内容:
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini ##注意这里路径要根据自己frp文件存放位置定[Install]
WantedBy = multi-user.target
4、使用 systemd 命令,管理 frps。
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
#配置 frps 开机自启
systemctl enable frps
5、frps配置文件(刚配置的服务器ip为:14.215.177.44):
[common]
bind_port = 7000
bind_addr = 0.0.0.0
authentication_method = token
token = abcd1234dashboard_port = 8001
dashboard_user = admin
dashboard_pwd = 12345678vhost_http_port = 8800
vhost_https_port =8899
二、配置FRP客户端
1、FRP客户端安装及配置
[common]
server_addr = 14.215.177.44
server_port = 7000
authentication_method = token
token = abcd1234##上面这一段是为了跟frp服务器相连接
[DSM WEB]
type = https
local_port = 8899
custom_domains = nas.abcd.com[RDP_WIN]
type = tcp
local_ip = 192.168.3.5
local_port = 8888
remote_port = 8888
custom_domains = win.abcd.com[OpenWRT WEB]
type = http
local_ip = 192.168.3.1
local_port = 80
custom_domains = op.abcd.com[LXQT WEB]
type = http
local_port = 8811
custom_domains = nas.abcd.com[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2233[ESXI WEB]
type = https
local_ip = 192.168.3.99
local_port = 443
custom_domains = esxi.abcd.com