内网穿透搭建之frp篇

需求场景

  • 需要在局域网外连接局域网内的机器;简单说就是你在家搭建了一个服务器,但是又没有公网ip,还想在家以外的网络环境下访问家里的服务器,那么实现这个需求的其中一个技术就叫内网穿透

必要的搭建环境

  1. 服务端:一台网络还可以的,公网服务器(重要的是它有公网IP),随便什么垃圾配置的套路云都可以
  2. 客户端:内网准备一台服务器

我的搭建环境

  1. 服务端:一台套路云的云服务器
  2. 客户端:内网一台服务器centos7.6

为什么选择frp

因为frp搭建足够简单,不需要过多的定制化,开箱简单配置即用

搭建步骤

  • frps (frp-server)是frp 软件的服务端,部署在公网的云服务器上
  • frpc (frp-client)是frp 软件的客户端,部署在内网的服务器上

服务端搭建

准备好frp应用文件

  1. 下载应用包,我两边都是centos ,所以我选择 [frp_0.43.0_linux_amd64.tar.gz],选什么根据你的硬件规格和系统位数
# 下载地址
https://github.com/fatedier/frp/releases
# 压缩包内容概述 里面有客户端和服务端的文件
  1. 将解压包放到指定位置
# 创建目标目录
[root@localhost ~]# cd /usr/
[root@localhost usr]# mkdir -p apps/frp
[root@localhost usr]# cd apps/frp/
[root@localhost frp]# pwd
/usr/apps/frp
# 将下载的压缩包传到新创建的应用目录下(/usr/apps/frp)
[root@localhost frp]# ll
总用量 9368
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
[root@localhost frp]# tar -zxvf frp_0.43.0_linux_amd64.tar.gz
frp_0.43.0_linux_amd64/
frp_0.43.0_linux_amd64/frpc_full.ini
frp_0.43.0_linux_amd64/frpc.ini
frp_0.43.0_linux_amd64/frps_full.ini
frp_0.43.0_linux_amd64/LICENSE
frp_0.43.0_linux_amd64/frpc
frp_0.43.0_linux_amd64/frps
frp_0.43.0_linux_amd64/frps.ini
[root@localhost frp]# ll
总用量 9368
drwxr-xr-x. 2 1001  121     119 5月  27 16:35 frp_0.43.0_linux_amd64
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
[root@localhost frp]# mv -i frp_0.43.0_linux_amd64 frp-server
  1. 配置frpserver
[root@localhost frp]# ll
总用量 9368
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
drwxr-xr-x. 2 1001  121     119 5月  27 16:35 frp-server
# 进入frp-server文件夹编辑frps启动配置文件,删除无用文件
[root@localhost frp-server]# ll
总用量 24424
# 客户端应用文件-这里是服务端不需要此文件删除
-rwxr-xr-x. 1 1001 121 10936320 5月  27 16:31 frpc
# 客户端应用配置文件-这里是服务端不需要此文件删除
-rw-r--r--. 1 1001 121    10934 5月  27 16:35 frpc_full.ini
-rw-r--r--. 1 1001 121      126 5月  27 16:35 frpc.ini
# 服务端应用文件-不需要改变
-rwxr-xr-x. 1 1001 121 14032896 5月  27 16:31 frps
# 服务端应用配置文件-只需要更改frps.ini文件即可
-rw-r--r--. 1 1001 121     5560 5月  27 16:35 frps_full.ini
-rw-r--r--. 1 1001 121       26 5月  27 16:35 frps.ini
# 版权声明文件-有兴趣可以看看
-rw-r--r--. 1 1001 121    11358 5月  27 16:35 LICENSE
# 配置客户端访问端口,配置服务端客户端交互token,配置dashboard信息
[root@localhost frp-server]# vi frps.ini
[common]
# 客户端访问地址的端口
bind_port = 7777

# 服务端客户端交互token
token = 设置个难的长的token
# 服务端web界面
dashboard_user = 用户名
dashboard_pwd =密码
dashboard_port = 7778
# 按esc 输入:wq保存退出文件
  1. 配置frpserver端systemd,使用systemctl管理frpserver应用
# 创建service服务文件
[root@localhost frp-server]# cd /etc/systemd/system/
[root@localhost system]# > frps.service
[root@localhost system]# vi frps.service
[Unit]
Description=frps daemon port-7777 dashboard_port-7778
After=syslog.target  network.target
Wants=network.target
 
[Service]
Type=simple
# 取自己的frp具体存放路径(绝对路径),前面是应用文件,后面是配置文件
ExecStart=/usr/apps/frps/frp-server/frps -c /usr/apps/frps/frp-server/frps.ini
 
[Install]
WantedBy=multi-user.target
# 设置服务开启启动
systemctl enable frps.service
# 启动服务并查看日志
systemctl start frps.service && journalctl -f -n 50 -u frps.service

客户端搭建

准备好frp应用文件

  1. 下载应用包,我两边都是centos ,所以我选择 [frp_0.43.0_linux_amd64.tar.gz],选什么根据你的硬件规格和系统位数
# 下载地址
https://github.com/fatedier/frp/releases
  1. 将解压包放到指定位置
# 创建目标目录
[root@localhost ~]# cd /usr/
[root@localhost usr]# mkdir -p apps/frp
[root@localhost usr]# cd apps/frp/
[root@localhost frp]# pwd
/usr/apps/frp
# 将下载的压缩包传到新创建的应用目录下(/usr/apps/frp)
[root@localhost frp]# ll
总用量 9368
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
[root@localhost frp]# tar -zxvf frp_0.43.0_linux_amd64.tar.gz
frp_0.43.0_linux_amd64/
frp_0.43.0_linux_amd64/frpc_full.ini
frp_0.43.0_linux_amd64/frpc.ini
frp_0.43.0_linux_amd64/frps_full.ini
frp_0.43.0_linux_amd64/LICENSE
frp_0.43.0_linux_amd64/frpc
frp_0.43.0_linux_amd64/frps
frp_0.43.0_linux_amd64/frps.ini
[root@localhost frp]# ll
总用量 9368
drwxr-xr-x. 2 1001  121     119 5月  27 16:35 frp_0.43.0_linux_amd64
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
[root@localhost frp]# mv -i frp_0.43.0_linux_amd64 frp-client
  1. 配置frpserver
[root@localhost frp]# ll
总用量 9368
-rw-r--r--. 1 root root 9590818 7月   2 20:10 frp_0.43.0_linux_amd64.tar.gz
drwxr-xr-x. 2 1001  121     119 5月  27 16:35 frp-client
# 进入frp-client文件夹编辑frps启动配置文件,删除无用文件
[root@localhost frp-client]# ll
总用量 24424
# 客户端应用文件-不需要改变
-rwxr-xr-x. 1 1001 121 10936320 5月  27 16:31 frpc
# 客户端应用配置文件-只需要更改frpc.ini文件即可
-rw-r--r--. 1 1001 121    10934 5月  27 16:35 frpc_full.ini
-rw-r--r--. 1 1001 121      126 5月  27 16:35 frpc.ini
# 服务端应用文件-这里是客户端不需要此文件删除
-rwxr-xr-x. 1 1001 121 14032896 5月  27 16:31 frps
# 服务端应用配置文件-这里是客户端不需要此文件删除
-rw-r--r--. 1 1001 121     5560 5月  27 16:35 frps_full.ini
-rw-r--r--. 1 1001 121       26 5月  27 16:35 frps.ini
# 版权声明文件-有兴趣可以看看
-rw-r--r--. 1 1001 121    11358 5月  27 16:35 LICENSE
# 配置客户端访问端口,配置服务端客户端交互token,配置dashboard信息
[root@localhost frp-client]# vi frpc.ini
[common]
# 服务端公网ip的地址 或者域名
server_addr = 1.1.1.1
# 服务端应用访问端口
server_port = 7777

token = 要跟服务端配置好的一样哦

[ssh]
# 将ssh登录内网穿透,我们在局域网外就能访问内网服务器了
type = tcp
local_ip = 127.0.0.1
local_port = 22
# 服务端代理端口:意思就是服务端的6666端口和被我们客户端的22端口关联了
remote_port = 6666
# 按esc 输入:wq保存退出文件
  1. 配置frpclient端systemd,使用systemctl管理frpclient应用
# 创建service服务文件
[root@localhost frp-client]# cd /etc/systemd/system/
[root@localhost system]# > frpc.service
[root@localhost system]# vi frpc.service
[Unit]
Description=frp server port-7777 
After=syslog.target  network.target
Wants=network.target
 
[Service]
Type=simple
# 取自己的frp具体存放路径(绝对路径),前面是应用文件,后面是配置文件
ExecStart=/usr/apps/frp/frp-client/frpc -c /usr/apps/frp/frp-client/frpc.ini
 
[Install]
WantedBy=multi-user.target

# 设置服务开启启动
systemctl enable frpc.service
# 启动服务并查看日志
systemctl start frpc.service && journalctl -f -n 50 -u frpc.service

验证

验证dashboard

  • 浏览器输入,出现登录页面,按照自己在frps.ini里面配置的信息进行登录
# 服务端公网IP地址+自己设置的端口号
http://1.1.1.1:7778

验证内网穿透是否成功

  • 在ssh软件里比如putty,用frps公网IP,ssh端口为:6666直接登录,登录成功则证明内网穿透搭建成功
  • 在dashboard里查看自己的客户端连接信息,根据自己设置的协议,就能看到在线的设备

其他注意事项

  • 注意查看自己云服务器平台的网络规则设置,放开对应的端口
  • 注意查看自己云服务器的防火墙设置,放开对应的端口

你可能感兴趣的:(内网穿透搭建之frp篇)